-
Notifications
You must be signed in to change notification settings - Fork 265
StartUp
A runnable StumpWM installation consists of 3 parts:
- Common Lisp REPL
- StumpWM Lisp package and its dependencies
- Executable file as entry point
Besides compiling StumpWM manually, introduced in README file, there are some optional ways introduced below.
StumpWM is available in most Linux Distributions package repositories for easy install:
For Debian/Ubuntu: $ sudo apt install stumpwm
For Fedora: sudo dnf install stumpwm
For Gentoo: $ sudo emerge --ask x11-wm/stumpwm
For Arch Linux: official wiki.
Some package managers can provide packages not available on your distro, easily installable alongside your distro package manager without conflicts:
QuickLisp: $ (ql:quickload "stumpwm")
GNU Guix: $ guix package -i stumpwm
Nix: $ nix-env --install stumpwm
It is highly recommended to use Roswell to manage your Lisp REPL. See its GitHub page for more instructions.
This method makes it easy to upgrade StumpWM together with other Lisp packages
using ql:update-all-dists
.
To install StumpWM, run ros run
or open the Lisp REPL. If it is the first
time you use Roswell, it might take a while to download Lisp REPL.
After that, run the following:
* (ql:quickload :stumpwm)
This will install StumpWM as Lisp package into your system.
However, in order to launch it through login manager or .xinitrc
, an
executable file must be created. Follow the following steps to do so:
$ ros init stumpwm
This will create an executable file named stumpwm.ros
. Edit it according to
the following example:
#!/bin/sh
#|-*- mode:lisp -*-|#
#|
exec ros -Q -- $0 "$@"
|#
(progn
#+quicklisp (ql:quickload '(stumpwm) :silent t))
(defpackage :ros.script.stumpwm.3749863733
(:use :cl))
(in-package :ros.script.stumpwm.3749863733)
(defun main (&rest argv)
(declare (ignorable argv))
(stumpwm:stumpwm))
Then place stumpwm.ros
file to wherever you like and make it the entry
point of this awesome WM.
Using the login manager will be more useful if you use a Linux Distribution which starts X11 and a Login Manager by default.
Or you can start StumpWM with TTY using .xinitrc/.xsession files.
Create the file stumpwm.desktop in /usr/share/xsessions/ containing the following:
[Desktop Entry]
Encoding=UTF-8
Name=StumpWM
Comment=Login using StumpWM
Exec=/path/to/stumpwm-binary
Type=XSession
Remember to change /path/to/stumpwm-binary to the correct path. If you installed StumpWM using "$ sudo make install" the path will be /usr/local/bin/stumpwm
Place
exec /path/to/stumpwm-binary
into your .xinitrc if you start X using startx or into .xsession if you use xdm or similar. A more complicated .xinitrc may look like:
#! /bin/bash
eval `gnome-keyring-daemon --start --components=gpg,pkcs11,secrets,ssh`
export GNOME_KEYRING_CONTROL
export SSH_AUTH_SOCK
export GPG_AGENT_INFO
export GNOME_KEYRING_PID
exec xmodmap ~/.xmodmap
exec xsetroot -cursor_name left_ptr
exec xset s off
exec xset b off
exec ssh-agent /usr/local/bin/stumpwm
This sets up the gnome-keyring properly so that applications can use it, as well as changing some important X11 "features" like the bell or sticky keys. Finally it launches stumpwm with the ssh-agent so that you can manage ssh keys appropriately.
Shell script meant to be executed as end client from xinitrc (or xsession or any script you start stumpwm from)
The script will pop up a window asking what to do, you can start or update stumpwm (from cvs), start an other wm (twm by default) or exit.
Each time you exit the current wm, the script will pop up this window again, so you can switch to an other wm without killing X (and all the running windows)
You'll probably have to modify it to reflect your settings.
Obtain it here:
StumpWMStartScript (Link is dead)
StumpWM's makefile also builds stumpwm.info. It contains all sorts of information, including beginner's.
If for some reason it did not, you can generate it yourself by entering the directory you unpacked StumpWM into and running:
$ makeinfo stumpwm.texi
You may read it by any means you please,
$ info stumpwm.info
will work fine. If you are unfamiliar with info, try:
$ info info
After you've installed Stumpwm with make install
you can also access the manual via C-h i
and then searching for StumpWM
from Emacs.