diff options
Diffstat (limited to 'stumpwm/init.lisp')
| -rw-r--r-- | stumpwm/init.lisp | 236 |
1 files changed, 0 insertions, 236 deletions
diff --git a/stumpwm/init.lisp b/stumpwm/init.lisp deleted file mode 100644 index 3436f06..0000000 --- a/stumpwm/init.lisp +++ /dev/null @@ -1,236 +0,0 @@ -;; Time-stamp: <2018-06-24 23:12:19 (tslil)> -(IN-PACKAGE STUMPWM) - -;; Startup stuff -(SETF *STARTUP-MESSAGE* NIL) -(RUN-COMMANDS "exec $TERMINAL -e $HOME/bin/tma") -(SET-PREFIX-KEY (KBD "XF86Launch9")) - -;; Window decorations -(SETF *MESSAGE-WINDOW-GRAVITY* :CENTER - *INPUT-WINDOW-GRAVITY* :CENTER) -(SETF *TIMEOUT-WAIT* 5) -(SETF *MAXSIZE-BORDER-WIDTH* 1) -(SETF *NORMAL-BORDER-WIDTH* 1) -(SETF *TRANSIENT-BORDER-WIDTH* 1) -(SETF *WINDOW-BORDER-STYLE* :THIN) -(SET-FRAME-OUTLINE-WIDTH 1) -(SET-MSG-BORDER-WIDTH 3) - -;; Groups -(GRENAME "def") -(GNEWBG "one") -(GNEWBG "two") - -(SETF *FRAME-NUMBER-MAP* "neioarst123456789" - *FRAME-INDICATOR-TEXT* " This frame has focus. ") - -;; ============================================================================= -;; Functions -;; Dropwhile -(DEFUN DROPWHILE (PREDICATE LIST) - (LOOP :WHILE (FUNCALL PREDICATE (CAR LIST)) - :DO (POP LIST)) - LIST) - -;; Notifications -(DEFUN MY-MESSAGE (LOCATION STRING) - (LET ((OLD-LOCATION *message-window-gravity*)) - (SETF *message-window-gravity* LOCATION) - (ECHO STRING) - (SETF *message-window-gravity* OLD-LOCATION))) - -;; Volume -(DEFUN VOLUME-MODIFY (MIXER ACTION) - (LET* ((OUTPUT (RUN-PROG-COLLECT-OUTPUT "/usr/bin/amixer" "set" - MIXER - (CASE ACTION - (:INC "2%+") - (:DEC "2%-") - (:MUT "toggle")))) - (PARSED (DROPWHILE #'(LAMBDA (F) - (NOT (EQ #\: (CHAR F (1- (LENGTH F)))))) - (SPLIT-STRING (CAR (LAST (SPLIT-STRING - OUTPUT))) "[ \[]+")))) - (MY-MESSAGE :TOP-RIGHT - (FORMAT NIL "~A: ~A [~A]" - MIXER (NTH 3 PARSED) (NTH 5 PARSED))))) - -(DEFUN MAIL-INFO () - (LET ((NUM (PARSE-INTEGER - (RUN-PROG-COLLECT-OUTPUT "/usr/bin/notmuch" "count" "tag:unread")))) - (IF (>= 0 NUM) "^7no unread emails^n" - (FORMAT NIL "~r^7 unread ~[email~:;emails~]^n" NUM (1- NUM))))) - -(DEFUN BATTERY-INFO () - (LET* ((RAW (RUN-PROG-COLLECT-OUTPUT "/usr/bin/acpi")) - (BAT0 (FIRST (SPLIT-STRING RAW))) - (PARSED (CDR (DROPWHILE #'(LAMBDA (F) (NOT (EQ #\: (CHAR F (1- (LENGTH F)))))) - (SPLIT-STRING BAT0 "[ ,]+")))) - (STAT (NTH 0 PARSED)) - (PERC (NTH 1 PARSED)) - (PNUM (PARSE-INTEGER (SUBSEQ PERC 0 (1- (LENGTH PERC))))) - (TIME (NTH 2 PARSED))) - (FORMAT NIL "~[^1~;^3~:;^2~]~c ~d%, ~a" - (FLOOR (* 4 (/ PNUM 100))) - (CHAR STAT 0) - PNUM - (OR TIME "not charging")))) - - -;; ============================================================================= -;; Commands - -;; Volume -(DEFCOMMAND VOLUME-INC (MIXER) (:REST) (volume-modify MIXER :INC)) -(DEFCOMMAND VOLUME-DEC (MIXER) (:REST) (volume-modify MIXER :DEC)) -(DEFCOMMAND VOLUME-MUT (MIXER) (:REST) (volume-modify MIXER :MUT)) - -;; Switch to stuff -(DEFCOMMAND SELECT-GROUP-FROM-LIST () (:REST) - ;; lifted from group.lisp source because there weren't any nice - ;; wrappers like in the case of windows (below) - (LET* ((GROUPS (SORT-GROUPS (CURRENT-SCREEN))) - (NAMES (MAPCAR (LAMBDA (G) - `(,(FORMAT-EXPAND *GROUP-FORMATTERS* "%t" G) - . ,G)) - (IF *LIST-HIDDEN-GROUPS* - GROUPS (NON-HIDDEN-GROUPS GROUPS)))) - (CHOICE (CDR (SELECT-FROM-MENU (CURRENT-SCREEN) NAMES - "Switch to which group?")))) - (WHEN CHOICE (SWITCH-TO-GROUP CHOICE)))) - -(DEFCOMMAND MY-PULL-FROM-WINDOWLIST () (:REST) ; I wanted a prompt... - (LET ((CHOICE (SELECT-WINDOW-FROM-MENU (ALL-WINDOWS) "%n %t" - "Pull which window to this frame?"))) - (WHEN CHOICE (PULL-WINDOW CHOICE)))) - -;; Email -(DEFCOMMAND CHECK-NEW-MAIL () (:REST) - (MY-MESSAGE :CENTER (MAIL-INFO))) -;; Battery -(DEFCOMMAND BATTERY-STATS () (:REST) - (MY-MESSAGE :CENTER (BATTERY-INFO))) - -;; ============================================================================= -;; Bindings - -;; Free stuff -- where are all these other keys being bound? -(setf *root-map* (make-sparse-keymap)) - -;; Volume -(DEFINE-KEY *TOP-MAP* (KBD "XF86AudioRaiseVolume") "volume-inc Master") -(DEFINE-KEY *TOP-MAP* (KBD "XF86AudioLowerVolume") "volume-dec Master") -(DEFINE-KEY *TOP-MAP* (KBD "XF86Launch1") "volume-mut Master") -(DEFINE-KEY *TOP-MAP* (KBD "S-XF86AudioRaiseVolume") "volume-inc Headphone") -(DEFINE-KEY *TOP-MAP* (KBD "S-XF86AudioLowerVolume") "volume-dec Headphone") -(DEFINE-KEY *TOP-MAP* (KBD "S-XF86Launch1") "volume-mut Headphone") - -;; Misc -(DEFINE-KEY *TOP-MAP* (KBD "XF86ScreenSaver") "exec lock") -(DEFINE-KEY *TOP-MAP* (KBD "XF86Battery") "battery-stats") -(DEFINE-KEY *TOP-MAP* (KBD "XF86WebCam") "check-new-mail") -(DEFINE-KEY *TOP-MAP* (KBD "XF86MonBrightnessUp") "exec xbacklight -inc 10") -(DEFINE-KEY *TOP-MAP* (KBD "XF86MonBrightnessDown") "exec xbacklight -dec 10") - -;; ============================================================================= -;; Root bindings -(DEFINE-KEY *ROOT-MAP* (KBD "C-Q") "quit") -(DEFINE-KEY *ROOT-MAP* (KBD "C-g") "abort") - -(DEFINE-KEY *ROOT-MAP* (KBD "g") "gmove") -(DEFINE-KEY *ROOT-MAP* (KBD "G") "gmerge") -(DEFINE-KEY *ROOT-MAP* (KBD "TAB") "select-group-from-list") -(DEFINE-KEY *ROOT-MAP* (KBD "l") "gselect def") -(DEFINE-KEY *ROOT-MAP* (KBD "u") "gselect one") -(DEFINE-KEY *ROOT-MAP* (KBD "y") "gselect two") -(DEFINE-KEY *ROOT-MAP* (KBD "M-l") "gmove def") -(DEFINE-KEY *ROOT-MAP* (KBD "M-u") "gmove one") -(DEFINE-KEY *ROOT-MAP* (KBD "M-y") "gmove two") - -(DEFINE-KEY *ROOT-MAP* (KBD "s") "exec") -(DEFINE-KEY *ROOT-MAP* (KBD "S") "swank-toggle") -(DEFINE-KEY *ROOT-MAP* (KBD "'") "time") -(DEFINE-KEY *ROOT-MAP* (KBD ";") "eval") -(DEFINE-KEY *ROOT-MAP* (KBD ":") "colon") -(DEFINE-KEY *ROOT-MAP* (KBD "K") "delete") -(DEFINE-KEY *ROOT-MAP* (KBD "C-K") "kill") -(DEFINE-KEY *ROOT-MAP* (KBD "q") "exec $BROWSER") -(DEFINE-KEY *ROOT-MAP* (KBD "E") "emacs") -(DEFINE-KEY *ROOT-MAP* (KBD "c") "exec $TERMINAL -e tmux") -(DEFINE-KEY *ROOT-MAP* (KBD "C") "exec $TERMINAL") - -(DEFINE-KEY *ROOT-MAP* (KBD "h") "hsplit") -(DEFINE-KEY *ROOT-MAP* (KBD "v") "vsplit") -(DEFINE-KEY *ROOT-MAP* (KBD "r") "remove") -(DEFINE-KEY *ROOT-MAP* (KBD "a") "iresize") -(DEFINE-KEY *ROOT-MAP* (KBD "x") "exchange-direction") -(DEFINE-KEY *ROOT-MAP* (KBD "b") "banish") - -(DEFINE-KEY *ROOT-MAP* (KBD "space") "my-pull-from-windowlist") -(DEFINE-KEY *ROOT-MAP* (KBD "C-w") "select-window") -(DEFINE-KEY *ROOT-MAP* (KBD "W") "pull-window-by-number") - -(DEFINE-KEY *ROOT-MAP* (KBD "P") "prev-in-frame") -(DEFINE-KEY *ROOT-MAP* (KBD "N") "next-in-frame") -(DEFINE-KEY *ROOT-MAP* (KBD "p") "pull-hidden-previous") -(DEFINE-KEY *ROOT-MAP* (KBD "n") "pull-hidden-next") - -(DEFINE-KEY *ROOT-MAP* (KBD "O") "only") - -(DEFINE-KEY *ROOT-MAP* (KBD ",") "move-focus left") -(DEFINE-KEY *ROOT-MAP* (KBD ".") "move-focus right") -(DEFINE-KEY *ROOT-MAP* (KBD "i") "move-focus up") -(DEFINE-KEY *ROOT-MAP* (KBD "o") "move-focus down") -(DEFINE-KEY *ROOT-MAP* (KBD "M-.") "move-window right") -(DEFINE-KEY *ROOT-MAP* (KBD "M-,") "move-window left") -(DEFINE-KEY *ROOT-MAP* (KBD "M-i") "move-window up") -(DEFINE-KEY *ROOT-MAP* (KBD "M-o") "move-window down") - -;; ============================================================================= -;; Visual - -;; Set the font -(REQUIRE 'CLX-TRUETYPE) -(LOAD-MODULE "ttf-fonts") -(XFT:CACHE-FONTS) -(SET-FONT (MAKE-INSTANCE 'XFT:FONT :FAMILY "DejaVu Sans Mono" :SUBFAMILY "Book" :SIZE 12)) - -;; Modeline -(LOAD-MODULE "fuzzytime") -(SETF *MODE-LINE-TIMEOUT* 60 - *SCREEN-MODE-LINE-FORMAT* '("%F ^>" (:EVAL (MAIL-INFO)) " " (:EVAL (BATTERY-INFO))) - *MODE-LINE-FOREGROUND-COLOR* "black" - *MODE-LINE-BACKGROUND-COLOR* "#EAFFFF" - FUZZYTIME:*MINUTE-GRANULARITY* 5 - FUZZYTIME:*FUZZYTIME-FORMAT* '(:MINUTES :HOURS "^7 in the ^n" :PERIOD "^7 on ^n" :DOW "^7 the ^n" :DAY)) -(TOGGLE-MODE-LINE (CURRENT-SCREEN) (CURRENT-HEAD)) - -;; Colours -;; TODO: Fix colours -(SET-FOCUS-COLOR "darkred") -(SET-UNFOCUS-COLOR "#32302f") -(SET-WIN-BG-COLOR "black") -(SET-BORDER-COLOR "grey30") -(SET-FG-COLOR "black") -(SET-BG-COLOR "#FFFFEA") - -;; ============================================================================= -;; Swank - -(QL:QUICKLOAD :SWANK) -(REQUIRE 'SWANK) - -(DEFVAR *SWANK-SERVER-RUNNING* NIL) - -(DEFCOMMAND SWANK-TOGGLE () () - (IF *SWANK-SERVER-RUNNING* - (PROGN - (SWANK:STOP-SERVER 4005) - (MY-MESSAGE :CENTER "Stopping swank.") - (SETF *SWANK-SERVER-RUNNING* NIL)) - (PROGN - (SWANK:CREATE-SERVER :DONT-CLOSE T - :PORT 4005) - (MY-MESSAGE :CENTER "Starting swank.") - (SETF *SWANK-SERVER-RUNNING* T)))) |
