summaryrefslogtreecommitdiffstats
path: root/.xbindkeysrc.scm
diff options
context:
space:
mode:
authorGravatar Tom Willemsen2012-01-30 00:04:07 +0100
committerGravatar Tom Willemsen2012-01-30 00:04:07 +0100
commit89493c8ffe94450be8b09de6f8f09cea2c33de2a (patch)
tree125e253ee7086059422ec9c928459473e14f5d1b /.xbindkeysrc.scm
parent40c0cb23392a5cded5a904f753fd74ced61741e1 (diff)
downloaddotfiles-89493c8ffe94450be8b09de6f8f09cea2c33de2a.tar.gz
dotfiles-89493c8ffe94450be8b09de6f8f09cea2c33de2a.zip
Add xbindkeys
Diffstat (limited to '.xbindkeysrc.scm')
-rw-r--r--.xbindkeysrc.scm100
1 files changed, 100 insertions, 0 deletions
diff --git a/.xbindkeysrc.scm b/.xbindkeysrc.scm
new file mode 100644
index 0000000..0f1546c
--- /dev/null
+++ b/.xbindkeysrc.scm
@@ -0,0 +1,100 @@
+;;; Modkey
+(define modkey 'mod4)
+
+;;; Macros
+(define-macro (cmd command)
+ `(lambda ()
+ (run-command ,command)
+ (reset-main-binding)))
+
+;;; Functions
+(define (reset-main-binding)
+ "reset first binding"
+ (ungrab-all-keys)
+ (remove-all-keys)
+ (main-binding)
+ (grab-all-keys))
+
+;;; Maps
+(define (main-binding)
+ "First binding"
+ (xbindkey `(,modkey shift "1") "dmenu_run")
+ (xbindkey-function `(,modkey x) X-functions)
+ (xbindkey-function `(,modkey w) W-functions)
+ (xbindkey-function `(,modkey s) S-functions)
+ (xbindkey `(,modkey Return) "urxvt")
+ (xbindkey '(control alt l) "i3lock -c 000000")
+ (xbindkey '(XF86HomePage) "conkeror")
+ (xbindkey '(XF86Mail) "mutt")
+ (xbindkey '(XF86AudioPlay) "mpc toggle")
+ (xbindkey '(XF86AudioStop) "mpc stop")
+ (xbindkey '(XF86AudioMute) "amixer sset Master toggle")
+ (xbindkey '(XF86AudioLowerVolume) "mcp volume -5")
+ (xbindkey '(XF86AudioRaiseVolume) "mcp volume +5")
+ (xbindkey '(XF86AudioPrev) "mpc prev")
+ (xbindkey '(XF86AudioNext) "mpc next")
+ (xbindkey '(XF86Tools) "ncmpcpp")
+ (xbindkey-function `(,modkey g) reset-main-binding))
+
+(define (X-functions)
+ "Second binding"
+ (ungrab-all-keys)
+ (remove-all-keys)
+ (xbindkey-function '(b) (cmd "~/bin/switch_tags"))
+ (xbindkey-function `(,modkey c) (cmd "herbstclient quit"))
+ (xbindkey-function `(,modkey r) (cmd "herbstclient reload"))
+ (xbindkey-function '(k) (cmd "~/bin/kill_tag"))
+ (xbindkey-function '("0") (cmd "herbstclient remove"))
+ (xbindkey-function '("3") (cmd "herbstclient split horizontal 0.5"))
+ (xbindkey-function '("2") (cmd "herbstclient split vertical 0.5"))
+ (xbindkey-function '(space) (cmd "herbstclient cycle_layout 1"))
+ (xbindkey-function '(f) (cmd "herbstclient floating toggle"))
+ (xbindkey-function '(shift f) (cmd "herbstclient fullscreen toggle"))
+ (xbindkey-function '(p) (cmd "herbstclient pseudotile toggle"))
+ (xbindkey-function '(r) resize-map)
+ (xbindkey-function `(,modkey g) reset-main-binding)
+ (grab-all-keys))
+
+(define (W-functions)
+ (ungrab-all-keys)
+ (remove-all-keys)
+ (xbindkey-function '(k) (cmd "herbstclient close"))
+ (xbindkey-function '(w) (cmd "herbstclient cycle"))
+ (xbindkey-function '(o) (cmd "herbstclient cycle_all +1"))
+ (xbindkey-function '(b) (cmd "herbstclient focus left"))
+ (xbindkey-function '(n) (cmd "herbstclient focus down"))
+ (xbindkey-function '(p) (cmd "herbstclient focus up"))
+ (xbindkey-function '(f) (cmd "herbstclient focus right"))
+ (xbindkey-function '(shift b) (cmd "herbstclient shift left"))
+ (xbindkey-function '(shift n) (cmd "herbstclient shift down"))
+ (xbindkey-function '(shift p) (cmd "herbstclient shift up"))
+ (xbindkey-function '(shift f) (cmd "herbstclient shift right"))
+ (xbindkey-function `(,modkey g) reset-main-binding)
+ (grab-all-keys))
+
+(define (S-functions)
+ (ungrab-all-keys)
+ (remove-all-keys)
+ (xbindkey-function '(o) (cmd "herbstclient cycle_monitor"))
+ (xbindkey-function `(,modkey g) reset-main-binding)
+ (grab-all-keys))
+
+(define (P-functions)
+ (ungrab-all-keys)
+ (remove-all-keys)
+
+ (grab-all-keys))
+
+(define (resize-map)
+ (ungrab-all-keys)
+ (remove-all-keys)
+ (xbindkey `(,modkey b) "herbstclient resize left +0.05")
+ (xbindkey `(,modkey n) "herbstclient rezise down +0.05")
+ (xbindkey `(,modkey p) "herbstclient resize up +0.05")
+ (xbindkey `(,modkey f) "herbstclient resize right +0.05")
+ (xbindkey-function '(Return) reset-main-binding)
+ (xbindkey-function `(,modkey g) reset-main-binding)
+ (grab-all-keys))
+
+;;; Main
+(main-binding)