Comments (24)
@Bureaucromancer Your suspicions about why I open-sourced this are wrong. I'd say it was a mix of negative reviews on the MS Store regarding the closed-sourceness (which were entitled, but I caved in), and genuine hope that I will get some help for some of the features that I know I will never prioritise, as I won't benefit from them.
@mgazda Thank you for your PR 🥇! I really appreciate it, and it is the first PR to be merged to this project.
That being said, I am not on the version targeted by the PR, and have not tested. To clarify for everyone in the discussion, Microsoft provides no public virtual desktop API. There is an internal API which FancyWM tries to use, but it changes every few versions, and even more aggresively now with Windows 11. Any change will break FancyWM's ability to interact with virtual desktops.
I think the best way to address the problem, is to:
- Ask Microsoft to implement a public Virtual Desktop API
- Remove support from FancyWM until that is done, or at least, allow the warning to be disabled.
There's a new release with the PR on available on GitHub. My plan for the Microsoft Store is to pull the app down as it is a massive pain to maintain it there.
from fancywm.
I think I've managed to fix this.
There was a change in GUIDs of the interfaces used by underlying library (winman-windows).
I've already submitted a pull request, but until then, feel free to use the branch with fix, which I have on my fork.
from fancywm.
Well, I'm not a C# expert either, but when I was able to reproduce the issue, it was a little bit of debugging to figure out that there is and issue with getting IComVirtualDesktopManagerInternal interface with GUID.
Luckily, there was already mechanism that choose the right GUID based on Windows build number. It only needed the latest GUID added and chosen for the recent build numbers.
A little of googling, a bit of copy-pasting and it works :)
By the way, I created an Issue and a Pull Request in the WinMan-Windows repo. Hopefully @veselink1 will be able to merge it (or do a better job than I did) to fix it in the official version.
from fancywm.
I think this issue shouldn't be closed until the fix landed in the main repo.
from fancywm.
@Bureaucromancer I wouldn't be so quick to judge. It's frustrating as a user for sure, but it's a one man show. Also, afaik, the app as been free to compile on GitHub for years. It's not uncommon.
Also, I'm going to link #197 since this issue was fixed once before, but it seems to keep cropping up as Window's updates keep breaking stuff.
from fancywm.
from fancywm.
Same
from fancywm.
I had the same issue. Out of curiosity, I downloaded source code and built it, to see if I can debug it and find anything useful.
It turned out than when I run version built locally, the issue does not reproduce (neither in Debug nor Release) - both desktop switching and layouts work as intended.
I use it as a temporary workaround, until someone more familiar with the project (or C#) finds the root cause :)
from fancywm.
@mgazda How did you do it? Cause i try to compile it in locale with the Debug version and it comes with the same problem when i change between workspaces it deorganize. Also thanks a lot for replying
from fancywm.
@Kur0n3-112 have you cloned the repo or downloaded the source code zip?
I cloned repo (git clone --recursive https://github.com/FancyWM/fancywm.git
), installed dependencies that Visual Studio asked me to (.NET SDK 8.0.101), built the solution and it works...
from fancywm.
@mgazda yes i do that but no lucky i guess there is something i dont do fine, but no clue
from fancywm.
same
from fancywm.
The release preview is supposed to have fixed it, but the version uploaded appears to be the full release. #217
from fancywm.
I have built the project locally and even with the whole source code the error is still reproducible.
from fancywm.
I have built the project locally and even with the whole source code the error is still reproducible.
Anyone knows how to fix it somehow, in the code or something?
from fancywm.
@mgazda It works like a charm so much thanks you are a genius, i like to admit that i want to know how did you do it, cause i dont have so much idea about C#
from fancywm.
That is really great, thanks everyone for replaying.
from fancywm.
You are right @innocenat
from fancywm.
Well, I'm not a C# expert either, but when I was able to reproduce the issue, it was a little bit of debugging to figure out that there is and issue with getting IComVirtualDesktopManagerInternal interface with GUID.
Luckily, there was already mechanism that choose the right GUID based on Windows build number. It only needed the latest GUID added and chosen for the recent build numbers.
A little of googling, a bit of copy-pasting and it works :)
By the way, I created an Issue and a Pull Request in the WinMan-Windows repo. Hopefully @veselink1 will be able to merge it (or do a better job than I did) to fix it in the official version.
How do I use this fork in FancyWm?
from fancywm.
How do I use this fork in FancyWm?
Well, until the pull request is merged, you'd need to clone this FancyWM repository (or download source code), and replace contents of winman-windows
folder with contents of build23H2
branch of my fork. Then build and run.
If there is no update with the pull request soon, I'll try to fork the whole project and create a release that can be simply downloaded and run...
from fancywm.
I suspect thats the path this is going to have to go down… It’s a shame considering the original maintainer got this into the app store, but I rather suspect this was open sourced with the idea of getting away from maintaining it.
from fancywm.
I really hate this internal vDesktop API stuff, I know there's no real financial incentive for MS to stabilize and make it public, but I've seen it prevent other Windows WM projects from even touching VDs.
I was initially doubtful that a TWM in PT would get the UX "right" in the way that I like FWM's or Amethyst's, but the upside of a TWM plugin running into limitations of the VD API would be community noise about it might surface the issue to MS, which might improve the situation for everyone, including this project.
In any case, would 2 new settings be good for this project?
- Opt into "experimental native multiple desktop support"
- Ignore the supported version warning (or "only show me once per buggy version" or something)
from fancywm.
This issue is stale because it has been open for 14 days with no activity.
from fancywm.
This issue was closed because it has been inactive for 14 days since being marked as stale.
from fancywm.
Related Issues (20)
- Move window to desktop - functionality change HOT 1
- Capslock as activation key doesn't work as advertised HOT 3
- System.Runtime.InteropServices.COMException: Element not found. (0x8002802B (TYPE_E_ELEMENTNOTFOUND)) HOT 1
- Help popup sometimes overflows text
- Numpad keys (other than numbers) do not work.
- Allow option to specify number of pixels when changing the window size via keyboard shortcut. HOT 2
- Modification for Windows 11 24H2 (10.0.26100.0) x64 - I have no idea if this is useful for @veselink1
- How to hide the Panel Handle Bar: it blocks app windows
- Please Support Multiple Layouts HOT 1
- System.Runtime.InteropServices.COMException: Element not found. (0x8002802B (TYPE_E_ELEMENTNOTFOUND))
- Select default layout from adding or stack when new window is added
- System.Runtime.InteropServices.COMException: The group or resource is not in the correct state to perform the requested operation. (0x8007139F)
- System.ComponentModel.Win32Exception: Could not read the settings for monitor "\\.\DISPLAY1".
- Restrict to Display: launching an app causes its window to tile in an unwanted Display
- Setting a keybinding to <None> does not save
- Issues get closed prematurely
- FancyWM not compatible with Virtual Desktop Service (VDS) in Windows 11 24H2
- [Bug] Window Drag Misbehavior Across Virtual Desktops with "Alt + Drag" and "Auto Activate" Enabled
- System.NotImplementedException: The method or operation is not implemented.
- System.Runtime.InteropServices.COMException: The group or resource is not in the correct state to perform the requested operation. (0x8007139F)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fancywm.