Introduction
CLFSWM is a 100% Common Lisp X11 window manager (based on Tinywm and Stumpwm. Many thanks to them).
It can be driven with the keyboard only or with the mouse.
Description
A display contains a root frame and its children. A child can be a window or another frame. The root frame or its children can be the current root. The current root is fullscreen maximized (no decoration, no button, no menu: nothing, just the application fullscreen!).
CLFSWM is highly dynamic. By default there is only one frame. Other frames are created/deleted on the fly. A window can be in more than one frame, so there can be multiple views of the same windows.
Using CLFSWM is like walking through a tree of frames and windows. Enter in a child to make it the current root and make it fullscreen maximized. Leave it to make its parent the current root.
Here is the default key binding to navigate through this tree:
- Alt-Tab: circulate through children of the current child.
- Alt-Left/Right?: circulate through sibling children (ie: this is like workspaces for a more conventional window manager)
- Alt-Up: select the first child of the current frame.
- Alt-Down: select the parent of the current child.
- Alt-Enter: Make the current selected child the current root (ie: maximize it)
- Alt+Shift-Enter: Make the parent of the current root the current root (ie: unmaximize the current root).
There is no more need for a pager: you are in the pager!
For key bindings, CLFSWM has two modes: a main mode with minimal keys and mouse grabbing to avoid conflicts with others applications, and a second mode with more key bindings and mouse actions. For details of its usage, have a look at the files doc/keys.txt or doc/keys.html A lot of functions to manage CLFSWM can be found in the second mode menu. See the files menu.txt menu.html for an overview.
A frame can be placed anywhere in its parent frame. And can have different layouts to automatically manage its children (tile, tile to left, to bottom, no layout...).