paperwm / PaperWM

Tiled scrollable window management for Gnome Shell

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A button to temporarily disable tiling

matj1 opened this issue · comments

Is your feature request related to a problem? Please describe.

Yes. Some applications work badly with window tiling and scrolling. These are ones with many windows like REAPER and ones with fullscreen views like OpenLP and LibreOffice Impress. I would like that the issues of the applications would be solved, but disabling tiling temporarily is a general workaround for all problems with tiling.

Describe the solution you'd like.

I want a button to disable the functionality of PaperWM without disabling the whole extension.

PaperWM has a button in the top bar, but it has only one function – toggle centering. I imagine that the button would show a menu with various options like to toggle centering, disable tiling and open settings. Pop Shell adds a button to the top panel like PaperWM, and the button shows a menu with settings. So PaperWM could have it similarly.

Describe alternatives you've considered

The only way to disable tiling temporarily AFAIK is to disable the extension, and that is inconvenient. It discourages me from enabling PaperWM back after the problem with tiling disappears.

Yes. Some applications work badly with window tiling and scrolling. These are ones with many windows like REAPER and ones with fullscreen views like OpenLP and LibreOffice Impress.

I can't reproduce issues with LibreOffice Impress. Any chance you could take a video or screenshot which shows the issue?

Generally for this we'd scratch the window/app (scratching removes the window from tiling):

https://github.com/paperwm/PaperWM?tab=readme-ov-file#scratch-layer

Afterwards, you can toggle / unscratch the window from tiling.

Note: scratch makes the windows float above all tiling and PaperWM spaces.

Scratching does not help here. Reaper creates windows which are automatically scratched in PaperWM, so they are on top over other windows, and they can't be minimised. So they are always visible, even if REAPER is out of view scrollwise or on an other workspace. If I could have one change in PaperWM, it would be so that floating dependent windows would scroll with the tiled windows on which they depend.

The problem with Impress is that the presentation is not shown if presenter view is enabled. That happened to me also when I was using Pop Shell, so I had to disable it to present with presenter view. This seems like not a problem with PaperWM, but how Impress interacts with window-placing extensions in general.

The problem with OpenLP is that, while I am switching windows by the means provided by PaperWM, the fullscreen view is hidden. That is if bypassing X11 (an option in OpenLP) is disabled. If bypassing X11 is enabled, switching windows does not hide the fullscreen view, but showing the GNOME overview does (which is not a problem of PaperWM, but I it is why I have that option disabled).

But this is my point:

You could fix all the mentioned issues, but they aren't all issues with specific applications and tiling. So disabling PaperWM's functionality is an easy way to work around all such issues before they are fixed.

You could fix all the mentioned issues

Or you could...? I'd be happy to accept a PR for this for sure from anyone that this functionality would interest- but I don't see how we would disable PaperWM functionality without... disabling PaperWM.

So disabling PaperWM's functionality is an easy way

From PaperWM's assumptions for windows and scratching this is definitely not easy and would require a lot of refactoring to partly disable certain things... when we have a good way to already do this (disabling all of PaperWM functionality).

I'd be happy to accept a PR though if you want to give it a go, but it's not something I would work on when we can enable/disable PaperWM already (with keybinds or methods).

A couple of options to make it easier:

  • https://extensions.gnome.org/extension/3088/extension-list/ (nice dropdown to disable/enable extensions)
  • create a Gnome keybind custom shortcut to disable PaperWm and re-enable, calling something like:
    • sh -c "/usr/bin/gnome-extensions disable paperwm@paperwm.github.com"
    • sh -c "/usr/bin/gnome-extensions enable paperwm@paperwm.github.com"
    • image

I'll leave this one open and add a would-accept-PR tag so others can work on this one if they want.