Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/blitz/stumpwm

A tiling, keyboard driven X11 Window Manager written entirely in Common Lisp
https://github.com/blitz/stumpwm

Last synced: 1 day ago
JSON representation

A tiling, keyboard driven X11 Window Manager written entirely in Common Lisp

Awesome Lists containing this project

README

        

The Stump Window Manager
------------------------

Stumpwm is a window manager written entirely in Common Lisp. It
attempts to be highly customizable while relying entirely on the
keyboard for input. You will not find buttons, icons, title bars, tool
bars, or any of the other conventional GUI widgets.

These design decisions reflect the growing popularity of productive,
customizable lisp based systems.

Build & Start Stumpwm
---------------------

Prerequisites
=============

* a common lisp distribution. CCL, CLISP, and SBCL all work.
* clx
* cl-ppcre

If you intend to use SBCL or CCL you need to install portable-clx. If
you're using clisp, make sure you use at least version 2.42 and that
clisp is compiled with new-clx. As of clisp 2.42, new-clx works fine
with stumpwm. Any version before that is too buggy to run stumpwm.

You can use asdf-install to install lisp libraries:
$ sbcl
* (require 'asdf)
* (require 'asdf-install)
* (asdf-install:install 'clx)
* (asdf-install:install 'cl-ppcre)

If using clisp, you'll need to install asdf first to use asdf-install.
$ mkdir -p ~/.cl/asdf && cd ~/.cl
$ wget http://cclan.cvs.sourceforge.net/*checkout*/cclan/asdf/asdf.lisp -O ~/.cl/asdf/asdf.lisp
$ echo "(load #p\"/home/USER/.cl/asdf/asdf\")" >> ~/.clisprc.lisp
$ mkdir -p ~/.cl/systems
$ echo "(push #p\"/home/USER/.cl/systems\" asdf:*central-registry*)" >> ~/.clisprc.lisp
$ wget http://common-lisp.net/project/asdf-install/asdf-install_latest.tar.gz
$ tar xf asdf-install_latest.tar.gz
$ ln -s ~/.cl/asdf-install/asdf-install/asdf-install.asd ~/.cl/systems/
$ clisp
* (asdf:operate 'asdf:compile-op 'asdf-install)
* (asdf:operate 'asdf:load-op 'asdf-install)
* (asdf-install:install :cl-ppcre)

CCL has asdf built in, but you will need to get asdf-install like with clisp.

Your operating system distribution may also have these libraries
available.

Building
========

Building stumpwm from CVS requires that you build the configure script:

$ autoconf

If there's already a configure script then just run it.

$ ./configure

By default stumpwm elects sbcl. If you have both installed, you can
explicitly select clisp like so:

$ ./configure --with-lisp=clisp

If your lisps are in strange places you may need to tell the script where to find them:

$ configure --with-sbcl=/home/sabetts/opt/bin/sbcl --with-clisp=/usr/local/downstairs/to/the/left/clisp

Now build it:

$ make

If all goes well, you should have a stumpwm binary now. Sorry there's
no install yet. Just copy the binary wherever you want or run it out
of the stumpwm/ directory. If autoconf worked properly, you can
install the binary, along with the .info documentation with:

$ make install

Now that you have a binary, call it from your ~/.xinitrc file:

$ echo /path/to/stumpwm >> ~/.xinitrc
$ startx

Hopefully that will put you in X running stumpwm!

SBCL And Threads
----------------

SBCL compiled with threads causes problems with stumpwm. The most
common is sluggishness. It may also cause stumpwm to become
unresponsive. If you use SBCL, consider using a version built without
threads.

CCL And Virtual Memory
----------------------

On 64bit platforms, CCL reserves a "very large" amount of virtual
memory. If this bothers you for some reason, you can pass the -R or
--heap-reserve option to the binary in your ~/.xinitrc file. See
http://ccl.clozure.com/manual/chapter15.1.html for an explanation.

Help
----

There's a texinfo manual, stumpwm.texi. the build scripts generate an
info file you can read in emacs or with the `info' program.

For other stuff visit the stumpwm wiki:

http://stumpwm.antidesktop.net/

There's a #stumpwm channel on irc.freenode.net, too.

Questions?
----------

See http://stumpwm.nongnu.org/community.html for more information on
contacting stumpwm developers and users.