Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Taskbar widget to view currently selected virtual desktop #3737

Open
Beej126 opened this issue May 26, 2020 · 10 comments
Open

Taskbar widget to view currently selected virtual desktop #3737

Beej126 opened this issue May 26, 2020 · 10 comments
Labels
Idea-Enhancement New feature or request on an existing product Product-Virtual Desktop Refers to the idea of an Improved Virtual Desktop power toys

Comments

@Beej126
Copy link

Beej126 commented May 26, 2020

Taskbar widget to view currently selected virtual desktop

(First off, THANK YOU for these tools! FancyZones, etc, are great for workflow)

It doesn't seem we have a native Windows feature to see which virtual desktop we're on at a glance.
A taskbar "toolbar" aka DeskBand lends itself well since it remains consistent while the desktops shuffle.

It's particularly compelling now that we can name virtual desktops in Win10 20-04, yay! =)

Proposed technical implementation details

I've implemented a rough working example here and am already pleased with the workflow enhancement it provides.

@enricogior enricogior added Idea-Enhancement New feature or request on an existing product Product-Virtual Desktop Refers to the idea of an Improved Virtual Desktop power toys labels May 26, 2020
@enricogior
Copy link
Contributor

Hi @Beej126
thank you for the interest in the project.
Regarding Virtual Desktop tools, we are waiting to have public APIs for the current undocumented system APIs. Until then, we are not allowed to release code that uses undocumented APIs.
That is unfortunate, but not something under our direct control.
I hope you understand.

@Beej126
Copy link
Author

Beej126 commented May 26, 2020

oh ok, thanks... makes sense of course... didn't realize they were undocumented =)
shall we keep this open till then?
is there somewhere we can track that or otherwise request, like devcomm or something?

@enricogior
Copy link
Contributor

We can keep the issue open.
If I have updates on the public APIs I'll let you know.

@Firehawke
Copy link

I'm just going to aside that implementing something like VDesk in Powertoys (accessible from keybinds as well as scriptable through the command line) would make the virtual desktops a lot more useful in general.

@enricogior enricogior changed the title New Module: Virtual Desktop "Manager" (working sample provided) Virtual Desktop "Manager" (working sample provided) Mar 23, 2021
@enricogior enricogior changed the title Virtual Desktop "Manager" (working sample provided) Virtual Desktop Manager May 17, 2021
@Beej126 Beej126 changed the title Virtual Desktop Manager Taskbar widget to view currently selected virtual desktop Jul 31, 2021
@Beej126
Copy link
Author

Beej126 commented Jul 31, 2021

Win11 being imminent prompted me to take a fresh look around ...
still not seeing these interfaces officially documented.

i believe this is where we should expect to see them:
https://docs.microsoft.com/en-us/windows/win32/api/shobjidl_core/nn-shobjidl_core-ivirtualdesktopmanager

looking for:

  • IVirtualDesktop
  • IVirtualDesktopManagerInternal
  • IVirtualDesktopNotification
  • IVirtualDesktopNotificationService

Grabacr07/VirtualDesktop is a good C# wrapper reference implementation.

@Beej126
Copy link
Author

Beej126 commented Aug 11, 2021

Loaded Win11 beta (Version 21H2 Build 22000.100) and poking around, looks like DeskBands are no longer supported.
Also referred to as: ToolBars in the TaskBar area, IDeskband Shell extensions.
https://docs.microsoft.com/en-us/windows/win32/shell/band-objects
if you're motivated to lobby them back =) this feedback hub link seems to be getting the most upvotes: https://aka.ms/AAd4ckc

@tanzil114
Copy link

Hi, all! I have a question. Aren't these documented APIs available for use? Why can't we use them?
https://docs.microsoft.com/en-us/windows/win32/api/shobjidl_core/nn-shobjidl_core-ivirtualdesktopmanager

@Beej126
Copy link
Author

Beej126 commented Nov 18, 2021

Hi, all! I have a question. Aren't these documented APIs available for use? Why can't we use them? https://docs.microsoft.com/en-us/windows/win32/api/shobjidl_core/nn-shobjidl_core-ivirtualdesktopmanager

i just re-checked that page and the ones i listed above don't appear to be doc'd yet (e.g. IVirtualDesktopNotification)... are you seeing something different?

@GuimLe
Copy link

GuimLe commented Oct 5, 2022

Hi,
I don't know if it can help but SylphyHornPlusWin11 is not that far from what's expected here. Implementation is not perfect because of the used library I think but it could be a good inspiration.

@Beej126
Copy link
Author

Beej126 commented Oct 5, 2022

@GuimLe - thanks for sharing, SlyphyHorn looks nicely done.

i'm still mourning the loss of DeskBands in Win11 😿... it was a nice space to innovate... the Taskbar is the one slice of UI that naturally stays put between vdesktop transitions and therefore the perfect place for a little vdesk management widget ... i feel like the one insane guy in the whole universe that sees the beauty 😕... attaching gif movie of my prototype project in case anybody is wondering what i really mean...

but hold the phone! i've been using StartAllBack for a few weeks now and it's obviously hacking around but it's been totally stable for me even after up'ing to Win11 22H2, and i'm pretty sure it restores the Deskband features while otherwise providing a great Win11 style taskbar... sure enough, this media controls sample app installs in seconds and while it's UX doesn't really work for me, the deskband portion actually displays on Win11+StartAllBack!! 😲 ... funny thing, since i left the corporate cell where i was forced to multitask so much, my interest in vdesks has waned... still, would be fun to update my project to .net 6 and make it install as easily as this one

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Idea-Enhancement New feature or request on an existing product Product-Virtual Desktop Refers to the idea of an Improved Virtual Desktop power toys
Projects
Status: No status
Development

No branches or pull requests

5 participants