summaryrefslogtreecommitdiffstats
path: root/.config/herbstluftwm/autostart
blob: 6ee33d81a6eeda161d0813ffd9807ce7be16f4ad (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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#!/usr/bin/guile
!#

(define (hc command)
  "Calls the herbstclient program to execute a command"
  (system (string-append "herbstclient " command)))

(define (keybind modkey key command)
  "Binds a keyboard key to a command, also prints it for testing
purposes"
  (display (string-append "keybind " modkey "-" key " " command "\n"))
  (hc (string-append "keybind " modkey "-" key " " command)))

(define (mousebind modkey button command)
  "Binds a mouse button to a command"
  (hc (string-append "mousebind " modkey "-" button " " command)))

(define (add-tag name)
  "Create a new tag"
  (hc (string-append "add " name)))

(define (set variable value)
  "Set the value of a variable"
  (hc (string-append "set " variable " " value)))

(define (unrule)
  "Clear all rules from memory"
  (hc "unrule -F"))

(define (rule spec)
  "Add a new rule"
  (hc (string-append "rule " spec)))

(define modkey "Mod4")

(define (create-tag name)
  (add-tag name)
  (keybind modkey name (string-append "use " name))
  (keybind modkey
           (string-append "Shift-" name)
           (string-append "move "  name)))

(define (dmenu-command fn nb nf)
  (string-append "dmenu_run -fn '" fn "' -nb '" nb "' -nf '" nf "'"))

(define (set-layout layout)
  (display (string-append "set_layout " layout "\n"))
  (hc (string-append "set_layout " layout)))

;; colors
(set "frame_bg_normal_color"       "\\#0c191c")
(set "frame_bg_active_color"       "\\#000000")
(set "frame_border_width"          "0")
(set "window_border_width"         "1")
(set "window_border_normal_color"  "\\#0c191c")
(set "window_border_active_color"  "\\#15abc3")

;; other settings
(set "default_frame_layout"        "2")
(set-layout "max")

;; keybindings
(keybind modkey "Mod1-q"  "quit")
(keybind modkey "Mod1-r" "reload")
(keybind modkey "Shift-Mod1-c" "close")
(keybind modkey "Return"  "spawn urxvt")
(keybind modkey "r"
         (string-append
          "spawn "
          (dmenu-command
           "-misc-tamsyn-medium-r-normal-*-14-*-*-*-*-*-iso8859-*"
           "#000000" "#15abc3")))
(keybind "Control" "Mod1-l" "spawn i3lock -c 000000")
(keybind modkey "t" "spawn ~/bin/hlwm/capture-todo")
(keybind modkey "Shift-t" "spawn ~/bin/hlwm/show-todo")

;; tags
(hc "rename default q")
(for-each create-tag '("q" "w" "e" "a" "s" "d" "z" "x" "c"))

;; layout
(hc "remove_monitor 1")
(hc "move_monitor 0 1680x1050+0+0")
(hc "add_monitor 1280x1024+1680+0 w")

;; layouting
(keybind modkey "Shift-r" "remove")
(keybind modkey "space"   "cycle_layout 1")
(keybind modkey "u"       "split vertical 0.5")
(keybind modkey "o"       "split horizontal 0.5")
(keybind modkey "Mod1-f"  "floating toggle")
(keybind modkey "Mod1-Shift-f" "fullscreen toggle")
(keybind modkey "Mod1-p" "pseudotile toggle")

;; resizing
(define resizestep "0.05")
(keybind modkey "Control-b" (string-append "resize left +"  resizestep))
(keybind modkey "Control-n" (string-append "resize down +"  resizestep))
(keybind modkey "Control-p" (string-append "resize up +"    resizestep))
(keybind modkey "Control-f" (string-append "resize right +" resizestep))

;; mouse
(mousebind modkey "Button1" "move")
(mousebind modkey "Button2" "resize")
(mousebind modkey "Button3" "zoom")

;; focus
(keybind modkey "BackSpace"  "cycle_monitor")
(keybind modkey "Tab"        "cycle_all +1")
(keybind modkey "Shift-Tab"  "cycle_all -1")
(keybind modkey "Mod1-c"     "cycle")
(keybind modkey "b"          "focus left")
(keybind modkey "n"          "focus down")
(keybind modkey "p"          "focus up")
(keybind modkey "f"          "focus right")
(keybind modkey "Shift-b"    "shift left")
(keybind modkey "Shift-n"    "shift down")
(keybind modkey "Shift-p"    "shift up")
(keybind modkey "Shift-f"    "shift right")

;; rules
(unrule)
(rule "focus=on")                 ; normally do not focus new clients
(rule "windowtype=_NET_WM_WINDOW_TYPE_DIALOG focus=on pseudotile=on")
(rule "class=Xephyr pseudotile=on")

;; Show panel

(system "~/.config/herbstluftwm/panel.sh &")

;; Local Variables:
;; eval: (git-auto-commit-mode 1)
;; End: