KWin 的动态拼贴扩展
A dynamic tiling extension for KWin.
Kröhnkite is mainly inspired by dwm from suckless folks, and aims to provide rock solid stability while fully integrating into KWin.
The name of the script is from mineral Kröhnkite; it starts with K and looks cool.
You can install Kröhnkite in multiple ways.
You can download krohnkite-x.x.kwinscript file, and install it through
System Settings.
System Settings > Window Management > KWin ScriptsImport KWin script... on the top-right cornerAlternatively, through command-line:
plasmapkg2 -t kwinscript -i krohnkite.kwinscript # installing new script
plasmapkg2 -t kwinscript -u krohnkite.kwinscript # upgrading existing scriptTo uninstall the package:
plasmapkg2 -t kwinscript -r krohnkiteThe simplest method would be:
make install
make uninstall # to uninstall the scriptThis will automatically build and install kwinscript package.
You can also manually build package file using:
make packageThe generated package file can be imported from "KWin Script" dialog.
Krohnkite can be temporarily loaded without installing the script:
make run
make stopNote that Krohnkite can destroy itself completely once it is disabled, so no restart is required to deactivated it.
It is reported that a manual step is required to enable user configuration of KWin scripts. This is a limitation of KWin scripting.
To enable configuration, you must perform the following in command-line:
mkdir -p ~/.local/share/kservices5/
ln -s ~/.local/share/kwin/scripts/krohnkite/metadata.desktop ~/.local/share/kservices5/krohnkite.desktopA configuration button will appear in KWin Scripts in System Settings.
To make changes effective, the script must be reactivated:
KWin Scripts dialog, untick KrohnkiteApplyApply| Key | Action |
|---|---|
| Meta + J | Focus Down/Next |
| Meta + K | Focus Up/Previous |
| Meta + H | Left |
| Meta + L | Right |
| Meta + Shift + J | Move Down/Next |
| Meta + Shift + K | Move Up/Previous |
| Meta + Shift + H | Move Left |
| Meta + Shift + L | Move Right |
| Meta + I | Increase |
| Meta + D | Decrease |
| Meta + F | Toggle Floating |
| Meta + \ | Cycle Layout |
| Meta + Return | Set as Master |
| Meta + T | Use Tile Layout |
| Meta + M | Use Monocle Layout |
| unbound | Use Spread Layout |
| unbound | Use Stair Layout |
Krohnkite supports multi-screen setup, but KWin has to be configured to unlock the full potential of the script.
Separate Screen Focus under Window Management >
Window Behavior > Multiscreen BehaviourSwitch to Next/Previous Screen
(Recommend: Meta + , / Meta + .)Window to Next/Previous Screen
(Recommend: Meta + < / Meta + >)Note: Separate Screen Focus appears only when multiple monitors are present.
Breeze window decoration can be configured to completely remove title bars from all windows:
System Setting > Application Style > Window DecorationsConfigure Breeze inside the decoration preview.Window-Specific Overrides tab > Add buttonOk:Regular expression to match: .*Hide window title barChanging the border color makes it easier to identify current window. This is convinient if title bars are removed.
Open ~/.config/kdeglobals with your favorite editor
Scroll down and find [WM] section
Append the followings to the section:
frame=61,174,233: set the border color of active window to RGB(61,174,233)inactiveFrame=239,240,241: set the border color of inactive window to RGB(239,240,241)Here's a nice 2-liner that'll do it for you:
kwriteconfig5 --file ~/.config/kdeglobals --group WM --key frame 61,174,233
kwriteconfig5 --file ~/.config/kdeglobals --group WM --key inactiveFrame 239,240,241You must restart your session to see changes. (i.e. re-login, reboot)
Note: the RGB values presented here are for the default Breeze theme
Note: You might also need to set the border size larger than the theme's default:
System Settings > Application Style > Window Decorations: Untick Use theme's default window border size and adjust the size (right from the checkbox).
Some applications like discord and KDE settings dont tile nicely as they have a minimum size requirement. This causes the applications to overlap with other applications. To mitigate this we can set minimum size for all windows to be 0.
System Setting > Window Management > Window Rules+ Add New...Window class to be UnimportantWindow types to Normal Window+ Add Properties...Minimum Size PropertyForce and 0 x 0When a window is marked "maximized" in Breeze theme, its borders are removed to save screen space. This behavior may not be preferable depending on your setup. This can be mitigated by disabling maximized windows using Window Rules.
System Setting > Window Management > Window Rules+ Add New...Window class to be UnimportantWindow types to Normal Window+ Add Properties...Maximized horizontally and Maximized vertically Properties.Force and No.*.ui files can be edited with Qt Designer.
It's very straight-forward if you're used to UI programming.暂无开放 Issues,或尚未同步最近议题。