kwin-tiling icon indicating copy to clipboard operation
kwin-tiling copied to clipboard

Tiling script for kwin

  • kwin-tiling

    Tiling script for kwin, based on [[https://github.com/mgottschlag/kwin-tiling][Mathias Gottschlag's version]]

** Goals: The purpose of this is to create a user-friendly tiling solution that

  • Integrates well with KDE Plasma

  • Works for the general case More sophisticated users may prefer dedicated tiling window managers

  • Provides most of the advantages of a tiling WM in a fully composited environment Window previews and effects alongside different tiling layouts

  • Does not require the user to delve into scripting to get a sane configuration ** Features:

  • Four layouts, one with support for multiple "master" windows and another one with dynamic tiling capabilities (similar to i3wm's)

  • Support for minimizing and unminimizing windows

  • Support for setting windows to floating or quitting tiling altogether, per-desktop (Meta+Shift+F11) and per-window (Meta-f) ("Meta" refers to the "super" or "windows" key here)

  • Support for a list of ignored windows in configuration (by class)

  • An option to start windows at the master position (like in xmonad)

  • Mouse resizing

  • Useractionsmenu and keybinding (Meta+f) for toggling tiling/floating

  • An option to turn off borders for tiled windows

  • A hotkey to tile once

  • Many bugfixes over mgottschlag's version

** Installation:

#+BEGIN_SRC bash git clone https://github.com/kwin-scripts/kwin-tiling.git cd kwin-tiling/ plasmapkg2 --type kwinscript -i . #+END_SRC

or if updating

#+BEGIN_SRC bash plasmapkg2 --type kwinscript -u . #+END_SRC

** Usage: Install

Activate the script using ~kcmshell5 kwinscripts~

Move windows around and see that they are tiled :-)

Resize windows to resize the tiles

Declare shortcuts (in Systemsettings->Shortcuts_and_Gestures->Global_Keyboard_Shortcuts) for resize, minimize and maximize operations.

Press Meta-Shift-PgUp or Meta-Shift-PgDn to switch the layout

Use the configuration menu (in System Settings->Window Management->KWin Scripts)

** Comprehensive list of keyboard shorcuts:

Shortcut Default Binding
Next Tiling Layout Meta+Shift+PgDown
Previous Tiling Layout Meta+Shift+PgUp
Toggle Floating Meta+F
Toggle Border for all
Move Window Left Meta+Shift+H
Move Window Right Meta+Shift+L
Move Window Up Meta+Shift+K
Move Window Down Meta+Shift+J
Toggle Tiling Meta+Shift+f11
Tile now
Swap Window With Master Meta+Shift+M
Resize Active Window To The Left Meta+Alt+H
Resize Active Window To The Right Meta+Alt+L
Resize Active Window To The Top Meta+Alt+K
Resize Active Window To The Bottom Meta+Alt+J
Increase Number Of Masters Meta+*
Decrease Number Of Masters Meta+_
Focus next tile
Focus previous tile
Swap with next tile
Swap with previous tile
I3: Set Wrap Horizontal Mode
I3: Set Wrap Vertical Mode
I3: Set Normal Mode
Move Window To New Desktop Meta+Shift+D
Dump Clients Meta+Shift+Escape
Cycle Rotations Meta+Shift+R

** Troubleshooting: No configuration option is available for the KWin Scripts entry

  • [[https://github.com/faho/kwin-tiling/issues/79#issuecomment-311465357][As suggested by @BenoitZugmeyer]], #+BEGIN_SRC bash mkdir -p ~/.local/share/kservices5 ln -s ~/.local/share/kwin/scripts/kwin-script-tiling/metadata.desktop ~/.local/share/kservices5/kwin-script-tiling.desktop #+END_SRC