Description:

Note that this requires kde 4.11 for the config interface at least
Tiling script for kwin, featuring:

- A useractionmenu to selectively tile windows
- Three layouts, all mouse-resizable
- One layout with the option to set multiple "master" windows ("M-S-+" to increment, "M-S--" to decrement)
- The option to deactivate tiling per-desktop via keybinding
- A configuration menu for floating windows (by class)
- An option to remove windowborders
- "Animated" resizing and moving
- Optional "useless" gaps

Hotkeys:
("M" here stands for what is usually the windows key, "S" stands for shift)
M-PgUp / M-PgDown: Switch layout for current desktop
M-S-F11: Deactivate tiling on current desktop
M-f: Toggle between tiling and floating for active window
M-S-m: Swap active window with the master window
M-S-+: Increment number of master windows in (default) "HalfLayout"
M-S-h, M-S-j, M-S-k, M-S-l: Move window in corresponding direction

The following have been removed in 1.6.2 as they are already provided by kwin (but set to different keys):

M-u: Toggle window borders
M-h, M-j, M-k, M-l: Switch focus in corresponding direction


If you would like to help, consider reporting bugs and maybe even sending pullrequests to www.github.com/faho/kwin-tiling
Last changelog:

2.0.0 10 months ago



This release features a bunch of stuff, including:

Improved compatibility with KWin 5 (including working shortcuts with KWin >= 5.8.3)

Ignore transient windows (improves compat with e.g. eclipse)

Use basicUnits (fixes emacs without frame-resize-pixelwise)

Improved multi-monitor support

Always respect minimum/maximum size - anything else is unsupported by KWin upstream

Improved re-tiling of unfullscreening clients

KIMW

5 months ago

Excellent. Thank you!

Report

herrbatka

10 months ago

Seems to work fine, but there are a couple of problems:

my keyboard is 80s model m - no windows key here. It would be nice to be able to change bindings so I could use this script without changing shortcuts in code.

Does not play well with activities.

Report

Teyras

2 years ago

Great script! Are you going to port it to KDE5's KWin?

Report

C

faho

2 years ago

See https://github.com/faho/kwin-tiling/tree/plasma5

It's already ported (and I'm using it right now).

There was something lost in the process (most notably shorcuts/hotkeys don't work yet), though.

Report

Teyras

2 years ago

OK, thanks. I really do miss the shortcuts, though.

Report

codernumber1

2 years ago

I've switched from Awesome WM not so long ago. Tried Gnome3 - no proper tiling there.

Your extension and KDE in general both look promising for a work environment.

Report

D--

3 years ago

If I disable tiling in desktop A, then switch to desktop B and then again to A, desktop A has tiling enabled again. Is this normal?

Report

reflectionalist

3 years ago

It seems Tiling does not play quite well with Window Tabbing (which automatically group similar windows). Suppose I have three windows in the layout | |-|, and where top right is a Dolphin window. Now if I open another window of Dolphin, without Window Tabbing enable, I should get the layout | |=|. With Window Tabbing, the newly-opened Dolphin window will be pulled out its tile and grouped together with the top-right one. This is what I want. But the problem is that the tile of the pulled-out window does not get automatically filled by neither the grouped windows nor the other one. Is it possible to add auto filling in this case?

Actually a more plausible solution would be to provide stacking and tabbing support as does i3. After that, Tiling for KDE is done. :)

Report

C

faho

3 years ago

