Skip to content
Tiling script for kwin
Branch: master
Clone or download
faho Write CHANGELOG
This might actually be enough for a new version?
Latest commit b4e39ba May 22, 2019

README.org

kwin-tiling

Tiling script for kwin, based on Mathias Gottschlag’s version

NOTE: This is the Plasma 5 version. For the Plasma 1/KWin 4 version, see the Plasma1 branch

Goals:

The purpose of this is to create a userfriendly 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:

git clone https://github.com/faho/kwin-tiling.git
cd kwin-tiling/
plasmapkg2 --type kwinscript -i .

or if updating

plasmapkg2 --type kwinscript -u .

Usage:

Install

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)

Comprehesive list of keyboard shorcuts:

ShortcutDefault Binding
Next Tiling LayoutMeta+Shift+PgDown
Previous Tiling LayoutMeta+Shift+PgUp
Toggle FloatingMeta+F
Toggle Border for all
Move Window LeftMeta+Shift+H
Move Window RightMeta+Shift+L
Move Window UpMeta+Shift+K
Move Window DownMeta+Shift+J
Toggle TilingMeta+Shift+f11
Tile now
Swap Window With MasterMeta+Shift+M
Resize Active Window To The LeftMeta+Alt+H
Resize Active Window To The RightMeta+Alt+L
Resize Active Window To The TopMeta+Alt+K
Resize Active Window To The BottomMeta+Alt+J
Increase Number Of MastersMeta+*
Decrease Number Of MastersMeta+_
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 DesktopMeta+Shift+D
Dump ClientsMeta+Shift+Escape
Cycle RotationsMeta+Shift+R

Troubleshooting:

No configuration option is available for the KWin Scripts entry

  • As suggested by @BenoitZugmeyer,
    mkdir -p ~/.local/share/kservices5
    ln -s ~/.local/share/kwin/scripts/kwin-script-tiling/metadata.desktop ~/.local/share/kservices5/kwin-script-tiling.desktop
        

Known Issues:

Activities aren’t handled at all

Clients with min/maxSize may not tile properly

Multimonitor is untested

Bugs:

There is no software without bugs. If you detect one please share it. https://github.com/faho/kwin-tiling/issues?state=open

Screenshots:

Standard layout with two master windows https://github.com/faho/faho.github.io/raw/master/img/kwin-tiling01.png Standard layout with one master https://github.com/faho/faho.github.io/raw/master/img/kwin-tiling02.png Contrived example with four always-shown panels https://github.com/faho/faho.github.io/raw/master/img/kwin-tiling03.png Configuration https://github.com/faho/faho.github.io/raw/master/img/kwin-tiling04.png

You can’t perform that action at this time.