Ask HN: What's your favorite window manager for X11?
Ask HN: What's your favorite window manager for X11?
Do you prefer keyboard-driven window manager? and how do you arrange your windows to be more efficient?
Do you prefer keyboard-driven window manager? and how do you arrange your windows to be more efficient?
68 comments
[ 3.5 ms ] story [ 149 ms ] threadI have keyboard shortcuts for most simple operations (change workspace, change window, send to back, etc.) and use the mouse when that sort of thing makes sense. I try to stick to 'one task-type per workspace' which helps keep things somewhat organized (plus it keeps my browser in hiding while I'm trying to code).
Link: http://sawfish.wikia.com/wiki/Main_Page
I started using it when it was the default WM for gnome, and had so many customizations that I couldn't switch away when metacity came out.
Things like windows7-ish tiling (I had it before windows 7, when someone using another WM could do it).
What I love about OB is that everything is configurable. A lot of WMs (ahem, metacity) give you no control over the basic operations because they can't imagine any other way to do it. If you find faster ways to do things, e.g. workspace warping with mousewheel, or reordering windows with win+middle click) OB actually lets you achieve them. It's all there in XML--and the defaults are well thought out, too.
I know several people who swear by xmonad, but I've never been able to deal with it for graphical work.
I've also been meaning to give a modern tiling window manager (I've used ratpoison in the past) e.g., Xmonad a try.
All I care about is having separate workspaces and a few keyboard shortcuts. I have 7 work spaces: Main (local terminal), Browsing (Chrome/Firefox), Communications (Pidgin/XChat/Skype), Development (GVim/terminal), Email (Thunderbird/GMail), Shells (tabbed remote terminals), Misc (usually shells/music player).
Each workspace is dedicate to a single task. Everything is fully maximized in each workspace (for the most part). I switch between them with Alt+{1,7}. Ctrl+M Maximizes a window. I have a few monitoring applets (CPU/network) in the taskbar thingie. Over time I've found that is all I need to be happy and productive.
I especially liked docking applications/icons, its good support for virtual desktops and especially the many wmXXX applications that did one job well, in the space of a 64x64 pixel tile.
These days, I mostly resort to the "standard" gnome desktop with whatever it uses and resort to something very lightweight such as fluxbox on resource constrained machines.
One killer feature of wmii is its use of 'tags' instead of virtual desktops. Windows can be assigned to multiple tags. I tend to have tags per task, so task switching is as simple as switching desktop tags.
I'm mainly using OSX now but I always have my wmii open in a virtual box.
I usually have a workspace for shell & filesystem stuff, one for emacs, one for documentation, one for running servers and monitors and other misc. utils for whatever I'm doing, and one floating one for web browser and music.
(Everything else is as well, but those are the things I particularly like over other window managers I have seen.)
I would like to try running Xmonad on a second monitor, and use that monitor for xterms primarily - I don't want my browser window-size to change with how many windows I have open - but I haven't had time/monitors to experiment.
I have a single config file that detects which host its running on and modifies fvwm's behavior accordingly. This way I can have the same configuration work well on the desktop and the netbook.
It works well on the netbook, too, as its very resource-friendly.
I have it set up with a 3x3 virtual desktop space and no edge resistance. The "Windows" key pops up the virtual desktop manager.
Also, I have it configured so that when I hit the "Menu" key or CTRL-Windows I get the root menu, so it's reasonably keyboard friendly. (e.g. CTRL-Windows,T gets me a terminal; CTRL-Windows,N,W gives a browser.)
Not that I use those, really, since I have F1 on the root window bound to "launch terminal", and F2 to "launch browser".
FVMW doesn't work as well as others out-of-the-box, but you can pretty much make it do anything if you tweak the config enough. But that's work, so you gotta wannit.
I really wish it was a compositing window manager, but it's not, and it doesn't seem likely to be.
[1] http://xmonad.org/tour.html
One of the most impressive things is how well it has worked out of the box, so well that I basically forgot to come back and customize, its just been working for quite a while now.
http://swtch.com/plan9port/
What more could one ask for?
It can spawn a terminal with one keystroke, can move and resize windows, and has virtual desktops. Other than that, it gets the hell out of my way -- no extraneous bars / panels / whatever, and one-pixel-wide window borders. That's all I ever want a WM to do.
It's tiling, keyboard-driven, small and lightweight. I've been using it for years now. It's a little hairy to start with, but I love it.
Instead of workspaces it uses "tags" which you can treat just like workspaces, but you can also combine, on-the-fly, to form a mashup of different tasks. For example, sometimes I want my editor & web browser next to each other, when I'm looking something up, but most of the time I just want to focus on the code.
[1]: http://dwm.suckless.org/
[2]: http://en.wikipedia.org/wiki/Dwm
Awesome is great because of its use of the keyboard and tag system. Also, it is named after one of Barney Stinson's catchphrases.
Now that they kicked xcb out of cairo (which awesome needs) which resulted in awesome getting kicked out of the arch linux community repository I think I'll just switch to i3 like all of my buddies.
I usually have Chrome on my right screen, several tabs worth of terminals on my left screen, and Komodo Edit will float back and forth between the two, depending on what I'm doing.
Tiled and programmable in Common Lisp. It's fun to config/hack.
I like a main window taking the left 60% of the screen and the remainder for 2 aux windows stacked vertically.