mogenson/PaperWM.spoon

Exclude floating windows

Bellavene opened this issue · 5 comments

Thank you! Looks great!
There must be a standard option to exclude floating windows from managing.

Might be able to exclude windows by subrole. There's some definitions here. Anecdotally, AXSystemFloatingWindow seems to avoid the window filter and is not tiled for me. What's the subrole of your offending window?

There are too many different of them to add a subrole every time. Like iStat Menus are treated as windows, not menus.
As for AXSystemFloatingWindow, could you please explain how should i use it? I'm just starting into all of it, don't know much.

Also would be great to add a rule for window instances. Like if you have an opened window for Finder, each new window will be opened horizontally in the same row. Make window maximized if it is the only opened window. Activate visible window after last Finder window closes. Then this wm will be near perfect!

Hey, to find the subrole of offending windows:

  • open the window (eg: open "HelpViewer")
  • in the HammerSpoon Console, enter hs.window.find("macOS User Guide"):subrole(), replacing the title string with the title of your window
  • note the subrole (eg: "AXSystemFloatingWindow" for HelpViewer app)

Any missed subroles can be added to the default PaperWM.spoon window filter, instead of handled on an app-by-app basis.

For custom window tiling and placement behavior, you'll be better off forking this project and hardcoding that behavior. The goal of this project is to mirror the behavior of the PaperWM Gnome extension and there's no methods to add custom behavior.

See the addWindow() method. Instead of inserting a new window based on its horizontal location on screen, you can search for another instance of the same app in the same space. Then insert the new window in a column to the right.

Thank you! I'l check it.

This wm is so cool, too bad I am too bad at coding to implement all what I want on your base. Got back to yabai. But want badly this branch done to final usablity. I think that there is no need for trying making it 1x1 as on gnome, because it isn't possible with macos and too much work. Better to focus on what can be done to make it flawless with macos standard behaviours. And I see it as a merge with usual tiling managers with your paperwm.