aboutsummaryrefslogtreecommitdiffstats
path: root/herbstluftwm/.config
diff options
context:
space:
mode:
Diffstat (limited to 'herbstluftwm/.config')
-rwxr-xr-xherbstluftwm/.config/herbstluftwm/autostart206
-rw-r--r--herbstluftwm/.config/herbstluftwm/dependencylist5
-rw-r--r--herbstluftwm/.config/herbstluftwm/hlwm-keybindings80
-rw-r--r--herbstluftwm/.config/herbstluftwm/hlwm-rules13
-rw-r--r--herbstluftwm/.config/herbstluftwm/hlwm-theming31
-rwxr-xr-xherbstluftwm/.config/herbstluftwm/panel_handler.sh17
-rwxr-xr-x[-rw-r--r--]herbstluftwm/.config/herbstluftwm/panel_indicators.sh71
-rwxr-xr-xherbstluftwm/.config/herbstluftwm/populate_panel.sh (renamed from herbstluftwm/.config/herbstluftwm/panel.sh)147
-rwxr-xr-xherbstluftwm/.config/herbstluftwm/start.sh2
-rwxr-xr-xherbstluftwm/.config/herbstluftwm/start_panel.sh34
l---------herbstluftwm/.config/herbstluftwm/themes/current1
-rw-r--r--herbstluftwm/.config/herbstluftwm/themes/purpur (renamed from herbstluftwm/.config/herbstluftwm/theme.sh)9
12 files changed, 327 insertions, 289 deletions
diff --git a/herbstluftwm/.config/herbstluftwm/autostart b/herbstluftwm/.config/herbstluftwm/autostart
index 683fbf1..78a81b4 100755
--- a/herbstluftwm/.config/herbstluftwm/autostart
+++ b/herbstluftwm/.config/herbstluftwm/autostart
@@ -1,14 +1,16 @@
1#!/bin/bash 1#!/usr/bin/env bash
2
3# this is a simple config for herbstluftwm
4 2
3# Herbstclient shortcut
5hc() { 4hc() {
6 herbstclient "$@" 5 herbstclient "$@"
7} 6}
7export -f hc
8
9# The current directory
10export HLWM_CONF_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
8 11
9#Include the theming script 12#Include the theming script
10dir=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) 13source "$HLWM_CONF_DIR/themes/current"
11source "$dir/theme.sh"
12 14
13#Detect monitors 15#Detect monitors
14hc set auto_detect_monitors 1 16hc set auto_detect_monitors 1
@@ -19,175 +21,41 @@ monitor_w=($(hc list_monitors | sed 's/^[0-9]: \([0-9]*\)x.*$/\1/'))
19panel_w=$(echo "$monitor_w - (2 * $window_p)" | bc) 21panel_w=$(echo "$monitor_w - (2 * $window_p)" | bc)
20dmenu_opts="-h $panel_h -w $panel_w -x $window_p -y $window_p -p Run: -nb $color_bg -nf $color_fg -sb $color_accent -sf $color_bg" 22dmenu_opts="-h $panel_h -w $panel_w -x $window_p -y $window_p -p Run: -nb $color_bg -nf $color_fg -sb $color_accent -sf $color_bg"
21 23
22# remove all existing keybindings 24# Tags
23hc keyunbind --all 25tag_names=()
24 26tag_keys=({1..9} 0)
25# keybindings 27for key in ${tag_keys[@]}; do
26Mod=Mod4 # Use the super key as the main modifier 28 if [ $key -eq 0 ]; then key=10; fi
27 29 key=$(echo "$key - 1" | bc)
28hc keybind $Mod-Shift-q quit 30 name=$(echo "obase=2;$key" | bc | awk '{ printf "%04d", $0 }')
29hc keybind $Mod-Shift-r reload 31 tag_names+=($name)
30hc keybind $Mod-Shift-c close 32done;
31hc keybind $Mod-Return spawn xterm 33
32hc keybind $Mod-grave spawn dmenu_run $dmenu_opts 34# Source hlwm-config-files
33hc keybind XF86AudioLowerVolume spawn amixer set Master 1%- 35source "$HLWM_CONF_DIR/hlwm-keybindings"
34hc keybind XF86AudioRaiseVolume spawn amixer set Master 1%+ 36source "$HLWM_CONF_DIR/hlwm-theming"
35 37source "$HLWM_CONF_DIR/hlwm-rules"
36# basic movement 38
37# focusing clients 39# Unlock, just to be sure
38#hc keybind $Mod-Left focus left
39#hc keybind $Mod-Down focus down
40#hc keybind $Mod-Up focus up
41#hc keybind $Mod-Right focus right
42hc keybind $Mod-h focus left
43hc keybind $Mod-j focus down
44hc keybind $Mod-k focus up
45hc keybind $Mod-l focus right
46
47# moving clients
48#hc keybind $Mod-Shift-Left shift left
49#hc keybind $Mod-Shift-Down shift down
50#hc keybind $Mod-Shift-Up shift up
51#hc keybind $Mod-Shift-Right shift right
52hc keybind $Mod-Shift-h shift left
53hc keybind $Mod-Shift-j shift down
54hc keybind $Mod-Shift-k shift up
55hc keybind $Mod-Shift-l shift right
56
57# splitting frames
58# create an empty frame at the specified direction
59hc keybind $Mod-u split bottom 0.5
60hc keybind $Mod-o split right 0.5
61# let the current frame explode into subframes
62hc keybind $Mod-Control-space split explode
63
64# resizing frames
65resizestep=0.05
66hc keybind $Mod-Control-h resize left +$resizestep
67hc keybind $Mod-Control-j resize down +$resizestep
68hc keybind $Mod-Control-k resize up +$resizestep
69hc keybind $Mod-Control-l resize right +$resizestep
70#hc keybind $Mod-Control-Left resize left +$resizestep
71#hc keybind $Mod-Control-Down resize down +$resizestep
72#hc keybind $Mod-Control-Up resize up +$resizestep
73#hc keybind $Mod-Control-Right resize right +$resizestep
74
75# tags
76tag_names=( I II III IV V VI VII VIII IX X )
77tag_keys=( {1..9} 0 )
78
79# Selecting workspaces
80#hc keybind Alt-Control-Left use_index -1
81#hc keybind Alt-Control-Right use_index +1
82hc keybind Alt-Control-h use_index -1
83hc keybind Alt-Control-l use_index +1
84hc rename default "${tag_names[0]}" || true
85for i in ${!tag_names[@]} ; do
86 hc add "${tag_names[$i]}"
87 key="${tag_keys[$i]}"
88 if ! [ -z "$key" ] ; then
89 hc keybind "$Mod-$key" use_index "$i"
90 hc keybind "$Mod-Shift-$key" move_index "$i"
91 fi
92done
93
94# cycle through tags
95hc keybind $Mod-period use_index +1 --skip-visible
96hc keybind $Mod-comma use_index -1 --skip-visible
97
98# layouting
99hc keybind $Mod-r remove
100hc keybind $Mod-space cycle_layout 1
101hc keybind $Mod-s floating toggle
102hc keybind $Mod-f fullscreen toggle
103hc keybind $Mod-p pseudotile toggle
104
105# mouse
106hc mouseunbind --all
107hc mousebind $Mod-Button1 move
108hc mousebind $Mod-Button2 zoom
109hc mousebind $Mod-Button3 resize
110
111# focus
112hc keybind $Mod-BackSpace cycle_monitor
113hc keybind $Mod-Tab cycle_all +1
114hc keybind $Mod-Shift-Tab cycle_all -1
115hc keybind $Mod-c cycle
116hc keybind $Mod-i jumpto urgent
117hc set focus_follows_mouse 1
118
119# theme
120hc attr theme.tiling.reset 1
121hc attr theme.floating.reset 1
122hc set frame_border_width 0
123hc set always_show_frame 0
124hc set frame_bg_transparent 1
125hc set frame_normal_opacity 0
126hc set frame_active_opacity 0
127hc set frame_transparent_width 0
128hc set frame_gap 0
129
130hc attr theme.active.color $color_accent
131hc attr theme.normal.color $color_bg
132hc attr theme.urgent.color orange
133hc attr theme.inner_width 1
134hc attr theme.inner_color $color_bg
135hc attr theme.border_width 3
136hc attr theme.floating.border_width 4
137hc attr theme.floating.outer_width 1
138hc attr theme.floating.outer_color $color_bg
139hc attr theme.active.inner_color $color_bg
140hc attr theme.active.outer_color $color_bg
141hc attr theme.background_color $color_bg
142
143hc set window_gap $window_p
144hc set frame_padding 0
145hc set smart_window_surroundings 0
146hc set smart_frame_surroundings 1
147hc set mouse_recenter_gap 1
148
149# rules
150hc unrule -F
151hc rule focus=on # normally focus new clients
152
153#hc rule windowtype~'_NET_WM_WINDOW_TYPE_(DIALOG|UTILITY|SPLASH)' pseudotile=on
154hc rule windowtype='_NET_WM_WINDOW_TYPE_DIALOG' focus=on
155hc rule windowtype~'_NET_WM_WINDOW_TYPE_(NOTIFICATION|DOCK|DESKTOP)' manage=off
156
157hc rule --class~'(.*[Ss]team.*)' --tag=IX --focus=off
158hc rule --class~'(.*[Hh]exchat.*)' --tag=X --focus=off
159hc rule --class~'(.*[Ss]potify.*)' --tag=X --focus=off
160hc rule --class~'(.*[Ss]kype.*)' --tag=VIII --focus=off
161
162# unlock, just to be sure
163hc unlock 40hc unlock
164 41
165herbstclient set tree_style '╾│ ├└╼─┐' 42herbstclient set tree_style '╾│ ├└╼─┐'
166 43
167#Start panel in all monitors 44# Start panel in all monitors
168start_panel() { 45panel=$HLWM_CONF_DIR/start_panel.sh
169 for monitor in $(herbstclient list_monitors | cut -d: -f1) ; do
170 "$1" $monitor&
171 done
172}
173
174# find the panel
175panel=$dir/panel.sh
176[ -x "$panel" ] || panel=/etc/xdg/herbstluftwm/panel.sh 46[ -x "$panel" ] || panel=/etc/xdg/herbstluftwm/panel.sh
177if pgrep panel.sh >> /dev/null 47for monitor in $(herbstclient list_monitors | cut -d: -f1) ; do
178then 48 $panel $monitor&
179 kill $(pgrep panel.sh) 49