Skip to content

Instantly share code, notes, and snippets.

@zahardzhan
Created September 17, 2015 01:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zahardzhan/272cace5eb0ccf9bf3dd to your computer and use it in GitHub Desktop.
Save zahardzhan/272cace5eb0ccf9bf3dd to your computer and use it in GitHub Desktop.
My StumpWM Setup (2010)
;; -*-lisp-*-
(in-package :stumpwm)
(defun cat (&rest strings)
(apply 'concatenate 'string strings))
(defparameter foreground-color* "white")
(defparameter background-color* "black")
(defparameter border-color* "black")
(defparameter *normal-border-width* 0)
(defparameter *maxsize-border-width* 0)
(defparameter *window-border-style* :thin)
;; set the message and input box to the bottom right
(setf *message-window-gravity* :bottom-right
*input-window-gravity* :bottom-right)
;; desktop background and cursor
(run-shell-command "xsetroot -solid 'dark grey'" t)
(run-shell-command "xsetroot -cursor_name left_ptr")
;; change the default group to chrome group and give it the number 1
(defvar chrome-group* '())
(setf (group-name (first (screen-groups (current-screen)))) "Chrome"
chrome-group* (add-group (current-screen) "Chrome")
(group-number chrome-group*) 1)
(set-prefix-key (kbd "s-z"))
(define-key *root-map* (kbd "2") "vsplit")
(define-key *root-map* (kbd "3") "hsplit")
(define-key *root-map* (kbd "1") "only")
(define-key *root-map* (kbd "0") "remove-split")
(define-key *root-map* (kbd "=") "balance-frames")
(define-key *root-map* (kbd "s-k") "kill-window")
(define-key *top-map* (kbd "F11") "fullscreen")
(define-key *top-map* (kbd "F12") "mode-line")
(define-key *top-map* (kbd "s-TAB") "fnext")
;; (define-key *top-map* (kbd "s-ISO_Left_Tab") "prev")
(define-key *top-map* (kbd "s-o") "next")
(define-key *top-map* (kbd "s-SPC") "next-in-frame")
(define-key *top-map* (kbd "S-s-SPC") "prev-in-frame")
(define-key *top-map* (kbd "s-h") "move-focus left")
(define-key *top-map* (kbd "s-j") "move-focus down")
(define-key *top-map* (kbd "s-k") "move-focus up")
(define-key *top-map* (kbd "s-l") "move-focus right")
(define-key *top-map* (kbd "s-H") "move-window left")
(define-key *top-map* (kbd "s-J") "move-window down")
(define-key *top-map* (kbd "s-K") "move-window up")
(define-key *top-map* (kbd "s-L") "move-window right")
(loop for group in (list "1" "2" "3" "4" "5" "6" "7" "8" "9")
for shift in (list "!" "@" "#" "$" "%" "^" "&" "*" "(")
do (define-key *top-map* (kbd (cat "s-" group)) (cat "gselect " group))
do (define-key *top-map* (kbd (cat "s-" shift)) (cat "gmove " group)))
(gnew "Second")
(gnew "Third")
(gnew "Fourth")
(gnext)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment