Extension Modules for StumpWM
Common Lisp Emacs Lisp Shell
Latest commit 3b2c9a4 May 26, 2016 @dbjergaard dbjergaard Merge pull request #52 from wsgac/master
Allow passing of custom setxkb options.


A collection of StumpWM modules

Documentation on modules can be found on our wiki.

How to write a module

General guidelines

  • Create your own package and optionally import the stumpwm package. Don’t use the stumpwm package. If you need a symbol exported, open an issue.
  • Use asdf.
  • Document exported symbols and commands.
  • Stay organized! Put things in neat little directories. A distro might want to package your module.

A pseudo-tutorial

The path of least resistance is to use `quickproject` and its helper functions. Specifically (get quicklisp):

(ql:quickload "quickproject")
(quickproject:make-project #p"~/path/to/new-module" :depends-on '(stumpwm) :name "swm-new-module")

Then in ~/path/to/new-module/ you will have:

-rw-rw-r--  1 dave dave   68 Apr  6 19:38 package.lisp
-rw-rw-r--  1 dave dave   53 Mar 16  2014 README.txt
-rw-rw-r--  1 dave dave  271 Mar 16  2014 swm-new-module.asd
-rw-rw-r--  1 dave dave 1.8K Apr  6 17:51 swm-new-module.lisp

The files that are important for you are package.lisp and swm-new-module.asd. They contain the asdf metadata that describes your project.

An example asd file looks like:

(asdf:defsystem #:swm-new-module
  :serial t
  :description "Describe swm-new-module here"
  :author "Guy Steele"
  :license "GPLv3"
  :depends-on (#:stumpwm)
  :components ((:file "package")
               (:file "swm-emacs"))) ; any other files you make go here

A package.lisp looks like:

(defpackage #:swm-new-module
  (:use #:cl :stumpwm))

From here you can commence hacking. When you’re ready, advertise it to the world!

More docs here.

Current Modules

(click for its respective README/docs)


Minor Modes