summaryrefslogtreecommitdiffstats
path: root/.xbindkeysrc.scm
blob: 0f1546c9ba9d229ffabeab1d999eb1e584ad0090 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
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)