Skip to content

Multi-monitor and Smart Keybinds#197

Open
leonjbdb wants to merge 13 commits into
gerritdevriese:mainfrom
leonjbdb:main
Open

Multi-monitor and Smart Keybinds#197
leonjbdb wants to merge 13 commits into
gerritdevriese:mainfrom
leonjbdb:main

Conversation

@leonjbdb

@leonjbdb leonjbdb commented May 17, 2026

Copy link
Copy Markdown

I really like this addon to KDE Plasma, as it did almost everything I personally want of control on my computer. Being recent in using Linux I haven't gotten it fully to my liking yet.

So I made some minor changes here in the following commits:

Multi-monitor layout support

You can now add an optional value to a layout in the json file that allows you to bind it exclusively to 1 monitor. By not using this variable, it works as before, binding to both monitor. This is especially useful if you have one or more monitors with different orientations and sizes, where the layout you want there aren't necessarily the same as the other monitors. It's set up so that you can share them across a specific list of monitors, not just one.

Separate pull request for this feature alone can be found here:
#196

Smart Keybinds

This was a bit more work, but I wanted a more "Windows-like" experience, where using Meta + Arrow was more like on Windows, but I wanted it smarter than how it is on other operating systems, so I thought "Why not tie it to the zones that we create", this gives even more flexibility on how they work.

This is off by default, but can be enabled in the settings panel.

It supports adding a ignore to specific layouts or zones, so they aren't included when moving a window around using the meta keys.

I also tried to make it feel as natural as possible, adding memory and other features to make it behave as you'd expect.

Drag up for fullscreen

This is a feature supported by KDE by default, but I simply didn't like it having a different look, so I added it here separately, with a toggle to enable/disable.

Better OSD

The OSD had a standard icon and name, which annoyed me, so I created a custom OSD that shows the layout properly, so that it would display the layout properly, making a glance needed, without looking at the text. This is theme-aware like the rest of KZones.

Better sizing history

I get really annoyed when windows don't properly remember their size after going into fullscreen or snapping to a shape on my monitor, so I reworked the logic here to better persist.

Final notes

The code is primarily written using Claude Opus 4.7 Max, whilst being peer reviewed by myself.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant