feat(desktop): make floating window rules configurable - #2157
Conversation
165702e to
5d2b43f
Compare
|
This should also make it possible to add and remove custom exceptions. |
My intention was to implement this feature incrementally, but we can also do all at once. This is up to you. |
|
We can't merge incomplete features so it will need this too. |
According to this logic, the |
|
Not sure how that relates to the window tiling exceptions config settings page |
You can argue in different ways about what constitutes a complete feature:
However, I have now also implemented custom tiling exceptions. Please have a look |
|
I put this PR into draft as pop-os/cosmic-comp#2741 needs to be implemented first. In the current implementation I open a context menu to show all running windows |
8308839 is what I was referring to in my original comment. We don't necessarily need to have a floating window picker GUI right now. Just the ability to add, remove, and edit the user's own custom tiling exceptions. It would be an odd choice if we shipped the tiling exceptions page to users with only a single item on the page that opens a context drawer for toggling system exceptions. The primary purpose of this page is to provide a GUI for managing custom exceptions. Which of course includes toggling system exceptions too. |
This PR makes the compositor's system rules configurable and adds a UI for creating custom exceptions according to the layout described in: #438.
Depends on:
Backend
User config:
~/.config/cosmic/com.system76.CosmicSettings.WindowRules/v1/tiling_exception_customWhen the user changes the default value of a system rule, a new entry is added to the users config:
[ ( appid: "my.custom.rule", title: "My Custom Application", enabled: false, ), ( appid: "", title: "wl-clipboard", enabled: false, ), ]When the user resets the value to its default, the corresponding entry is removed from the users config, while custom rules are preserved:
[ ( appid: "my.custom.rule", title: "My Custom Application", enabled: false, ), ]UI
Window management

Floating window exceptions - without custom exceptions

Floating window exceptions - with custom exceptions

Floating window exceptions - custom exception selection

Floating window exceptions - custom exception selection, no entries

Built-in exceptions
