Why Tiling Window Manager Sucks (xmonad, ratpoison, dwm, …)

, , …,

tried xmonad today for real. Currently, 1 hour into it. 〔➤ How to Use xmonad; xmonad Keys

Tiling windows is unusable and inefficient.

• Complete esoteric set of keys you need to memorize just for the tiling-window mechanism. Also, standard keys such as 【Alt+F4】 are now screwed.

• More Combo keys = RSI. 〔➤ Keyboard Shortcut Design: Dedicated keys, Special Buttons, Extra Keys〕 I type more than any Haskell coder on this earth.

• Encroach on each app's keys. This means, you'll spend time to config each app, or diddle with the global mode key setting. This means hours to be spent down the road.

• Completely screwing emacs's keys. 〔➤ Emacs's Keybinding Layout〕 (No, remapping to any of ❖ Super, Hyper, ▤ Menu, Caps Lock keys won't help. All modifier keys are used up in my emacs for many purposes, including inserting math symbols.)

Tiling Windows Concept = Fail

Worst of all, the tiling windows idea itself is too idealistic. The idea behind tiling windows is that it uses your screen real-estate efficiently. Namely, all apps are laid out without gaps.

But what this means is that, the natural optimal size and position and arrangement of app windows on your screen is sacrificed. They, the position, size, arrangement, are artificially made to fit into a table layout. If all you do is text terminals, that's ok. But as soon as you have browser, image viewer, image editor, text/voice/video chat programs, math/scientific apps, …, each really needs its own optimal position/size. So, this means, when using a tiling-windows scheme, you either pop them into full screen, float them, or put each in a workspace, no tiling at all. Or do a lot combo key press to re-arrange/re-size them tiled. Much more work than is worth.

If you need every window to be the same size, then that's great. As soon as you need one window for different shape/size, then you get funky sub-optimal layout. The gaps between windows simply moved into your windows. Some window will have lots of un-used space, and some will have unnatural line-wraps because the window is too narrow.

One symptom of tiling windows inefficiency is the so-called fibonacci layout.

tiling windows dwm-spiral
Suboptimal window size problem when windows are forced into a table layout. Notice the squashed clock, and wrapped lines in terminal. Source dwm.suckless.org

Tiling windows… Do you really need to look at ALL the windows at once?

A Challenge: Try This Workflow

Try the following workflow for a week. I'd be interested to know if you still think tiling windows great.

• remove tiling manager.

• set workspace to just 1. (and remove the tens of keybinding for it)

• set up 4 function keys to switch to 4 of your most used app. ⁖ {emacs, browser, terminal}. See: How to Set Key to Switch to Browser

• set up 1 key to switch to last windows/app.

• set up 1 key to cycle windows within a app.

• set up 1 key to toggle max/restore window size.

• set up 1 key to close window. (must be 1 single key. 【Alt+F4】 is not good.)

• set up 1 key to to switch prev tab, and 1 key to to switch next tab. (i use {F11, F12})

• set up 1 key to close tab.

• turn on auto-raise window. Mouse Hover to Auto-Raise Window

note, these keys should be single press key, not a chord.

which key to set really depends on your keyboard. (i'm assuming you are on a full-sized keyboard, not laptop, as you shouldn't type on laptop keys for long periods.) For a normal PC keyboard, the best keys are likely to be all function keys. but if you use any of the batman keyboards, you have a lot options, such as putting them on thumb keys.

if you don't know how to set keys for items i didn't give explicit instruction, see:

blog comments powered by Disqus