That's a known issue - contrary to the API documentation, kwin doesn't actually expose tabgroups to scripts (See https://bugs.kde.org/show_bug.cgi?id=330100). Some cases can be handled by assuming windows on top of others are tabbed, but that's really fragile.

Report

reflectionalist

3 years ago

You said that the key bindings M+u and M+h/j/k/l were removed since KWin already has them but set to different keys. But I can not locate these settings of KWin. Where can I find them? Could you give a hint? Thanks. Native, useful extension by the way.

Report

C

faho

3 years ago

In "Global Keyboard Shortcuts" -> "KWin", there's "Switch to Window Above" (and "Below", "to the Left", "to the Right") for the M-{K,J,H,L} stuff, and "Hide Window Border" for M-U.

Report

MoonDragon

3 years ago

I love this script... it really works well. I'm using it on KDE 4.14 and it rocks. No screen space wasted on my laptop. got a master window with two others, everything switchable.... Now I finally see the sense in a tiling window manager... you could do this without a desktop and just a window manager.... cool! :) thanks for doing this, it's the only tiling script on KDE that actually works effectively....
And, I'm a newbie to linux, coming from MAC and MSWindows..... haha, I love that there's so much experimentation, it leads to wonderful innovation

Report

bennypr0fane

3 years ago

I have a problem updating from 1.6.1 to 1.6.3, namely KDe system settings wants to keep the old one. if I manually your script and import the file into system settings, it refuses to do so bcs there is a tiling script already. After I tried the update button, it still reports 1.6.1. Deinstalling and re-installing didn't help either. KDE just won't forget I ever installed the 1.6.1 version., and I forgot where I put the original file / don't know where KDE stored it by default

Report

SicoBulo

3 years ago

I can give your script a positive review... but it does not work..

plasmapkg -t kwinscript -u Descargas/161151-tiling.kwinscript
plasmapkg(29538)/libplasma Plasma::PackageStructure::metadata: Could not open package file, unsupported archive format: "/home/joseluis/Descargas/161151-tiling.kwinscript" "text/plain"
plasmapkg(29538)/libplasma Plasma::PackageStructure::metadata: Could not open package file: "/home/******/Descargas/161151-tiling.kwinscript"
El complemento Descargas/161151-tiling.kwinscript no está instalado.

nor it works when I try to install from systemsettings > window beahvior > kwin scripts

Report

SicoBulo

3 years ago

I mamged to install it right now, your link provides a useless .kwinscript, I downloaded it from your git hub... but I have another problem now... y puts all the windows below the conky window.

In conky editing the attributes does not change a thing, is your script.

Report

SicoBulo

3 years ago

Forget me... the conky configuration I tried to change was commented... your script works good.

Report

Iyuk

3 years ago

Really good script! Keep up the good work!

Report

bennypr0fane

3 years ago

I really don't understand how this works. How can I toggle tiling, how to turn it off, is there a button, a key combo? Can I customize its behavior? All I see on the settings dialog are some names that mean nothing to me and apparently I can remove some of them - again I don't know to what effect. Help, please? I'm on ver. 1.6.1 in Kubuntu 14.04, KDE 4.13.0,
Thanks, Ben

Report

bennypr0fane

3 years ago

I tried the key combos you are giving here, but barely anything changes on the screen, e.g. M+F11 leaves everything exactly as it is.

Report

bennypr0fane

3 years ago

sorry I meant M+Shift+F11.

Report

C

faho

3 years ago

There currently is no direct feedback for _disabling_ tiling (a notification or something like it would probably be nice), but it should work.

Just move a window - if it can be freely moved around, tiling is disabled. If _other windows_ move because you are moving that one, tiling is on. You'll know the difference when you see it.

Report

C

faho

3 years ago

I've improved the settings menu somewhat in current git, and I may make a release in the next week or two.

This list of windows you see is the list of window _classes_ that are excluded from tiling, mostly because they don't work well with tiling. Special windows, like dialogs, are also excluded.

Customization is currently a bit limited (and in 1.6.1 really not explained that well).

Report

bennypr0fane

3 years ago

Thanks! When you post a new version, will that update be pushed automatically to update on my machine, or do I get a notification, if you make changes to this page here?
Or do I just need to be on the lookout for the new version?

Report

C

faho

3 years ago

There's an email notification, though I'm not quite sure under what circumstances you'll get it (it may be tied to becoming a "fan" here).

Report

omeringen

3 years ago

I switched to the open source ATI drivers and wanted to give another try to v1.4 tiling script. Same issues still continues.
Going back to 1.3.2 again.

Report

2.0.0 10 months ago



This release features a bunch of stuff, including:

Improved compatibility with KWin 5 (including working shortcuts with KWin >= 5.8.3)

Ignore transient windows (improves compat with e.g. eclipse)

Use basicUnits (fixes emacs without frame-resize-pixelwise)

Improved multi-monitor support

Always respect minimum/maximum size - anything else is unsupported by KWin upstream

Improved re-tiling of unfullscreening clients

4 years ago

* Forgot to enable bladelayout, could lead to crashes/script not working.

* 1.0.1: Fix some issues with panel at the top

* 1.1.0: Add an option to disable borders
This should only be used with FocusUnderMouse, as because of a kwin limitation focus can jump and it's impossible to tell which window has focus

* 1.1.1: Bugfixes and an attempt to adjust to new or removed panels

* 1.1.2: Enable resize "animations" and bugfixes (again including panel struts)

* 1.1.3: Retile on layout switch and keep desktop floating state

* 1.1.4: Bugfixes related to tabgroups and the focus hotkeys

* 1.2: Properly retile when a client resizes (including borders), "animate" moving, improve resizing "animation", add keybinding to toggle window border and bugfixes

* 1.2.1: Remove broken tabgroup handling (tabgroups float for now) and add a possible bugfix for some transparency issues

* 1.3 (unreleased): Readd clients that return (e.g. are unminimized) to their previous tile, bugfixes (including resizing)

* 1.3.1: Tabgroups, add shortcut (Meta+Shift+M) to swap a window with the master, bugfixes

* 1.3.1.1: Fix plasmoids immediately closing

* 1.3.1.2: Fix maximizing, fullscreen and resizing bugs

* 1.3.2: Fix windows not responding and focus-follows-mouse choosing the wrong window, add an option to open windows as master

* 1.3.3: Fix movement losing windows, add workaround for steam update window, fix tiling not working

* 1.4: Add option to disable tiling by default, add per-desktop layout configuration (as a line of text currently), add shortcut to toggle borders on all clients (M-S-U), add shortcuts to resize the master window (M-Alt-{h,j,k,l}), minor bug fixes

* 1.5: Bugfixes (including crashes), optional gaps between windows, respect min/maxsize (unfortunately this could cause crashes under certain circumstances)

* 1.6 (unreleased): Make resizing layout-agnostic, a manual tiling mode, code cleanup, fix tiling when compositing is disabled

* 1.6.1: Respect min/maxSizes, multiple (or zero) master support in halflayout, bugfixes

* 1.6.2: Make respecting min/MaxSizes an option, improve fullscreen behavior, improve configuration UI, remove shortcuts for toggling a border for a single window and switching focus (as they are provided by kwin itself already)

* 1.6.3: Fix crash when number of desktops isn't height * width of desktopgrid, fix default floating list

* 1.7.0: Bugfixes, add option to defer placement to kwin

product-maker KIMW Jun 16 2017

product-maker aram Jan 05 2017

product-maker mirkogennari Oct 07 2015

product-maker Morphingbunny Sep 04 2014

product-maker Zipristin Jul 27 2014

product-maker DivanSantana May 27 2014

product-maker SicoBulo May 25 2014

product-maker UnderTheGun May 20 2014

product-maker Iyuk May 18 2014

product-maker Zolnierzu May 09 2014

product-maker eticre Apr 20 2014

product-maker samyp Mar 20 2014

product-maker miktorel Jan 30 2014

product-maker junyx Jan 13 2014

product-maker unikum111 Jan 09 2014

product-maker frag Dec 29 2013

product-maker omeringen Dec 28 2013

product-maker dimparf Nov 24 2013

product-maker ms0145 Oct 29 2013

product-maker alemsogel Oct 23 2013

product-maker herrbatka Oct 23 2013

product-maker t1010011 Oct 16 2013

product-maker D-- Oct 16 2013

product-maker Contrast Oct 15 2013

product-maker saabzero Oct 15 2013

product-maker 6 6

File (click to download) Version Description Filetype Packagetype License Downloads Date Filesize OCS-Install DL
Details
version
2.0.0
updated Jan 05 2017
added Oct 15 2013
downloads today
page views today