Switch to bspwm
This commit is contained in:
parent
4133deacdb
commit
d77432d398
10 changed files with 297 additions and 0 deletions
21
bspwm/bspwmrc
Executable file
21
bspwm/bspwmrc
Executable file
|
|
@ -0,0 +1,21 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
bspc config border_width 2
|
||||||
|
bspc config window_gap 5
|
||||||
|
|
||||||
|
bspc config split_ratio 0.5
|
||||||
|
bspc config borderless_monocle true
|
||||||
|
bspc config gapless_monocle true
|
||||||
|
bspc config focus_by_distance true
|
||||||
|
bspc config focus_follows_pointer true
|
||||||
|
|
||||||
|
bspc config initial_polarity second_child
|
||||||
|
|
||||||
|
bspc monitor -d 1 2 3 4 5 6 7 8 9 10
|
||||||
|
|
||||||
|
echo 'xss-lock'
|
||||||
|
xss-lock -- i3lock -e -i ~/images/lockscreen.png &
|
||||||
|
echo 'nitrogen'
|
||||||
|
nitrogen --restore &
|
||||||
|
echo 'panel'
|
||||||
|
$PANEL_CONFIG_DIR/panel &
|
||||||
|
|
@ -3,3 +3,11 @@ export VISUAL=$EDITOR
|
||||||
|
|
||||||
export WORKON_HOME=$HOME/.virtualenvs
|
export WORKON_HOME=$HOME/.virtualenvs
|
||||||
source /usr/bin/virtualenvwrapper.sh
|
source /usr/bin/virtualenvwrapper.sh
|
||||||
|
|
||||||
|
export XDG_CONFIG_HOME=$HOME/.config
|
||||||
|
|
||||||
|
PANEL_CONFIG_DIR=$XDG_CONFIG_HOME/panel
|
||||||
|
PANEL_FIFO=/tmp/panel-fifo
|
||||||
|
PANEL_HEIGHT=24
|
||||||
|
PANEL_FONT_FAMILY="-*-terminus-medium-r-normal-*-12-*-*-*-c-*-*-1"
|
||||||
|
export PANEL_FIFO PANEL_HEIGHT PANEL_FONT_FAMILY PANEL_CONFIG_DIR
|
||||||
|
|
|
||||||
|
|
@ -19,3 +19,6 @@
|
||||||
~/.urlview: urlview/.urlview
|
~/.urlview: urlview/.urlview
|
||||||
~/.config/user-dirs.dirs: etc/user-dirs.dirs
|
~/.config/user-dirs.dirs: etc/user-dirs.dirs
|
||||||
~/.tmux.conf: tmux/.tmux.conf
|
~/.tmux.conf: tmux/.tmux.conf
|
||||||
|
~/.config/bspwm: bspwm/
|
||||||
|
~/.config/sxhkd: sxhkd/
|
||||||
|
~/.config/panel: panel/
|
||||||
|
|
|
||||||
12
panel/battery
Executable file
12
panel/battery
Executable file
|
|
@ -0,0 +1,12 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
prefix=$1
|
||||||
|
suffix=$2
|
||||||
|
|
||||||
|
while [ true ]; do
|
||||||
|
echo -n "$prefix"
|
||||||
|
echo -n $(acpi --battery | cut -d, -f2 | tr -d ' ')
|
||||||
|
echo -n "$suffix"
|
||||||
|
echo
|
||||||
|
sleep 1s
|
||||||
|
done
|
||||||
11
panel/clock
Executable file
11
panel/clock
Executable file
|
|
@ -0,0 +1,11 @@
|
||||||
|
#/bin/sh
|
||||||
|
|
||||||
|
prefix=$1
|
||||||
|
format=$2
|
||||||
|
|
||||||
|
while [ true ]; do
|
||||||
|
echo -n "$prefix"
|
||||||
|
echo -n $(date "$format")
|
||||||
|
echo
|
||||||
|
sleep 1s
|
||||||
|
done
|
||||||
28
panel/panel
Executable file
28
panel/panel
Executable file
|
|
@ -0,0 +1,28 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
PATH=$PATH:"$PANEL_CONFIG_DIR"
|
||||||
|
|
||||||
|
if [ $(pgrep -cx panel) -gt 1 ] ; then
|
||||||
|
printf "%s\n" "The panel is already running." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
trap 'trap - TERM; kill 0' INT TERM QUIT EXIT
|
||||||
|
|
||||||
|
[ -e "$PANEL_FIFO" ] && rm "$PANEL_FIFO"
|
||||||
|
mkfifo "$PANEL_FIFO"
|
||||||
|
|
||||||
|
bspc config bottom_padding $PANEL_HEIGHT
|
||||||
|
bspc control --subscribe > "$PANEL_FIFO" &
|
||||||
|
sleep 0.3s
|
||||||
|
clock 'C' '+%a %H:%M:%S' > "$PANEL_FIFO" &
|
||||||
|
sleep 0.3s
|
||||||
|
battery 'B' '%' > "$PANEL_FIFO" &
|
||||||
|
sleep 0.3s
|
||||||
|
volume 'V' '%' > "$PANEL_FIFO" &
|
||||||
|
|
||||||
|
source panel_colors
|
||||||
|
|
||||||
|
cat "$PANEL_FIFO" | panel_bar | lemonbar -g x$PANEL_HEIGHT -f "$PANEL_FONT_FAMILY" -F "$COLOR_FOREGROUND" -B "$COLOR_BACKGROUND" -b &
|
||||||
|
|
||||||
|
wait
|
||||||
80
panel/panel_bar
Executable file
80
panel/panel_bar
Executable file
|
|
@ -0,0 +1,80 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Example panel for LemonBoy's bar
|
||||||
|
|
||||||
|
source "$PANEL_CONFIG_DIR/panel_colors"
|
||||||
|
|
||||||
|
num_mon=$(bspc query -M | wc -l)
|
||||||
|
|
||||||
|
divider=' | '
|
||||||
|
|
||||||
|
while read -r line ; do
|
||||||
|
case $line in
|
||||||
|
C*)
|
||||||
|
# clock output
|
||||||
|
sys_infos="%{F$COLOR_STATUS_FG}%{B$COLOR_STATUS_BG} ${line#?} %{B-}%{F-}"
|
||||||
|
;;
|
||||||
|
W*)
|
||||||
|
# bspwm internal state
|
||||||
|
wm_infos=""
|
||||||
|
IFS=':'
|
||||||
|
set -- ${line#?}
|
||||||
|
while [ $# -gt 0 ] ; do
|
||||||
|
item=$1
|
||||||
|
name=${item#?}
|
||||||
|
case $item in
|
||||||
|
M*)
|
||||||
|
# active monitor
|
||||||
|
if [ $num_mon -gt 1 ] ; then
|
||||||
|
wm_infos="$wm_infos %{F$COLOR_ACTIVE_MONITOR_FG}%{B$COLOR_ACTIVE_MONITOR_BG} ${name} %{B-}%{F-} "
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
m*)
|
||||||
|
# inactive monitor
|
||||||
|
if [ $num_mon -gt 1 ] ; then
|
||||||
|
wm_infos="$wm_infos %{F$COLOR_INACTIVE_MONITOR_FG}%{B$COLOR_INACTIVE_MONITOR_BG} ${name} %{B-}%{F-} "
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
O*)
|
||||||
|
# focused occupied desktop
|
||||||
|
wm_infos="${wm_infos}%{F$COLOR_FOCUSED_OCCUPIED_FG}%{B$COLOR_FOCUSED_OCCUPIED_BG}%{U$COLOR_FOREGROUND}%{+u} ${name} %{-u}%{B-}%{F-}"
|
||||||
|
;;
|
||||||
|
F*)
|
||||||
|
# focused free desktop
|
||||||
|
wm_infos="${wm_infos}%{F$COLOR_FOCUSED_FREE_FG}%{B$COLOR_FOCUSED_FREE_BG}%{U$COLOR_FOREGROUND}%{+u} ${name} %{-u}%{B-}%{F-}"
|
||||||
|
;;
|
||||||
|
U*)
|
||||||
|
# focused urgent desktop
|
||||||
|
wm_infos="${wm_infos}%{F$COLOR_FOCUSED_URGENT_FG}%{B$COLOR_FOCUSED_URGENT_BG}%{U$COLOR_FOREGROUND}%{+u} ${name} %{-u}%{B-}%{F-}"
|
||||||
|
;;
|
||||||
|
o*)
|
||||||
|
# occupied desktop
|
||||||
|
wm_infos="${wm_infos}%{F$COLOR_OCCUPIED_FG}%{B$COLOR_OCCUPIED_BG} ${name} %{B-}%{F-}"
|
||||||
|
;;
|
||||||
|
f*)
|
||||||
|
# free desktop
|
||||||
|
# wm_infos="${wm_infos}%{F$COLOR_FREE_FG}%{B$COLOR_FREE_BG} ${name} %{B-}%{F-}"
|
||||||
|
;;
|
||||||
|
u*)
|
||||||
|
# urgent desktop
|
||||||
|
wm_infos="${wm_infos}%{F$COLOR_URGENT_FG}%{B$COLOR_URGENT_BG} ${name} %{B-}%{F-}"
|
||||||
|
;;
|
||||||
|
L*)
|
||||||
|
# layout
|
||||||
|
# wm_infos="$wm_infos %{F$COLOR_LAYOUT_FG}%{B$COLOR_LAYOUT_BG} ${name} %{B-}%{F-}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
B*)
|
||||||
|
# battery output
|
||||||
|
battery_infos="%{F$COLOR_STATUS_FG}%{B$COLOR_STATUS_BG} ${line#?} %{B-}%{F-}"
|
||||||
|
;;
|
||||||
|
V*)
|
||||||
|
# volume output
|
||||||
|
volume_infos="%{F$COLOR_STATUS_FG}%{B$COLOR_STATUS_BG} ${line#?} %{B-}%{F-}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
printf "%s\n" "%{l}${wm_infos}%{c}${title}%{r}${battery_infos}${divider}${volume_infos}${divider}${sys_infos}"
|
||||||
|
done
|
||||||
24
panel/panel_colors
Normal file
24
panel/panel_colors
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
COLOR_FOREGROUND='#FFA3A6AB'
|
||||||
|
COLOR_BACKGROUND='#FF34322E'
|
||||||
|
COLOR_ACTIVE_MONITOR_FG='#FF34322E'
|
||||||
|
COLOR_ACTIVE_MONITOR_BG='#FF58C5F1'
|
||||||
|
COLOR_INACTIVE_MONITOR_FG='#FF58C5F1'
|
||||||
|
COLOR_INACTIVE_MONITOR_BG='#FF34322E'
|
||||||
|
COLOR_FOCUSED_OCCUPIED_FG='#FFF6F9FF'
|
||||||
|
COLOR_FOCUSED_OCCUPIED_BG='#FF5C5955'
|
||||||
|
COLOR_FOCUSED_FREE_FG='#FFF6F9FF'
|
||||||
|
COLOR_FOCUSED_FREE_BG='#FF6D561C'
|
||||||
|
COLOR_FOCUSED_URGENT_FG='#FF34322E'
|
||||||
|
COLOR_FOCUSED_URGENT_BG='#FFF9A299'
|
||||||
|
COLOR_OCCUPIED_FG='#FFA3A6AB'
|
||||||
|
COLOR_OCCUPIED_BG='#FF34322E'
|
||||||
|
COLOR_FREE_FG='#FF6F7277'
|
||||||
|
COLOR_FREE_BG='#FF34322E'
|
||||||
|
COLOR_URGENT_FG='#FFF9A299'
|
||||||
|
COLOR_URGENT_BG='#FF34322E'
|
||||||
|
COLOR_LAYOUT_FG='#FFA3A6AB'
|
||||||
|
COLOR_LAYOUT_BG='#FF34322E'
|
||||||
|
COLOR_TITLE_FG='#FFA3A6AB'
|
||||||
|
COLOR_TITLE_BG='#FF34322E'
|
||||||
|
COLOR_STATUS_FG='#FFA3A6AB'
|
||||||
|
COLOR_STATUS_BG='#FF34322E'
|
||||||
16
panel/volume
Executable file
16
panel/volume
Executable file
|
|
@ -0,0 +1,16 @@
|
||||||
|
#/bin/sh
|
||||||
|
|
||||||
|
prefix=$1
|
||||||
|
suffix=$2
|
||||||
|
|
||||||
|
while [ true ]; do
|
||||||
|
echo -n "$prefix"
|
||||||
|
volume=$(
|
||||||
|
pulseaudio-ctl | grep 'Volume level' | cut -d: -f2 | tr -d ' ' \
|
||||||
|
| sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g"
|
||||||
|
)
|
||||||
|
echo -n $volume
|
||||||
|
echo -n "$suffix"
|
||||||
|
echo
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
94
sxhkd/sxhkdrc
Normal file
94
sxhkd/sxhkdrc
Normal file
|
|
@ -0,0 +1,94 @@
|
||||||
|
#
|
||||||
|
# bspwm hotkeys
|
||||||
|
#
|
||||||
|
|
||||||
|
super + alt + Escape
|
||||||
|
pkill -x panel; bspc quit
|
||||||
|
|
||||||
|
super + shift + q
|
||||||
|
bspc window -c
|
||||||
|
|
||||||
|
super + t
|
||||||
|
bspc desktop -l next
|
||||||
|
|
||||||
|
super + b
|
||||||
|
bspc desktop -B
|
||||||
|
|
||||||
|
super + {s,f}
|
||||||
|
bspc window -t {floating,fullscreen}
|
||||||
|
|
||||||
|
super + {grave,Tab}
|
||||||
|
bspc {window,desktop} -f last
|
||||||
|
|
||||||
|
super + apostrophe
|
||||||
|
bspc window -s last
|
||||||
|
|
||||||
|
super + {o,i}
|
||||||
|
bspc control --record-history off; \
|
||||||
|
bspc window {older,newer} -f; \
|
||||||
|
bspc control --record-history on
|
||||||
|
|
||||||
|
super + y
|
||||||
|
bspc window -w last.manual
|
||||||
|
|
||||||
|
super + m
|
||||||
|
bspc window -s biggest
|
||||||
|
|
||||||
|
super + {_,shift + }{h,j,k,l}
|
||||||
|
bspc window -{f,s} {left,down,up,right}
|
||||||
|
|
||||||
|
super + {_,shift + }c
|
||||||
|
bspc window -f {next,prev}
|
||||||
|
|
||||||
|
super + {comma,period}
|
||||||
|
bspc desktop -C {backward,forward}
|
||||||
|
|
||||||
|
super + bracket{left,right}
|
||||||
|
bspc desktop -f {prev,next}
|
||||||
|
|
||||||
|
super + ctrl + {h,j,k,l}
|
||||||
|
bspc window -p {left,down,up,right}
|
||||||
|
|
||||||
|
super + ctrl + {_,shift + }space
|
||||||
|
bspc {window -p cancel,desktop -c}
|
||||||
|
|
||||||
|
super + alt + {h,j,k,l}
|
||||||
|
bspc window -e {left -10,down +10,up -10,right +10}
|
||||||
|
|
||||||
|
super + alt + shift + {h,j,k,l}
|
||||||
|
bspc window -e {right -10,up +10,down -10,left +10}
|
||||||
|
|
||||||
|
super + ctrl + {1-9}
|
||||||
|
bspc window -r 0.{1-9}
|
||||||
|
|
||||||
|
super + {_,shift + }{1-9,0}
|
||||||
|
bspc {desktop -f,window -d} ^{1-9,10}
|
||||||
|
|
||||||
|
~button1
|
||||||
|
bspc pointer -g focus
|
||||||
|
|
||||||
|
super + button{1-3}
|
||||||
|
bspc pointer -g {move,resize_side,resize_corner}
|
||||||
|
|
||||||
|
super + !button{1-3}
|
||||||
|
bspc pointer -t %i %i
|
||||||
|
|
||||||
|
super + @button{1-3}
|
||||||
|
bspc pointer -u
|
||||||
|
|
||||||
|
#
|
||||||
|
# wm independent hotkeys
|
||||||
|
#
|
||||||
|
|
||||||
|
super + Return
|
||||||
|
urxvt
|
||||||
|
|
||||||
|
super + space
|
||||||
|
dmenu_run
|
||||||
|
|
||||||
|
# make sxhkd reload its configuration files:
|
||||||
|
super + Escape
|
||||||
|
pkill -USR1 -x sxhkd
|
||||||
|
|
||||||
|
super + shift + semicolon
|
||||||
|
i3lock -e -i ~/images/lockscreen.png
|
||||||
Loading…
Add table
Add a link
Reference in a new issue