Skip to content
Alexander Barbosa edited this page Aug 20, 2019 · 5 revisions

Hacking StumpWM

Emacs

If you use Emacs, as most StumpWM users, Slime's Swank and Sly's Slynk packages are easy to setup and get it going.

You will need to install their Emacs package and Lisp package, usually with QuickLisp.

Once you have installed one of those, call it in StumpWM with: (C-t :)

(ql:quickload :swank)
(swank:create-server)

or

(ql:quickload :slynk)
(slynk:create-server :dont-close t)

Once swank/slynk load, it returns which port it is using, default 4005.

Next we need to connect Emacs to that port.

Connecting Emacs to StumpWM

In Emacs, call Slime/Sly with slime-connect / sly-connect with * host as either localhost or 127.0.0.1 and port as 4005

A new window will raise in your Emacs with STUMPWM-USER as its prompt.

You are now connected to StumpWM.

To run any random program from Emacs, just write and evaluate in a lisp-mode buffer:

(run-shell-command "vlc")

Thats it, good hacking.

Contributing

Hack the Stump:

$ emacs core.lisp

Commit your changes ($EDITOR will be invoked for your log message, or use git with -m "log message"):

$ git commit -a

Review your changes:

$ git log origin..

Submit your commits to the mailing list:

$ git format-patch -o patches origin $ git send-email --to "stumpwm-devel@nongnu.org" patches

Working with development trees

Sometimes a developer will ask you to try out a bugfix or feature that exists in their personal git repo, but hasn't yet been pushed to the upstream repository.

Add a remote repository (ignoring the remote HEAD and only fetching one branch):

$ git remote add -f -m master -t master foo git://bar.org/~foo/stumpwm

Check out a local (tracking) copy of the remote master:

$ git checkout --track -b foo-master foo/master

Update:

(on branch foo-master) $ git pull foo