1
0
Fork 0

Switch to bspwm

This commit is contained in:
Jeremy Kaplan 2016-02-21 15:15:44 -05:00
commit d77432d398
10 changed files with 297 additions and 0 deletions

21
bspwm/bspwmrc Executable file
View 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 &

View file

@ -3,3 +3,11 @@ export VISUAL=$EDITOR
export WORKON_HOME=$HOME/.virtualenvs
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

View file

@ -19,3 +19,6 @@
~/.urlview: urlview/.urlview
~/.config/user-dirs.dirs: etc/user-dirs.dirs
~/.tmux.conf: tmux/.tmux.conf
~/.config/bspwm: bspwm/
~/.config/sxhkd: sxhkd/
~/.config/panel: panel/

12
panel/battery Executable file
View 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
View 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
View 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
View 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
View 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
View 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
View 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