top | item 6497621

Why You Should Try a Tiling Window Manager

46 points| Adrock | 12 years ago |adereth.github.io | reply

57 comments

order
[+] CJefferson|12 years ago|reply
I currently use xmonad, along with the gnome top-bar to get applets, network configuration, etc. I have found this the easiest way to move into tiling window managers.

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).

[+] gizmo686|12 years ago|reply
I think the problem is that tiling window managers have never been mainstream, so they are all targeted at people who would go out of there way to install a tiling window manger. By contrast, even non-mainstream composting window managers have the benefit of seeing how the mainstream ones do things to be usable (and have had more effort put into them in general). Another problem is that tiling window managers are (almost?) never part of a complete desktop environment. They may pay lip service to this (in the form of a basic start-menu type thing), but for the most part they are simply window managers. With composting window managers, no one (except the developer) thinks of the WM by itself.
[+] stormbrew|12 years ago|reply
Agreed on your second paragraph. Tiling as a model is, imo, better for the general case than overlapping for all levels of users (and you can see the move by both MS and Apple towards full-screen windows as a really naive step towards that ideal), not just power users. I use i3 and I love it, but its mouse-phobia drives me nuts sometimes. I'd really like to be able to hold down Super and just frickin' drag a pane/container/workspace to the place I want it to be with the mouse. That's the sort of thing it's meant for.
[+] lcedp|12 years ago|reply
> It still annoys that tiling window managers all seem designed to be hard to use to configure

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.

[+] untrothy|12 years ago|reply
While i agree that xmonad is a bit of a pain to configure the first time around (especially if you're not used to writing code in haskell) I find that you can use the mouse pretty extensively with xmonad.

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).
[+] seniorsassycat|12 years ago|reply
I'm not familiar with notion or ion3, but I've used all of the other tilling managers listed. I really like AwesomeWM as a starting point because it comes sanely configured, and does not rely on haskell like Xmonad. Awesome is configured via Lua scripts, Lua might not be the most popular language but it's easier to pick up than Haskell and has a smaller dependence base.

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_...

[+] z0r|12 years ago|reply
The combination of xmonad, dmenu and emacs --daemon has brought me great joy. The way I use computers has changed completely since starting down the tiling window manager road. It's a shame that getting the configuration for them right can be such a pain, but it has been well worth the trouble!
[+] dexen|12 years ago|reply
I'm happy with tiled windows in Acme (editor/IDE) for daily work. The layouting algorithm (a simple one) does the right thing most of the time :^)

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

[+] RBerenguel|12 years ago|reply
Full screen acme and the rest full-screened in "other window", one cmd-tab away. I try not to IM while working :)
[+] rkowalick|12 years ago|reply
I really wanted to like it, but the lack of syntax highlighting drove me nuts.
[+] zdw|12 years ago|reply
If you're on OS X, I've found Slate to be the best option: https://github.com/jigish/slate

It's open source, has a simple text file based config, and is generally more configurable than most other similar tools.

[+] Zombieball|12 years ago|reply
+1 vote for me. Slate has been great.

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.

[+] conroy|12 years ago|reply
I use SizeUp and have been very happy with it.
[+] leetrout|12 years ago|reply
This! +100 this.

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.

http://www.irradiatedsoftware.com/sizeup/

[+] joeframbach|12 years ago|reply
I kind of use tiling in OSX. Most of my apps are running full-screen on two monitors, and I swipe across desktops to get to other apps. Of course, I am able to stack apps on top of eachother, but for the most part I don't. I have a desktop for sublime, a desktop for sequel pro, a desktop for a browser. In the event I need to look at two things at once, it's easy enough to drag things around.
[+] ajross|12 years ago|reply
This isn't really the same thing. Virtual desktops have been around for decades now, and people have been using them like this (with or without two physical displays) forever. It works for the kind of full-screenable "apps" like you mention. It works poorly for smaller tools: what if you want to have your editor and a console side-by-side, and still view a chat window below that.

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.

[+] yarou|12 years ago|reply
I've used awesome before, and I was quite impressed. Once you get the hang of shortcuts, you tend to be vastly more productive than if you were using a traditional or compositing wm. I grew up with a compositing WM, but the transition was easy enough. I'm curious if the advent of mobile devices (i.e. smartphone, tablet, etc) would lead one to choose tiling WMs over the traditional kind.
[+] gizmo686|12 years ago|reply
It looks like Windows 8 's metro interface is a basic tiling WM. It isn't very featured, but it can show multiple apps at the same time, and will automatically split the screen between them (without overlap).
[+] United857|12 years ago|reply
The funny thing is that Windows 1.0 in 1985 had a tiled manager, which was replaced in 2.0 with overlapping windows.

