xmonad on eee

08Mar09

Matt Gruskin put together some screenshots of xmonad on the eee 1000,

Note the use of a tabbed layout, and the prompt extension.
See   the full set of shots here


Miles Sabin wrote an interesting post on the xmonad mailing list about a layout that would have xmonad work as a sliding block puzzle. Intriguing!


Sometimes people wonder how a very window-heavy/interactive app like gimp will work under a tiling window manager. The answer is: just fine.

In xmonad, at least, the default rule is to float gimp into the floating layer, with optional tiling as you need it. Here’s a quick demo of using gimp under xmonad, so you get  the idea:


A great post on the why you would want to use xmonad from Jesse Andrews: Getting Tiled with XMonad. A choice quote:

XMonad has defeated all other desktop environments

Enjoy!


The cross layout

The cross layout

A new xmonad layout has been added to xmonad-contrib, by Luis Cabellos.

The “cross layout” has a main window in the center of the screen and the rest on the sides of main window, as a cross configuration. It’s similar layout to Circle, but in Cross the focused window always is on top and in the center.


XMonad.Actions.CycleWindows

by Wirt Wolff
Provides bindings to cycle windows up or down on the current workspace stack while maintaining focus in place. Bindings are available to:

  • Cycle nearby or nth windows into the focused frame
  • Cycle a window halfway around the stack
  • Cycle windows through the focused position.
  • Cycle unfocused windows.

These bindings are especially useful with layouts that hide some of the windows in the stack, such as Full, TwoPane or Mosaic with three or four panes.

Multimedia keys

Alexey Khudyakov added support for multimedia keys in Emacs-style keybindings (see XMonad.Util.EZConfig).

runOrCopy

by Lanny Ripple
runOrCopy from XMonad.Actions.CopyWindow will run the provided shell command unless it can find a specified window in which case it will copy the window to the current workspace. Similar to XMonad.Actions.WindowGo.


Matthew Jones has written a 6 month review of xmonad, XMonad: A tiling window manager written in Haskell.

Some choice quotes:

I’ve been using xmonad for the last 6 months and it is simply beautiful.

Another thing that impresses me is how well it handles multiple displays and multiple desktops. .. the way that xmonad handles this is very elegant.

Since I have been using it it has crashed exactly zero times.

Thanks Matthew, this kind of feedback is inspiring!


One issue that was irritating xmonad users for a while is that if you launch an application which takes some time to load (say, firefox or eclipse) and go to another workspace, program’s windows appears on the workspace you currently are on, not on the workspace the application was launched on.

Eventually, solution is found and implemented in XMonad.Actions.SpawnOn by Spencer Janssen (a similar solution was independently implemented by Daniel Schoepe). To get it working you need to add one action to your main function, add a ManageHook and replace all spawn functions you use in the keybindings with spawnHere. (See module documentation for details.)

The new module also contains replacement for Shell prompt with the same semantics. As another bonus, you can launch an application on some predefined (rather than current) workspace.


A new xmonad layout has been committed to the xmonad-contrib repository, courtesy Norbert Zeh. Here’s how he describes it:

After using GridVariants.TallGrid for a while, I got fed up with the fact that the meaning of columns and rows get exchanged when TallGrid is rotated using Mirror (as well as with other small nuisances).

The attached patch contains a new layout, GridVariants.SplitGrid, which allows the orientation of the split between the master and the slave grid to be specified as a parameter, thus doing away with the need to use Mirror or Reflect with this layout.

What SplitGrid and TallGrid do should be achievable using the standard Grid layout plus a layout combinator.  However, the automatic assignment of clients to the master/slave grids would require more plumbing in xmonad.hs, which is why I opted for writing this as a separate layout.


xmonad on a quad headed display. Very cool. Courtesy @nickaugust