FancyWM/fancywm

Many applications not affected by FancyWM

ariccb opened this issue ยท 20 comments

Describe the bug
The application works great for the windows that can interact with it, however, I have many applications that simply aren't being affected. Phone Link, Signal, Discord, Zoom, TickTick, Spark Email, Spotify are all the ones i've noticed so far that don't get affected.

Expected behavior
All windows within the operating system should be utilizing fancyWM, unless specifically placed in the exceptions list
Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: Windows 11,
  • Version [e.g. 20H2 64-bit]

Additional context
I am now using PowerToys FancyZones on my other monitor to manage the windows that don't work with FancyWM. This isn't an ideal workaround, as it's not dynamic at all. I want to be confident that the tool will work with every window that opens.

From your list I have only Spotify and Discord installed, but in my case both are affected by FancyWM. Don't you have some weird Rules set up in FancyWM settings?

Are there some log files or anything I can send you that would help you debug this?

What's strange for me is that I'd been using FWM for a while now with no issues and lots of love, except for occasional exceptions. Yet over the last couple weeks, some of those exact apps you'd mentioned almost completely stopped being managed by FancyWM.

I've observed that it only pertains to multi monitor usage -> if I disable multi-monitor, and then make sure to use all windows on the main monitor, fancyWM does seem to work, with the same prior exceptions occasionally.

However when I enable multi-monitor, fancy WM completely messes up for some reason, including with some other apps outside of your list.

Sometimes I've had luck using a bit of trickery where I will alternatingly mash:

  • fancyWM's features/shortcuts of moving windows to other monitors,
  • same, but to other virtual desktops,
  • Windows' native shortcuts for moving between monitors
  • and every so often alternating with FancyWM's toggle float mode

With those steps, sometimes, some of those applications will work.

If your issue, @ariccb, at all is pertaining to multi-monitor there might be something there.

If not, might be worth opening a different issue for my case, what do you think @veselink1? Any immediate ideas?

I've tried with fresh settings, restarting, admin/no admin, etc.

Applications have ranged between electron apps, chromium apps like opera gx, task manager, Windows settings, plus your list.

I can't help since I'm not a maintainer and I think that code is closed source. I just wanted to add mine observation. Anyway, I think only author can solve this however it seems that he is unavailable for a while at the moment. *I don't have multi-monitor setup, so that may be the cause.

@riotrah yes I think that's exactly the issue actually. I have an ultra wide monitor, and another 1080p monitor rotated portrait. When I think about it, all of the programs that are not being handled by fancyWM are ones I tend to have by default on that secondary monitor, so maybe that is causing some of the issues.

@riotrah yes I think that's exactly the issue actually. I have an ultra wide monitor, and another 1080p monitor rotated portrait. When I think about it, all of the programs that are not being handled by fancyWM are ones I tend to have by default on that secondary monitor, so maybe that is causing some of the issues.

I think you are on the right explanation. I have the same problem and it quite always triggers when apps are on the dual monitor.

@danymat I've tried restarting my computer with my monitors unplugged, and I still wasn't able to get FancyWM to control my applications. In fact, where before I had Firefox being managed automatically, now it's not responding to FancyWM either. I've tried lots of different window managers, and FancyWM is my favourite in terms of UI mixed with features like stacking, but I can't use it at all if it's not controlling some windows, because it just makes the few windows it DOES control full screen, and hides the others behind it. This needs to be fixed ASAP!

Well, I'm not sure I'm totally in the "ASAP" boat as the app costs very little (in US terms I acknowledge), is powered by open source libs by the author, and is still, when it works, one of or the best WMs on Windows. Definitely the only one that supports native virtual desktops.

And I'm not sure what the other more pressing bugs might be, but I conjecture that the situation in Russia might make things difficult for @veselink1 in the meantime!

Though I certainly wouldn't mind a fix soon lol.

Actually now that I've mentioned it, do the rest of you in this thread also use native virtual desktops? Wondering if the constantly breaking windows API for them might be messing with multi monitor setups somehow

I think I found the culprit! @riotrah, your mention of virtual desktops had me thinking about what applications I usually want/and have set to show up on all my virtual desktops, and sure enough I have several windows/applications set to be shown on all desktops. When I press Win+Tab, and right click one of my windows, all of the ones that are set to "Show this window on all desktops" don't get caught and controlled by FancyWM. I don't know if that's a bug or by design, but when I turn that setting off, right away the application start being controlled by FancyWM again! Yay!
Hopefully this helps anyone else dealing with the same issue.
TinyTake_08-12-2022-10-12-07

