Why You Should Try a Tiling Window Manager
adereth.github.io
adereth.github.io
It still annoys that tiling window managers all seem designed to be hard to use to configure, almost as a matter of principle. I see no reason that a tiling window manager can't still be easy to use (for example, I use the mouse as much with xmonad as I can, and would like to be able to use it more).
I agree. I wish more Tiling WMs came with a GUI application launcher, better mouse support for moving and resizing, login screens, etc.
Not everyone uses a Tiling WM because they're a masochist musophobe.
"gconftool-2 --type string --set /desktop/gnome/session/required_components/windowmanager awesome"
Obviously, this is a large barrier for a casual user wanting to try a tiling window manager. However, if WM installer changed that setting instead of just creating its own desktop environment, then we would not be having this problem.How hard is it to implement this?
i3 really stands out. Instead of requiring user to hack with specific language (haskell for xmonad, lua for awesome.. )it has a simple config file with clear documentation.
For example with this in my xmonad.hs:
((0,9), (\_ -> moveTo Next NonEmptyWS))
((0,8), (\_ -> moveTo Prev NonEmptyWS))
I can move between work spaces with only my mouse (In this case with the extra 2 buttons on the left).Besides notion/ion3, which I am not familiar with, all these tilling managers are automatic. You select a layout directive like
- place all windows horizontally,
- place all windows in a grid,
- place one window filling 2/3rd the screen and the rest stacked in the remaining 1/3rd
There are other tilling wm's like i3, wmii, bspwm, and herbstluftwm which are manual tilling managers. i3 and wmii are probably the best ones to start with, but herbstluftwm is my favorite.
With manual tillers you typically split the workspace into multiple frames and windows are automatically arranged in those frames.
Here is an impressive gif of bspwm, a manual tilling window manager [0], and here is the reddit thread where the creater talks about his configurations [1]
[0] http://paste.unixhub.net/index.php/NlKe/
[1] http://www.reddit.com/r/unixporn/comments/1m0ea1/arch_bspwm_...
I only started using dmenu yesterday and I've already written a few scripts I've found very handy: passphrase autotyping[0] and music playing[1] to name two.
[0] https://github.com/devlinzed/dotfiles/blob/master/bin/dmenu-...
[1] https://github.com/devlinzed/dotfiles/blob/master/bin/dmenu-...
My usual mode is Acme maximized on one screen, and browser, email and IM spread on the other.
See it in action in rsc's screencast: http://research.swtch.com/acme
It's open source, has a simple text file based config, and is generally more configurable than most other similar tools.
Additionally if you are using a Matrox device to get multiple screen support on your Mac, Slate comes in real handy. Rather than get 2 virtual screens the Matrox devices create one virtual screen that spans 2 monitors. Tiling managers like Slate are super helpful for snapping programs to monitors in cases like thos.
I use SizeUp to make up for the windows 7 feature I loved the most and being able to quickly scale and tile windows with keyboard shortcuts.
Works great and definitely worth the money.
And of course you can do all that stuff with regular window UIs too, so that isn't really the essence of a tiling window manager either. As I see it, the real thing that distinguishes tiled environments isn't the "tiling" at all, it's the keyboard-first navigation UI that the tiling enables. And even though I don't actually use these things (I've tried now and again), that's something I see a lot of value in.
Back to the future!
I read so much about why Tiling is Great because the Mouse is Awful.
I think the mouse has its place. For writing code and text I have my hands on the keyboard—which means I also want to create and move windows with the keyboard.
But when I'm in a web browser, or a game, or any number of other GUI-centric applications, my hand is already on the mouse. Which means I want a visual dropdown for launching applications, and I want to drag and resize windows with the mouse.
I love my Tiling because it doesn't waste space. To me, Windowing is just silly; why would I ever want large swathes of my desktop empty, and applications overlapping each other?
But I don't understand the mouse-versus-keyboard argument. I want both to control my WM with both, because I use applications with both.
When I'm browsing, I like to have firefox in the middle of my screen. If it's stuck off to the side somewhere or buried amongst other tabs, I'm going to hate it. How do I make that work?
Eclipse is going to be full screen. I assume that's not going to be difficult.
Now with all that, I get someone asking me a question via skype. How do I get notified? Currently I get a nice notification via the taskbar. Do I lose the concept of notifications?
What about for widget-like things (cpu/network/etc)? Do people use conky or something like that in a tiled window?
Your notifications will stay. For widgets, stick it in the menu bars or use conky -- the same options are available.
Here's the Google Talk:
Unfortunately, it's got some bugs, at least in the version packaged with Debian Wheezy, which ended up being a deal-breaker for me. One of the bugs is that when a container is vertically split, true transparency (with xcompmgr) gets messed up and you see a bunch of garbage in the background of the client.
I've also used AwesomeWM and xmonad, but both were too difficult to configure, especially because I don't know Haskell or Lua and I didn't want to learn a new language just to configure my wm, especially because I wouldn't use the languages for other purposes, and so I'd promptly forget the syntax and would have to re-learn it every time I wanted to change something in my wm.
I ended up switching to Openbox, and I'm still trying to decide whether it is for me.
I've also noticed that, because I use a widescreen and split my web browsers into two columns less-than 1000px wide, every Twitter Bootstrap site thinks i'm on a mobile device and collapses the grid layout.
Well, mostly if you use tools that have a "view portal" or depend heavily on pop-out style toolboxes. The WM is constantly resizing your windows, which makes it a chore to keep everything adjusted, and pop-out style toolboxes are pretty much best at on-top usage by nature, rather than tiled.
I use CAD software on a regular basis, and while I managed to make a tiling WM work for me for maybe 6 months, returning to a floating WM was a relief. If you work directly with text all day, I bet they are great, but for me...
But at the end of the day it was a chore to use and just didn't add much value. I guess what you could take away is I want/need my windows to be sized & placed specifically the way I direct, and a tiling WM is the opposite of this.
I wouldn't be able to GIMP without this...
BTW: KDE and XFCE WM has some basic tiling support as well.
I've found XFCE with the keyboard shortcuts (built-in) to tile to top,left,bottom,right,fullscreen work really well and fit my model of usage (which is mostly open new source file, split screen).
On Windows 8, WinKey + Left or Right are handy shortcuts.
(i.e. XMondad got jacked pretty badly in Ubuntu 13.04 and now requires lots of low level linux voodoo.)
tiling inception