Wednesday, September 10, 2008

XMonad wishlist

Having used XMonad for a little while, here are some things I want. Some I will get around to as soon as I get a hang of configuring it. Others probably require considerable architectural overhaul.

Quick key for maximize and restore.

Quote key to pass commands through window manager to application, like Emacs's C-q. Or vi-style WM mode and Application mode.

Collapse all windows in all workspaces into a single workspace.

The size of a tile need not define the size of the window but the size of the viewport through which possibly only part of the window is visible. The window may be resized and panned behind the viewport. This feature is intended for applications which put a lot of fluff, e.g., toolbars and menubars, around the actual content.

Compositing. Scale and rotate windows and tiles.

1 comment :

Spencer Janssen said...

> Quick key for maximize and restore.

We have a contrib module for this, XMonad.Layout.Toggle.

> Quote key

I don't think anyone has written the code for this, but it is certainly possible. The nice thing about xmonad is that extensions and configurations have the full power of Haskell and X11 behind them, making almost anything possible with some effort.

> Collapse all windows in all workspaces into a single workspace.

Very easy, see the API exported by XMonad.StackSet for all the window and workspace manipulations.

> The size of a tile need not define the size of the window

This is more difficult. While possible with window reparenting, xmonad is not a reparenting window manager.

> Compositing.

Also difficult. It is in the class of features that would be nice, but not necessarily nice enough that anyone has decided to work on them yet.