aboutsummaryrefslogtreecommitdiff
path: root/herbstluftwm/autostart
blob: b0b063a0a36b03be168918eea76bd03b9e99b9f0 (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
#!/usr/bin/env bash
hc() {
    herbstclient "$@"
}
hc emit_hook reload

# remove all existing keybindings 
hc keyunbind --all

# focus follows mouse
hc set focus_follows_mouse 1

Mod=Mod4   # Use the super key as the main modifier

# keybindings (rest are handled by sxhkd)
hc keybind $Mod-Shift-q quit
hc keybind $Mod-Shift-r reload
hc keybind Mod1-w close
hc keybind $Mod-Return spawn st

# for resizing frames and floating clients
resizestep=0.01

# tags
# if I don't add the period to the last tag, it messes up lemonbar
tag_names=( 一, 二, 三, 四, 五, 六, 七, 八, 九, 十, 十一, 十二, 十三. )
tag_keys=( {1..9} 0 )

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_index "$i"
        hc keybind "$Mod-Shift-$key" move_index "$i"
    fi
done

# cycle through layouts while
# ignoring the layouts which won't 
# make a difference
hc keybind Mod4-space                                                           \
            or , and . compare tags.focus.curframe_wcount = 2                   \
                     . cycle_layout +1 vertical horizontal max vertical grid    \
               , cycle_layout +1

# mouse
hc mouseunbind --all
hc mousebind $Mod-Button1 move
hc mousebind $Mod-Button2 zoom
hc mousebind $Mod-Button3 resize

# theme
hc attr theme.tiling.reset 1
hc attr theme.floating.reset 1
hc set frame_border_active_color '#bf00ff'
hc set frame_border_normal_color '#efe805'
hc set frame_bg_normal_color '#efe805'
hc set frame_bg_active_color '#bf00ff'
hc set frame_border_width 2
hc set always_show_frame off
hc set frame_bg_transparent on
hc set frame_transparent_width 0
hc set frame_gap 4

hc attr theme.active.color '#FB027F'
hc attr theme.normal.color '#EFE805'
hc attr theme.urgent.color white
hc attr theme.inner_width 3
hc attr theme.inner_color '#EFE805'
hc attr theme.border_width 2
hc attr theme.floating.border_width 3
hc attr theme.floating.outer_width 9
hc attr theme.active.inner_color '#FB027F'
hc attr theme.floating.normal.outer_color '#35C06A'
hc attr theme.floating.normal.inner_color '#35C06A'
hc attr theme.floating.active.outer_color '#35C06A'
hc attr theme.active.outer_color '#FB027F'
hc attr theme.floating.active.outer_color '#01FFE0'
hc attr theme.background_color '#EFE805'

hc set window_gap 5
hc set window_padding 5
hc set frame_padding 1
hc set smart_window_surroundings on
hc set smart_frame_surroundings on
hc set mouse_recenter_gap 0
hc set default_frame_layout 3 
hc set hide_covered_windows 1
hc set gapless_grid 1
hc set auto_detect_panels 1



# rules
hc unrule -F
#hc rule class=XTerm tag=3 # move all xterms to tag 3
hc rule focus=on # normally focus new clients
#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
hc rule windowtype~'_NET_WM_WINDOW_TYPE_(DIALOG|UTILITY|SPLASH)' floating=on
hc rule windowtype='_NET_WM_WINDOW_TYPE_DIALOG' focus=on
hc rule windowtype~'_NET_WM_WINDOW_TYPE_(NOTIFICATION|DOCK|DESKTOP)' manage=off

hc set tree_style '╾│ ├└╼─┐'

# unlock, just to be sure
hc unlock

# do multi monitor setup here, e.g.:
# hc set_monitors 1280x1024+0+0 1280x1024+1280+0
# or simply:
# hc detect_monitors

# launch the panel
./bar/launch