|
|
<!-- Name: CLFSWM -->
|
|
|
<!-- Version: 9 -->
|
|
|
<!-- Last-Modified: 2014/12/03 02:48:15 -->
|
|
|
<!-- Author: anonymous -->
|
|
|
# Introduction
|
|
|
|
|
|
[CLFSWM](CLFSWM) is a 100% Common Lisp X11 window manager (based on [Tinywm](http://incise.org/index.cgi/TinyWM) and [Stumpwm](http://www.nongnu.org/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](http://trac.common-lisp.net/clfswm/browser/clfswm/doc/keys.txt) or
|
|
|
[doc/keys.html](http://trac.common-lisp.net/clfswm/browser/clfswm/doc/keys.html)
|
|
|
A lot of functions to manage CLFSWM can be found in the second mode
|
|
|
menu. See the files
|
|
|
[menu.txt](http://trac.common-lisp.net/clfswm/browser/clfswm/doc/menu.txt)
|
|
|
[menu.html](http://trac.common-lisp.net/clfswm/browser/clfswm/doc/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...). |