My stumpwm configuration

README.org 3.0KB

    <ul> <li>A collection of StumpWM modules Documentation on modules can be found [[<a href="https://github.com/stumpwm/stumpwm/wiki/Modules][on" rel="nofollow">https://github.com/stumpwm/stumpwm/wiki/Modules][on</a> our wiki]].<br> ** How to write a module *** General guidelines</li> <li>Create your own package and optionally import the stumpwm package. Don&#39;t use the stumpwm package. If you need a symbol exported, [[<a href="https://github.com/stumpwm/stumpwm/issues][open" rel="nofollow">https://github.com/stumpwm/stumpwm/issues][open</a> an issue]].</li> <li>Use =asdf=.</li> <li>Document exported symbols and commands.</li> <li>Stay organized! Put things in neat little directories. A distro might want to package your module.</li> </ul> <p>*** A pseudo-tutorial The path of least resistance is to use <code>quickproject</code> and its helper functions. Specifically (get [[<a href="http://www.quicklisp.org/beta/][quicklisp]]):" rel="nofollow">http://www.quicklisp.org/beta/][quicklisp]]):</a> #+BEGIN_SRC lisp (ql:quickload &#34;quickproject&#34;) (quickproject:make-project #p&#34;~/path/to/new-module&#34; :depends-on &#39;(stumpwm) :name &#34;swm-new-module&#34;) #+END_SRC Then in =~/path/to/new-module/= you will have: #+BEGIN_EXAMPLE -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 #+END_EXAMPLE The files that are important for you are =package.lisp= and =swm-new-module.asd=. They contain the =asdf= metadata that describes your project.</p> <p>An example =asd= file looks like: #+BEGIN_EXAMPLE (asdf:defsystem #:swm-new-module :serial t :description &#34;Describe swm-new-module here&#34; :author &#34;Guy Steele&#34; :license &#34;GPLv3&#34; :depends-on (#:stumpwm) :components ((:file &#34;package&#34;)</p> <pre><code> (:file &#34;swm-emacs&#34;))) ; any other files you make go here </code></pre> <p>#+END_EXAMPLE A =package.lisp= looks like: #+BEGIN_EXAMPLE (defpackage #:swm-new-module (:use #:cl :stumpwm)) #+END_EXAMPLE</p> <p>From here you can commence hacking. When you&#39;re ready, advertise it to the world!</p> <p>[[<a href="http://www.xach.com/lisp/quickproject/][More" rel="nofollow">http://www.xach.com/lisp/quickproject/][More</a> docs here]].</p> <ul> <li>Current Modules (click for its respective README/docs) ** Media</li> <li>[[./media/amixer/README.org][amixer]]</li> <li>[[./media/aumix/README.org][aumix]] ** Minor Modes</li> <li>[[./minor-mode/mpd/README.org][mpd]]</li> <li>[[./minor-mode/notifications/README.org][notifications]] ** Modeline</li> <li>[[./modeline/battery-portable/README.org][portable]]</li> <li>[[./modeline/battery/README.org][battery]]</li> <li>[[./modeline/cpu/README.org][cpu]]</li> <li>[[./modeline/disk/README.org][disk]]</li> <li>[[file:modeline/hostname/README.org][hostname]]</li> <li>[[./modeline/maildir/README.org][maildir]]</li> <li>[[./modeline/mem/README.org][mem]]</li> <li>[[./modeline/net/README.org][net]]</li> <li>[[./modeline/wifi/README.org][wifi]] ** Utilities</li> <li>[[./util/numpad-layouts/README.org][numpad-layouts]]</li> <li>[[./util/app-menu/README.org][menu]]</li> <li>[[./util/logitech-g15-keysyms/README.org][keysyms]]</li> <li>[[./util/passwd/README.org][passwd]]</li> <li>[[./util/productivity/README.org][productivity]]</li> <li>[[./util/stumptray/README.org][stumptray]]</li> <li>[[./util/surfraw/README.org][surfraw]]</li> <li>[[./util/undocumented/README.org][undocumented]]</li> <li>[[./util/windowtags/README.org][windowtags]]</li> <li>[[./util/kbd-layouts/README.org][kbd-layouts]]</li> </ul>