LGUG2Z / komorebi

A tiling window manager for Windows 🍉
https://lgug2z.github.io/komorebi/
Other
9.64k stars 200 forks source link

[FEAT]: Windows Virtual Desktop Support #505

Closed pulleee closed 6 months ago

pulleee commented 1 year ago

As windows already supports Virtual Desktops - it would be nice to have komorebi work on these too.

LGUG2Z commented 1 year ago

Unfortunately this is up to the Windows team.

If/when Microsoft reverses their position (https://devblogs.microsoft.com/oldnewthing/20201123-00/?p=104476) and adds a complete API for VD to Win32, I can look into adding support.

Regarding reverse engineered APIs for VDs that you may have seen elsewhere; these frequently break with Windows updates and are not stable enough to include in this codebase.

btvoidx commented 1 year ago

I have found this Powershell module https://github.com/MScholtes/PSVirtualDesktop, which would allow to switch desktops via whkd. I am yet to set it up and try, but it may work.

I've been using FancyWM lately due to it not implementing workspaces by itself and just using virtual desktops, (which works wonderfully with fullscreen apps and games!) but I find its lack of automatic BSP layout very unappealing.

Really hoping Microsoft or @LGUG2Z change their mind about Virtual Desktops (whoever does it first, I don't really care as a consumer). Thank you so much for all work on komorebi, it's awesome!

tommdq commented 10 months ago

Any updates on this? I'm new to komorebi but so used to windows virtual desktops, I'm not able to make komorebi work in more than one virtual desktop!

LGUG2Z commented 10 months ago

This will forever remain an issue that needs to be resolved by the multi trillion dollar company, not a single unemployed solo dev. 😅

If anyone wants to see movement on this, I suggest reaching out to people who work on the Windows desktop team(s) at Microsoft, especially product managers, about exposing a fully functional and stable VD API in Win32.

LGUG2Z commented 9 months ago

I have made an video explaining why Virtual Desktops support will likely not be feasible for the foreseeable future: https://www.youtube.com/watch?v=2_daNZl5Rw0

LGUG2Z commented 6 months ago

Closing this out as there is nothing to be done; this can be re-opened if any of you notice that the Win32 has been updated to allow people to build on top of VDs.

rp1231 commented 6 months ago

https://github.com/FuPeiJiang/VD.ahk Found this ahk library for virtual desktops, Posting it here just in case it's useful.

rp1231 commented 6 months ago

Also found this app https://github.com/Grabacr07/SylphyHorn?tab=readme-ov-file Which uses global windows hooks to transport a window from one virtual desktop to another. This is the blog where this is mentioned https://grabacr-net.translate.goog/archives/5701?_x_tr_sch=http&_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en-US&_x_tr_pto=wapp

LGUG2Z commented 6 months ago

Unfortunately these both suffer from the same issues I discussed here: https://www.youtube.com/watch?v=2_daNZl5Rw0

Let's keep updates to this thread to updates to the Win32 API, because whatever new or old applications people find interacting with virtual desktops will all have the same fundamental problem of unstable com interfaces that regularly break across even small Windows Updates.