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 8 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

3 months ago

Excellent. Thank you!

Report

herrbatka

8 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--

2 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 8 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

3 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
5
page views today 15