Ah dang I'm glad that worked for you!

I don't use vdesktop pinning at all myself I'm afraid. Or at least I don't think so. When I get back to my PC I'm gonna try and see if I've accidentally done so.

However, a lot of my daily use apps would have to have been pinned somehow without actually being pinned (I'd have noticed I imagine) and done so accidentally. So I don't think that's it in my case. Oh well!

I'll keep testing things to see if I can find any other reasons why certain programs would be excluded. Give us an update if you find anything as well!
@riotrah is there a chance you haven't allowed FancyWM to be run as administrator? That certainly effects some of my programs to be ignored if I don't have that setting checked off as enabled in FancyWM's settings.

Alas I only run FWM as admin, though I've tested this issue without as well just in hopes. No dice either way!

Issue still persists, and is the greater threat to this project, as it disables the features and bring inconsistencies when using external monitors.
From experience, i saw that some apps are more easily managed (such as Firefox), than others (such as Obsidian). Something to look into Electron apps ?

I'm just raising more question that answers, for that I feel sorry.

Sorry to hear this is continuing to be an issue. Unfortunately, I cannot reproduce it and I have tried Phone Link, Spotify, Discord, Obsidian, Firefox, and Zoom.

Attaching a log file and noting the time this occurred might be helpful. Logs are in the settings directory, which can be accessed by clicking on 'Show settings.json in containing folder' in General. The latest log is fancywm.log.

Hello, sorry for not having updated. The error seems resolved on my end, I will attach the log file if I get the issue again.

I was dealing with this issue and the "show window on all desktops" setting did seem to be the cause as disabling it caused my apps to start being managed (after a restart of fancywm)

I get this problem, or at least a very similar problem with Chrome and specifically when opening new Chrome windows with the ctrl-n shortcut.

  1. On a blank desktop, create a new Chrome window with a keystroke. This is win-1 for me as Chrome is the first icon on my taskbar.
  2. Create a new chrome window with ctrl-n.
  3. FVM should catch this and split the two Chrome windows 50:50 with the top level window panel.
  4. Instead the new Chrome window will open as a floating window offset to the right and down a bit.

Except sometimes it doesn't do this and FWM will catch the new window and tile it correctly. Exactly what causes this to happen or not happen is difficult to pin down and somewhat confusing. However, I don't think it's to do with multi-monitors (I only have one) or virtual desktops (I can create these problems on a single desktop). Multi-monitors and desktops will probably affect this but for simplicity's sake I would concentrate on a single desktop on a single monitor.

Instead, I think it's to do with Focus, which is more complicated than you might think (window focus, keyboard focus, etc) especially, in my experience, in WPF.

I tried to work out why and when FVM will correctly manage Chrome windows created with ctrl-n and it seems that if FVM thinks the Chrome window has focus then all is well and new windows are opened in the panel holding the first window. I.e. if you do an operation like shift-win, H to try to put the Chrome window into a H panel you will get a FVM message saying "No focused window!".

I think that if you can force the Chrome window to have focus in a way that FVM detects then it will work correctly. Things that I tried and sometimes seemed to work were alt-tabbing to the Chrome window, using the native Windows snap feature (win-, etc.), clicking on the title bar so Chome had logical focus but not keyboard focus (no blinking cursor in the address bar). But it was all maddeningly inconsistent and hard to pin down exactly what was happening.

So my sort of semi-workaround, at least for Chrome is if you end up in a state where FVM will not tile it correctly then hit it with a window events or two (mouse clicks, win-arrow, alt-tabs, etc) and eventually FVM will catch on to it and put it in the top level invisible panel and everything will start working again.

Note btw that you can do the same sort of testing with Windows Explorer as it also supports ctrl-n for a new window, but Explorer has none of these problems and FVM works as one would expect. I suspect this is because Explorer is a native win32 app and obeys all the rules for gaining, managing and losing focus properly and Chrome and other apps that are not working with FVM reliably use some kind of framework for o/s portability reasons and that is where the problem lies.

PS Generally I would not write something like FVM in WPF and I am slightly astonished that it works as well as it does. So good job! :-)

This issue is stale because it has been open for 14 days with no activity.