#!/usr/bin/guile # -*- eval: (git-auto-commit-mode 1) -*- !# (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 &")