;;----------------------------------------- ;; author: milomouse ;; ;; *data-dir*/../key-maps.lisp ;; ;;----------------------------------------- ;; export custom maps. (export '(*echo-map* *xsel-map* *xclip-clipboard-map* *xclip-primary-map* *frequent-map* *win-frame-map* *mplayer-map1* *mplayer-map2* *dump-map1* *dump-map2*)) ;; set a few undefined keysyms, unavailable in */stumpwm/keysyms.lisp (define-keysym #x1008ff02 "XF86MonBrightnessUp") (define-keysym #x1008ff03 "XF86MonBrightnessDown") (define-keysym #x1008ff2f "XF86Sleep") ;; set "Super+Shift+\" as prefix for root-map bindings (i will not be using this) (set-prefix-key (kbd "s-|")) ;; some useful window/frame commands. (defvar *win-frame-map* (let ((m (make-sparse-keymap))) (labels ((dk (m k c) (define-key m k c))) (dk m (kbd "r") "remember") (dk m (kbd "f") "forget") (dk m (kbd "p") "place-existing-windows") (dk m (kbd "n") "repack-window-numbers") (dk m (kbd "ESC") "abort") M))) ;; transfer contents of clipboard into other buffers, or manually type cmd. (defvar *xclip-clipboard-map* (let ((m (make-sparse-keymap))) (labels ((dk (m k c) (define-key m k c))) (dk m (kbd "b") "exec xclip -selection clipboard -o | xclip -selection buffer-cut -i") (dk m (kbd "p") "exec xclip -selection clipboard -o | xclip -selection primary -i") (dk m (kbd "s") "exec xclip -selection clipboard -o | xclip -selection secondary -i") (dk m (kbd ";") "prompt-xclip") (dk m (kbd ":") "echo-xclip") (dk m (kbd "ESC") "abort") M))) (defvar *xclip-primary-map* (let ((m (make-sparse-keymap))) (labels ((dk (m k c) (define-key m k c))) (dk m (kbd "b") "exec xclip -selection primary -o | xclip -selection buffer-cut -i") (dk m (kbd "c") "exec xclip -selection primary -o | xclip -selection clipboard -i") (dk m (kbd "s") "exec xclip -selection primary -o | xclip -selection secondary -i") (dk m (kbd ";") "prompt-xclip") (dk m (kbd ":") "echo-xclip") (dk m (kbd "ESC") "abort") M))) ;; interact with the xselection and meta commands. (defvar *xsel-map* (let ((m (make-sparse-keymap))) (labels ((dk (m k c) (define-key m k c))) (dk m (kbd "c") "copy-last-message") (dk m (kbd "g") "getsel") (dk m (kbd "m") "meta") (dk m (kbd "p") "putsel") (dk m (kbd "s") "window-send-string") (dk m (kbd "ESC") "abort") M))) ;; frequently used echoes for quick information grabbing. (defvar *echo-map* (let ((m (make-sparse-keymap))) (labels ((dk (m k c) (define-key m k c))) (dk m (kbd "b") "echo-battery") (dk m (kbd "c") "echo-colors-brief") (dk m (kbd "C") "echo-colors-full") (dk m (kbd "d") "echo-date") (dk m (kbd "f") "echo-free-mem") (dk m (kbd "h") "echo-free-hdd") (dk m (kbd "l") "echo-loadavg") (dk m (kbd "m") "echo-mifo-stumpwm") (dk m (kbd "M") "echo-mifo-raw") (dk m (kbd "C-m") "echo-mifo-current-list") (dk m (kbd "n") "echo-wlan") (dk m (kbd "p") "echo-highcpu-user") (dk m (kbd "P") "echo-highcpu-root") (dk m (kbd "C-p") "echo-highcpu-rest") (dk m (kbd "u") "echo-mail") (dk m (kbd "v") "echo-volume") (dk m (kbd "w") "pout exec sdcv -nu WordNet ") (dk m (kbd "W") "pout exec sdcv -nu \"English Thesaurus\" ") (dk m (kbd "ESC") "abort") M))) ;; keyboard layouts. (defvar *xmod-map* (let ((m (make-sparse-keymap))) (labels ((dk (m k c) (define-key m k c))) (dk m (kbd "1") "exec xmodmap /howl/conf/keymaps/dvausler1.xmodmap") (dk m (kbd "2") "exec xmodmap /howl/conf/keymaps/dvausler2.xmodmap") (dk m (kbd "3") "exec xmodmap /howl/conf/keymaps/dvausler3.xmodmap") (dk m (kbd "4") "exec xmodmap /howl/conf/keymaps/dvausler4.xmodmap") (dk m (kbd "5") "exec xmodmap /howl/conf/keymaps/dvausler5.xmodmap") (dk m (kbd "6") "exec xmodmap /howl/conf/keymaps/dvausler6.xmodmap") (dk m (kbd "a") "exec xmodmap /howl/conf/keymaps/arensito.xmodmap") (dk m (kbd "d") "exec xmodmap /howl/conf/keymaps/dvausler.xmodmap") (dk m (kbd "k") "exec xmodmap /howl/conf/keymaps/klausler2.xmodmap") (dk m (kbd "q") "exec xmodmap /howl/conf/keymaps/qwerty.xmodmap") (dk m (kbd "v") "exec xmodmap /howl/conf/keymaps/dvorak.xmodmap") M))) ;; frequently used commands. (defvar *frequent-map* (let ((m (make-sparse-keymap))) (labels ((dk (m k c) (define-key m k c))) (dk m (kbd "1") "exec pulsevol --port-toggle") (dk m (kbd "2") "exec pulsevol --speaker") (dk m (kbd "3") "exec pulsevol --headphones") (dk m (kbd "b") "display-random-bg") (dk m (kbd "B") "exec display -window root -resize 1600x900! /howl/foto/wall/wallpaper-31278.png") (dk m (kbd "C-b") "exec display -window root -resize 1600x900! /howl/foto/wall/yulia_by_wolf_parade_by_notagoat-d39avt7.jpg") (dk m (kbd "M-b") "exec display -window root -resize 1600x900! /howl/foto/wall/indian_by_aalexandrin-d3g7bej_2.jpg") (dk m (kbd "s-b") "exec display -window root -resize 1600x900! /howl/foto/wall/christmas_ghost_trip3.png") (dk m (kbd "g") "exec gimp -s --stack-trace-mode=never") (dk m (kbd "h") "exec urxvt -e htop") (dk m (kbd "l") "ror_luakit") (dk m (kbd "m") "exec pulsevol --mute") (dk m (kbd "r") "exec urxvt -e ranger /howl") (dk m (kbd "s") "exec urxvt -e nsudoku 12") (dk m (kbd "u") "ror_mutt") (dk m (kbd "x") "exec xskat -opt /howl/conf/xorg/xskat.opt -list /howl/conf/xorg/xskat.lst") (dk m (kbd "ESC") "abort") M))) ;; mplayer daemon (mifo) frequently used commands. (defvar *mplayer-map1* (let ((m (make-sparse-keymap))) (labels ((dk (m k c) (define-key m k c))) (dk m (kbd "0") "exec mifo --begin list") (dk m (kbd "1") "exec mifo --begin song") (dk m (kbd "2") "exec mifo --begin last") (dk m (kbd "a") "prompt-mifo-load") (dk m (kbd "A") "prompt-mifo-append") ;(dk m (kbd "d") "exec mifo --daemon") ;(dk m (kbd "d") "exec sudo /etc/rc.d/mifo start") ;(dk m (kbd "f") "exec mifo --fullscreen") (dk m (kbd "f") "prompt-mifo-find") (dk m (kbd "F") "prompt-mifo-findn") ;(dk m (kbd "h") "echo-mifo-prev") (dk m (kbd "h") "exec mifo --prev") (dk m (kbd "H") "prompt-mifo-prev") (dk m (kbd "C-h") "prompt-mifo-prev +") ;(dk m (kbd "l") "echo-mifo-next") (dk m (kbd "l") "exec mifo --next") (dk m (kbd "L") "prompt-mifo-next") (dk m (kbd "C-l") "prompt-mifo-next +") (dk m (kbd "p") "prompt-mifo-playlist") (dk m (kbd "P") "echo-mifo-playlists") ;(dk m (kbd "q") "exec mifo --quit") ;(dk m (kbd "q") "exec sudo /etc/rc.d/mifo stop") ;(dk m (kbd "Q") "exec sudo /etc/rc.d/mifo purge") (dk m (kbd "r") "exec mifo --repeat on") (dk m (kbd "R") "exec mifo --repeat off") (dk m (kbd "s") "exec mifo --stop") (dk m (kbd "S") "prompt-mifo-save") (dk m (kbd "t") "exec mifo --toggle") (dk m (kbd "*") "exec mifo --random") (dk m (kbd "+") "echo-mifo-add") (dk m (kbd "-") "echo-mifo-remove") (dk m (kbd ":") "prompt-mifo-command") (dk m (kbd "BackSpace")"prompt-mifo-begin") (dk m (kbd "ESC") "abort") M))) ;; mplayer daemon (mifo) useful seek commands. (defvar *mplayer-map2* (let ((m (make-sparse-keymap))) (labels ((dk (m k c) (define-key m k c))) (dk m (kbd "h") "exec mifo --seek -7") (dk m (kbd "H") "exec mifo --seek -17") (dk m (kbd "C-h") "exec mifo --seek -47") (dk m (kbd "M-h") "exec mifo --seek -407") (dk m (kbd "l") "exec mifo --seek 5") (dk m (kbd "L") "exec mifo --seek 15") (dk m (kbd "C-l") "exec mifo --seek 45") (dk m (kbd "M-l") "exec mifo --seek 405") (dk m (kbd "!") "exec mifo -c seek_chapter -1") (dk m (kbd "@") "exec mifo -c seek_chapter 1") (dk m (kbd ":") "prompt-mifo-seek") (dk m (kbd "BackSpace") "exec mifo --seek 0%") (dk m (kbd "ESC") "abort") M))) ;; quickly dump rules, desktop, screen, or group (defvar *dump-map1* (let ((m (make-sparse-keymap))) (labels ((dk (m k c) (define-key m k c))) (dk m (kbd "r") "dump-to-datadir rules") (dk m (kbd "d") "dump-to-datadir desktop") (dk m (kbd "s") "dump-to-datadir screen") (dk m (kbd "g") "dump-to-datadir group") M))) ;; quickly restore rules, desktop, screen, or group (defvar *dump-map2* (let ((m (make-sparse-keymap))) (labels ((dk (m k c) (define-key m k c))) (dk m (kbd "r") "restore-from-datadir rules") (dk m (kbd "d") "restore-from-datadir desktop") (dk m (kbd "s") "restore-from-datadir screen") (dk m (kbd "g") "restore-from-datadir group") M))) (setf *top-map* (let ((m (make-sparse-keymap))) (labels ((dk (m k c) (define-key m k c))) ;; (dk m (kbd "s-1") "gselect 1") (dk m (kbd "s-2") "gselect 2") (dk m (kbd "s-3") "gselect 3") (dk m (kbd "s-4") "gselect 4") (dk m (kbd "s-5") "gselect 5") (dk m (kbd "s-6") "gselect 6") (dk m (kbd "s-8") "mark") (dk m (kbd "s-C-8") "clear-window-marks") (dk m (kbd "s-M-8") "gmove-marked") (dk m (kbd "s-9") "quiet-resize -10 0") (dk m (kbd "s-0") "quiet-resize 10 0") (dk m (kbd "C-1") "select-window-by-number 1") (dk m (kbd "C-2") "select-window-by-number 2") (dk m (kbd "C-3") "select-window-by-number 3") (dk m (kbd "C-4") "select-window-by-number 4") (dk m (kbd "C-5") "select-window-by-number 5") (dk m (kbd "C-6") "select-window-by-number 6") (dk m (kbd "C-7") "select-window-by-number 7") (dk m (kbd "C-8") "select-window-by-number 8") (dk m (kbd "C-9") "select-window-by-number 9") (dk m (kbd "C-0") "select-window-by-number 0") ;; (dk m (kbd "s-quoteleft") "scratchpad") (dk m (kbd "s-!") "gmove 1") (dk m (kbd "s-@") "gmove 2") (dk m (kbd "s-#") "gmove 3") (dk m (kbd "s-$") "gmove 4") (dk m (kbd "s-%") "gmove 5") (dk m (kbd "s-^") "gmove 6") (dk m (kbd "s-*") "pull-marked") (dk m (kbd "s-(") "quiet-resize 0 -10") (dk m (kbd "s-)") "quiet-resize 0 10") (dk m (kbd "s--") "vsplit") (dk m (kbd "s-=") "hsplit") (dk m (kbd "s-+") "balance-frames") (dk m (kbd "s-;") "colon") (dk m (kbd "s-:") "manpage") (dk m (kbd "s-C-;") "eval") (dk m (kbd "s-,") "gprev") (dk m (kbd "s-<") "gmove-prev") (dk m (kbd "s-C-,") "gprev-with-window") (dk m (kbd "s-.") "gnext") (dk m (kbd "s->") "gmove-next") (dk m (kbd "s-C-.") "gnext-with-window") (dk m (kbd "s-/") "gother") (dk m (kbd "s-?") "lastmsg") (dk m (kbd "s-ESC") "exec zaprat --toggle") (dk m (kbd "s-Tab") "fother") (dk m (kbd "s-S-SPC")"rotate-windows") (dk m (kbd "s-BackSpace") "fclear") (dk m (kbd "s-S-BackSpace") "delete-window") (dk m (kbd "s-C-BackSpace") "kill-window") (dk m (kbd "s-Return") "exec urxvt -e tmux -S /tmp/user-keep/${USER}/tmux/xorg new-session") (dk m (kbd "s-S-Return") "tmux-attach-else-new") (dk m (kbd "s-C-Return") "exec urxvt") (dk m (kbd "s-M-Return") "tmux-attach-rtorrent") (dk m (kbd "s-SunPrint_Screen") "exec import -window root ${XDG_PICTURES_DIR:-${H:-/howl}/foto}/shot/$(date +%Y_%m_%d-%H%M%S).png") (dk m (kbd "C-M-Delete") "exec xlock -mode slip -font fixed -grabmouse -sound -fg purple") (dk m (kbd "C-s-Delete") "exec xlock -mode slip -font fixed -grabmouse -sound -fg purple") ;; (dk m (kbd "s-a") *echo-map*) (dk m (kbd "s-b") "refresh") (dk m (kbd "s-B") "exec xrefresh") (dk m (kbd "s-C-b") "redisplay") (dk m (kbd "s-c") *xclip-primary-map*) (dk m (kbd "s-C") *xclip-clipboard-map*) (dk m (kbd "s-d") *mplayer-map1*) (dk m (kbd "s-D") "prompt-mifo-command") (dk m (kbd "s-e") "exec ") (dk m (kbd "s-E") "shell-command-output") (dk m (kbd "s-f") *frequent-map*) (dk m (kbd "s-F") *win-frame-map*) (dk m (kbd "s-g") "vgroups") (dk m (kbd "s-G") "grouplist") (dk m (kbd "s-h") "move-focus left") (dk m (kbd "s-H") "move-window left") (dk m (kbd "s-C-h") "exchange-direction left") (dk m (kbd "s-M-h") "exchange-direction-remain left") (dk m (kbd "s-i") "fselect") (dk m (kbd "s-j") "move-focus down") (dk m (kbd "s-J") "move-window down") (dk m (kbd "s-C-j") "exchange-direction down") (dk m (kbd "s-M-j") "exchange-direction-remain down") (dk m (kbd "s-k") "move-focus up") (dk m (kbd "s-K") "move-window up") (dk m (kbd "s-C-k") "exchange-direction up") (dk m (kbd "s-M-k") "exchange-direction-remain up") (dk m (kbd "s-l") "move-focus right") (dk m (kbd "s-L") "move-window right") (dk m (kbd "s-C-l") "exchange-direction right") (dk m (kbd "s-M-l") "exchange-direction-remain right") (dk m (kbd "s-m") "master-focus") (dk m (kbd "s-M") "master-swap 0") (dk m (kbd "s-C-m") "master-make") (dk m (kbd "s-n") "next-in-frame") (dk m (kbd "s-N") "pull-hidden-next") (dk m (kbd "s-o") "fullscreen") (dk m (kbd "s-O") "only") (dk m (kbd "s-p") "prev-in-frame") (dk m (kbd "s-P") "pull-hidden-previous") (dk m (kbd "s-Q") "quit") (dk m (kbd "s-r") "loadrc") (dk m (kbd "s-R") "restart") (dk m (kbd "s-s") *mplayer-map2*) (dk m (kbd "s-t") *dump-map1*) (dk m (kbd "s-T") *dump-map2*) (dk m (kbd "s-u") "undo") (dk m (kbd "s-v") "show-window-properties") (dk m (kbd "s-V") "list-window-properties") (dk m (kbd "s-w") "echo-frame-windows") (dk m (kbd "s-W") "windowlist") (dk m (kbd "s-x") *xsel-map*) (dk m (kbd "s-X") *xmod-map*) (dk m (kbd "s-y") "iresize") (dk m (kbd "s-z") "remove-split") ;; (dk m (kbd "XF86AudioMute") "exec pulsevol --mute") (dk m (kbd "XF86AudioRaiseVolume") "exec pulsevol --increase") (dk m (kbd "XF86AudioLowerVolume") "exec pulsevol --decrease") (dk m (kbd "XF86AudioNext") "exec mifo --next") (dk m (kbd "XF86AudioPrev") "exec mifo --prev") (dk m (kbd "XF86AudioPlay") "exec mifo --toggle") (dk m (kbd "XF86AudioPause") "exec mifo --toggle") (dk m (kbd "XF86AudioStop") "exec mifo --stop") ; (dk m (kbd "XF86Sleep") "exec sudo systemctl suspend") M))) ;; EOF