Back to the future!

[+] rob05c|12 years ago|reply
Eventually, you probably will stop relying on these things and do everything with the keyboard

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.

[+] oftenwrong|12 years ago|reply
As someone with no mouse, I agree that the mouse is a great thing. My RSI is aggravated severely by mouse usage, so I stick to the keyboard. For me, a fully-keyboard-controllable WM is essential to my career. The many programs and sites that require a mouse make my life difficult. Much of the modern computing world assumes a mouse is present. Still, even I admit the mouse is awesome. It is especially great for selecting text. It can be done on a keyboard usually, but it is not always as easy. It is nice to have options, whether to accommodate physical restrictions or just personal preference.
[+] zipperhead|12 years ago|reply
Some questions from someone who likes the idea of a tiling window manager but doesn't quite see how it would work better than compositing. I'm coming at this from KDE. My top applications are: firefox, thunderbird, eclipse, sublime text, and terminator.

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?

[+] nilved|12 years ago|reply
Awesome has a builtin window layout that I think you'd like: it has one program take up 80% of the screen in the center, and tiles horizontally the rest behind it. But any WM can do that either by duplicating the layout or, in the case of dynamic window managers, using floating windows.

Your notifications will stay. For widgets, stick it in the menu bars or use conky -- the same options are available.

[+] thinkersilver|12 years ago|reply
I'm really surprised that he left out i3wm. It's lightweight and the tiling placement is surprisingly intuitive and simple.

Here's the Google Talk:

http://www.youtube.com/watch?v=QnYN2CTb1hM

[+] hkhanna|12 years ago|reply
I tried i3wm, and I really wanted to like it. It's got the simplest configuration I've seen in a tiling window manager and it seemed very low maintenance.

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.

[+] sliverstorm|12 years ago|reply
i3wm is the most difficult to get used to, from what I've seen. As always, more configuration (in this case of window layout) makes for steeper learning curves.
[+] fnordfnordfnord|12 years ago|reply
An article about window managers with no screenshots?
[+] keithpeter|12 years ago|reply
Perhaps the time element is important in evaluating a workflow so I think what we actually need is a video.
[+] jared314|12 years ago|reply
I've settled on ShiftIt [1], which gives me more partial desktop control at a good price (free). There was a good post, a while ago, on the various options for OSX [2].

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.

[1] https://github.com/fikovnik/ShiftIt

[2] https://news.ycombinator.com/item?id=4059820

[+] sliverstorm|12 years ago|reply
Reasons why you shouldn't try a tiling window manager:

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

[+] DSMan195276|12 years ago|reply
Have you considered i3? It supports fully floating windows separate from the tiling, and normal pop-up windows go straight to the floating layer. It's extremely handy (As what you noted annoys me a ton with WM's like XMonad). i3 can act just like a normal floating WM if needed.
[+] Adrock|12 years ago|reply
Notion does a pretty good job of letting you mix floating and tiled windows. I do it manually by pressing Win+D, which I have bound to ioncore.detach. It's nice because all child windows that spawn from that program are floaters by default. It also lets you specify that new windows of particular programs should float by default or open in specifically named frames.

I wouldn't be able to GIMP without this...

[+] __brian__|12 years ago|reply
I have been using Awesome for a couple years now, and it has a great solution to this problem. You can add a rule to a window class (MPlayer creates a window with the class "MPlayer" for example) and set the "floating" property to true. The property can of course be toggled with a keyboard shortcut which is very handy with lots of terminals.
[+] qwerta|12 years ago|reply
I use "sort of" Tiling WM. I have 4 screens in portrait mode and always maximize windows across single screen. I never have to scroll or press alt-tab.

BTW: KDE and XFCE WM has some basic tiling support as well.

[+] noir_lord|12 years ago|reply
I use Mint 15 XFCE on all my machines, I did try i3wm and a few others (i3wm for a couple of weeks) but it always had a couple of silly niggles on 3 screens (cursor jumping back to the middle of the screen when I tried to move it to another screen drove me crazy).

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).

[+] eggoa|12 years ago|reply
At work I spend all day in Windows 7. The best thing I've found is WinSplit Revolution, which is nice but leaves a lot to be desired. (Unfortunately switching to Linux just isn't going to happen, for a number of reasons. But I get to use dwm at home, which I really like.)
[+] davexunit|12 years ago|reply
StumpWM is really cool. It uses a similar keybinding system to Emacs and is extensible via Common Lisp.