Rewrote autosart in guile
This commit is contained in:
parent
139c1e3ef3
commit
23b71afda0
1 changed files with 99 additions and 76 deletions
|
@ -1,90 +1,113 @@
|
|||
#!/bin/bash
|
||||
#!/usr/bin/guile
|
||||
!#
|
||||
|
||||
# this is a simple config for herbstluftwm
|
||||
(define (hc command)
|
||||
(system (string-append "herbstclient " command)))
|
||||
|
||||
function hc() {
|
||||
herbstclient "$@"
|
||||
}
|
||||
(define (keybind modkey key command)
|
||||
(display (string-append "keybind " modkey "-" key " " command "\n"))
|
||||
(hc (string-append "keybind " modkey "-" key " " command)))
|
||||
|
||||
xsetroot -solid '#000000'
|
||||
(define (mousebind modkey button command)
|
||||
(hc (string-append "mousebind " modkey "-" button " " command)))
|
||||
|
||||
# keybindings
|
||||
Mod=Mod4
|
||||
hc keybind $Mod-Mod1-q quit
|
||||
hc keybind $Mod-Shift-r reload
|
||||
hc keybind $Mod-Shift-c close
|
||||
hc keybind $Mod-Return spawn urxvt
|
||||
hc keybind $Mod-d spawn dmenu_run
|
||||
(define (add-tag name)
|
||||
(hc (string-append "add " name)))
|
||||
|
||||
# tags
|
||||
TAG_NAMES=( {1..9} )
|
||||
TAG_KEYS=( {1..9} 0 )
|
||||
(define (set variable value)
|
||||
(hc (string-append "set " variable " " value)))
|
||||
|
||||
hc rename default "${TAG_NAMES[0]}" || true
|
||||
for i in ${!TAG_NAMES[@]} ; do
|
||||
hc add "${TAG_NAMES[$i]}"
|
||||
key="${TAG_KEYS[$i]}"
|
||||
if ! [ -z "$key" ] ; then
|
||||
hc keybind "$Mod-$key" use "${TAG_NAMES[$i]}"
|
||||
hc keybind "$Mod-Shift-$key" move "${TAG_NAMES[$i]}"
|
||||
fi
|
||||
done
|
||||
(define (unrule)
|
||||
(hc "unrule -F"))
|
||||
|
||||
# layout
|
||||
hc add_monitor 1280x1024+1680+0 2
|
||||
hc move_monitor 0 1680x1050+0+0
|
||||
(define (rule spec)
|
||||
(hc (string-append "rule " spec)))
|
||||
|
||||
# layouting
|
||||
hc keybind $Mod-r remove
|
||||
hc keybind $Mod-space cycle_layout 1
|
||||
hc keybind $Mod-u split vertical 0.5
|
||||
hc keybind $Mod-o split horizontal 0.5
|
||||
hc keybind $Mod-s floating toggle
|
||||
hc keybind $Mod-f fullscreen toggle
|
||||
hc keybind $Mod-p pseudotile toggle
|
||||
(define modkey "Mod4")
|
||||
|
||||
# resizing
|
||||
RESIZESTEP=0.05
|
||||
hc keybind $Mod-Control-h resize left +$RESIZESTEP
|
||||
hc keybind $Mod-Control-j resize down +$RESIZESTEP
|
||||
hc keybind $Mod-Control-k resize up +$RESIZESTEP
|
||||
hc keybind $Mod-Control-l resize right +$RESIZESTEP
|
||||
(define (create-tag name)
|
||||
(add-tag name)
|
||||
(keybind modkey name (string-append "use " name))
|
||||
(keybind modkey
|
||||
(string-append "Shift-" name)
|
||||
(string-append "move " name)))
|
||||
|
||||
# mouse
|
||||
hc mousebind $Mod-Button1 move
|
||||
hc mousebind $Mod-Button2 resize
|
||||
hc mousebind $Mod-Button3 zoom
|
||||
;; keybindings
|
||||
(keybind modkey "Mod1-q" "quit")
|
||||
(keybind modkey "Shift-r" "reload")
|
||||
(keybind modkey "Shift-c" "close")
|
||||
(keybind modkey "Return" "spawn urxvt")
|
||||
(keybind modkey "d" "spawn dmenu_run")
|
||||
|
||||
# focus
|
||||
hc keybind $Mod-BackSpace cycle_monitor
|
||||
hc keybind $Mod-Tab cycle_all +1
|
||||
hc keybind $Mod-Shift-Tab cycle_all -1
|
||||
hc keybind $Mod-c cycle
|
||||
hc keybind $Mod-h focus left
|
||||
hc keybind $Mod-j focus down
|
||||
hc keybind $Mod-k focus up
|
||||
hc keybind $Mod-l focus right
|
||||
hc keybind $Mod-Shift-h shift left
|
||||
hc keybind $Mod-Shift-j shift down
|
||||
hc keybind $Mod-Shift-k shift up
|
||||
hc keybind $Mod-Shift-l shift right
|
||||
;; tags
|
||||
(hc "rename default 1")
|
||||
(for-each create-tag '("1" "2" "3" "4" "5" "6" "7" "8" "9"))
|
||||
|
||||
# colors
|
||||
hc set frame_border_active_color '#49351D'
|
||||
hc set frame_border_normal_color '#73532D'
|
||||
hc set frame_bg_normal_color '#BD9768'
|
||||
hc set frame_bg_active_color '#BD8541'
|
||||
hc set frame_border_width 2
|
||||
hc set window_border_width 2
|
||||
hc set window_border_normal_color '#AE8451'
|
||||
hc set window_border_active_color '#F6FF00'
|
||||
;; layout
|
||||
(hc "move_monitor 0 1680x1050+0+0")
|
||||
(hc "add_monitor 1280x1024+1680+0 2")
|
||||
|
||||
# rules
|
||||
hc unrule -F
|
||||
#hc rule class=XTerm tag=3 # move all xterms to tag 3
|
||||
hc rule focus=off # normally do not focus new clients
|
||||
# give focus to most common terminals
|
||||
hc rule class~'(.*[Rr]xvt.*|.*[Tt]erm|Konsole)' focus=on
|
||||
;; layouting
|
||||
(keybind modkey "r" "remove")
|
||||
(keybind modkey "space" "cycle_layout 1")
|
||||
(keybind modkey "u" "split vertical 0.5")
|
||||
(keybind modkey "o" "split horizontal 0.5")
|
||||
(keybind modkey "s" "floating toggle")
|
||||
(keybind modkey "f" "fullscreen toggle")
|
||||
(keybind modkey "p" "pseudotile toggle")
|
||||
|
||||
# panel
|
||||
/etc/xdg/herbstluftwm/panel.sh
|
||||
;; resizing
|
||||
(define resizestep "0.05")
|
||||
(keybind modkey "Control-h" (string-append "resize left +" resizestep))
|
||||
(keybind modkey "Control-j" (string-append "resize down +" resizestep))
|
||||
(keybind modkey "Control-k" (string-append "resize up +" resizestep))
|
||||
(keybind modkey "Control-l" (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 "c" "cycle")
|
||||
(keybind modkey "h" "focus left")
|
||||
(keybind modkey "j" "focus down")
|
||||
(keybind modkey "k" "focus up")
|
||||
(keybind modkey "l" "focus right")
|
||||
(keybind modkey "Shift-h" "shift left")
|
||||
(keybind modkey "Shift-j" "shift down")
|
||||
(keybind modkey "Shift-k" "shift up")
|
||||
(keybind modkey "Shift-l" "shift right")
|
||||
|
||||
;; colors
|
||||
(display "set frame_border_active_color \\#49351D\n")
|
||||
(set "frame_border_active_color" "\\#49351D")
|
||||
(display "set frame_border_normal_color\n")
|
||||
(set "frame_border_normal_color" "\\#73532D")
|
||||
(display "set frame_bg_normal_color\n")
|
||||
(set "frame_bg_normal_color" "\\#BD9768")
|
||||
(display "set frame_bg_active_color\n")
|
||||
(set "frame_bg_active_color" "\\#BD8541")
|
||||
(display "set frame_border_width\n")
|
||||
(set "frame_border_width" "2")
|
||||
(display "set window_border_width\n")
|
||||
(set "window_border_width" "2")
|
||||
(display "set window_border_normal_color\n")
|
||||
(set "window_border_normal_color" "\\#AE8451")
|
||||
(display "set window_border_active_color\n")
|
||||
(set "window_border_active_color" "\\#F6FF00")
|
||||
|
||||
;; rules
|
||||
(display "unrule\n")
|
||||
(unrule)
|
||||
(display "rule focus=off\n")
|
||||
(rule "focus=off") ; normally do not focus new clients
|
||||
(display "rule focus terminal\n")
|
||||
(rule "class~'(.*[Rr]xvt.*|.*[Tt]erm|Konsole)' focus=on")
|
||||
|
||||
;; Show panel
|
||||
|
||||
(system "/etc/xdg/herbstluftwm/panel.sh &")
|
||||
|
|
Loading…
Reference in a new issue