Update bspwm & sxhkd dots
authorAmin Bandali <amin@aminb.org>
Sat, 19 Nov 2016 03:28:31 +0000 (22:28 -0500)
committerAmin Bandali <amin@aminb.org>
Sat, 19 Nov 2016 03:28:31 +0000 (22:28 -0500)
bspwm/.config/bspwm/bspwmrc
bspwm/.local/bin/panel [deleted file]
bspwm/.local/bin/panel_bar [deleted file]
bspwm/.local/bin/panel_colors [deleted file]
bspwm/.local/bin/spk-icon [deleted file]
bspwm/.local/bin/toggle_tray [new file with mode: 0755]
sxhkd/.config/sxhkd/sxhkdrc
sxhkd/.local/bin/em [deleted file]
sxhkd/.local/bin/toggle-mouse [deleted file]

index 5c3081b..6601cf8 100755 (executable)
@@ -1,24 +1,21 @@
 #! /bin/sh
 
-bspc config border_width        3
-bspc config window_gap                 10
+sxhkd &
 
-bspc config top_padding 30
+bspc monitor -d I II III IV V VI VII VIII IX X
 
-bspc config split_ratio         0.6
-bspc config borderless_monocle  true
-bspc config gapless_monocle     true
-bspc config focus_by_distance   true
+bspc config border_width         2
+bspc config window_gap          12
+#bspc config bottom_padding         32
 
-bspc monitor -d web code term iv v vi vii viii ix x
+# bspc config split_ratio          0.52
+bspc config borderless_monocle   true
+bspc config click_to_focus       true
+bspc config gapless_monocle      true
 
-bspc config normal_border_color '#1d1f21'
-bspc config focused_border_color '#093748'
-
-# bspc rule -a Firefox desktop=^1 focus=on
-# bspc rule -a emacs desktop=^2 focus=on
-# bspc rule -a Chromium desktop=^3 focus=on
-# bspc rule -a zathura desktop=^5 focus=on
-bspc rule -a xfce4-appfinder floating=on
-
-# panel &
+bspc rule -a Firefox desktop='^1' follow=on
+bspc rule -a Emacs desktop='^2' state=tiled follow=on
+bspc rule -a Chromium desktop='^4' follow=on
+bspc rule -a Termite state=floating
+bspc rule -a URxvt state=floating
+bspc rule -a qterminal state=floating
diff --git a/bspwm/.local/bin/panel b/bspwm/.local/bin/panel
deleted file mode 100755 (executable)
index f04841b..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#! /bin/sh
-
-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 top_padding $PANEL_HEIGHT
-bspc control --subscribe > "$PANEL_FIFO" &
-#xtitle -sf 'T%s' > "$PANEL_FIFO" &
-#clock -sf 'S%a %H:%M' > "$PANEL_FIFO" &
-
-pamixer --get-volume > /tmp/volinfo
-if $(pamixer --get-mute) ; then
-    echo ⮝ > /tmp/spkicon
-else
-    echo ⮟ > /tmp/spkicon
-fi
-conky > "$PANEL_FIFO" &
-
-. panel_colors
-
-cat "$PANEL_FIFO" | panel_bar | bar-aint-recursive -g x$PANEL_HEIGHT -f "$PANEL_FONT_FAMILY1","$PANEL_FONT_FAMILY2","$PANEL_FONT_FAMILY3" -F "$COLOR_FOREGROUND" -B "$COLOR_BACKGROUND" &
-
-wait
diff --git a/bspwm/.local/bin/panel_bar b/bspwm/.local/bin/panel_bar
deleted file mode 100755 (executable)
index 2ad2f15..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-#! /bin/sh
-#
-# Example panel for LemonBoy's bar
-
-. panel_colors
-
-num_mon=$(bspc query -M | wc -l)
-
-while read -r line ; do
-       case $line in
-               S*)
-                       # clock output
-                       sys_infos="%{F$COLOR_STATUS_FG}%{B$COLOR_STATUS_BG} ${line#?} %{B-}%{F-}"
-                       ;;
-               T*)
-                       # xtitle output
-                       title="%{F$COLOR_TITLE_FG}%{B$COLOR_TITLE_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
-                       ;;
-       esac
-       printf "%s\n" "%{l}${wm_infos}%{c}${title}%{r}${sys_infos}"
-done
diff --git a/bspwm/.local/bin/panel_colors b/bspwm/.local/bin/panel_colors
deleted file mode 100644 (file)
index 6327864..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-COLOR_FOREGROUND='#FFffffff'
-COLOR_BACKGROUND='#FF1d1f21'
-COLOR_ACTIVE_MONITOR_FG='#FF1d1f21'
-COLOR_ACTIVE_MONITOR_BG='#FFcc6666'
-COLOR_INACTIVE_MONITOR_FG='#FFffffff'
-COLOR_INACTIVE_MONITOR_BG='#FF1d1f21'
-COLOR_FOCUSED_OCCUPIED_FG='#FFffffff'
-COLOR_FOCUSED_OCCUPIED_BG='#FF373b41'
-COLOR_FOCUSED_OCCUPIED_UL='#FFbcbac2'
-COLOR_FOCUSED_FREE_FG='#FFffffff'
-COLOR_FOCUSED_FREE_BG='#FF1d1f21'
-COLOR_FOCUSED_FREE_UL='#FFa39e98'
-COLOR_FOCUSED_URGENT_FG='white'
-COLOR_FOCUSED_URGENT_BG='#FFF9A299'
-COLOR_FOCUSED_URGENT_UL='white'
-COLOR_OCCUPIED_FG='#FFffffff'
-COLOR_OCCUPIED_BG='#FF1d1f21'
-#COLOR_FREE_FG='#FF6F7277'
-COLOR_FREE_FG='#FF969896'
-COLOR_FREE_BG='#FF1d1f21'
-COLOR_URGENT_FG='#FFF9A299'
-COLOR_URGENT_BG='#FF1d1f21'
-COLOR_LAYOUT_FG='#FFffffff'
-COLOR_LAYOUT_BG='#FF1d1f21'
-COLOR_TITLE_FG='#FFffffff'
-COLOR_TITLE_BG='#FF1d1f21'
-COLOR_STATUS_FG='#FFffffff'
-COLOR_STATUS_BG='#FF1d1f21'
-COLOR_STATUS_IC='#FFcc6666'
diff --git a/bspwm/.local/bin/spk-icon b/bspwm/.local/bin/spk-icon
deleted file mode 100755 (executable)
index 10a2e7c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-if $(pamixer --get-mute) ; then
-echo ⮝
-else
-cat /tmp/spkicon
-fi
diff --git a/bspwm/.local/bin/toggle_tray b/bspwm/.local/bin/toggle_tray
new file mode 100755 (executable)
index 0000000..c081995
--- /dev/null
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+# from https://github.com/kallith/Dotfiles
+
+if [ $(pgrep -cf stalonetray) -gt 0 ]; then
+       wid=$(xdotool search --class stalonetray)
+       if [ "$(xdotool search --onlyvisible --class stalonetray)" != "" ]; then
+               xdotool windowunmap $wid
+       else
+               xdotool windowmap $wid
+               xdotool windowraise $wid
+       fi
+else
+       xdotool search --class stalonetray
+       stalonetray
+fi
index 53ce423..461d1cd 100644 (file)
 #
-# bspwm hotkeys
+# wm independent hotkeys
 #
 
-super + alt + Escape
-       bspc quit
-
-super + w
-       bspc window -c
-
-super + t
-       bspc desktop -l next
-
-super + b
-       bspc desktop -B
-
-super + {p,s,f}
-       state={pseudo_tiled,floating,fullscreen}; \
-       bspc query -W -w "focused.$\{state\}" && state=tiled; \
-       bspc window -t "$state"
+# terminal emulator
+super + Return
+       urxvt
 
-super + {grave,Tab}
-       bspc {window,desktop} -f last
+# program launcher
+super + space
+       rofi -show run -font "Inconsolata 13"
 
-super + apostrophe
-       bspc window -s last
+super + z ; t
+       urxvt
 
-super + {o,i}
-       bspc control --record-history off; \
-       bspc window {older,newer} -f; \
-       bspc control --record-history on
+super + z ; f
+       firefox-nightly
 
-super + y
-       bspc window -w last.manual
+# firefox
+#super + r
+#      firefox
 
-super + m
-       bspc window -s biggest
+# chromium
+#super + c
+#      chromium
 
-super + {_,shift + }{h,j,k,l}
-       bspc window -{f,s} {left,down,up,right}
+# emacs
+super + e
+       emacs
 
-super + {_,shift + }slash
-       bspc window -f {next,prev}
+# stalonetray
+#super + minus
+#      toggle_tray&
 
-super + {comma,period}
-       bspc desktop -C {backward,forward}
+# volume up
+XF86AudioRaiseVolume
+       pamixer --allow-boost --increase 5
 
-super + bracket{left,right}
-       bspc desktop -f {prev,next}
+# volume down
+XF86AudioLowerVolume
+       pamixer  --allow-boost --decrease 5
 
-super + shift + bracket{left,right}
-       bspc window -d {prev,next}
+# mute
+XF86AudioMute
+       pamixer --toggle-mute
 
-super + ctrl + {h,j,k,l}
-       bspc window -p {left,down,up,right}
+# monitor brightness
+#XF86MonBrightness{Up,Down}
+#      xbacklight -time 0 {+5,-5}
 
-super + ctrl + {_,shift + }space
-       bspc {window -p cancel,desktop -c}
+# keyboard brightness
+#XF86KbdBrightness{Up,Down}
+#      kbdlight {up,down}
 
-super + alt + {h,j,k,l}
-       bspc window -e {left -10,down +10,up -10,right +10}
+XF86LaunchA
+  toggle-layout
 
-super + alt + shift + {h,j,k,l}
-       bspc window -e {right -10,up +10,down -10,left +10}
+# make sxhkd reload its configuration files:
+super + Escape
+       pkill -USR1 -x sxhkd
 
-super + ctrl + {1-9}
-       bspc window -r 0.{1-9}
+#
+# bspwm hotkeys
+#
 
-super + {_,shift + }{1-9,0}
-       bspc {desktop -f,window -d} ^{1-9,10}
+# quit bspwm normally
+super + alt + Escape
+       bspc quit
 
-~button1
-       bspc pointer -g focus
+# close and kill
+super + {w,q}
+       bspc node -{c,k}
 
-super + button{1-3}
-       bspc pointer -g {move,resize_side,resize_corner}
+# alternate between the tiled and monocle layout
+super + m
+       bspc desktop -l next
 
-super + !button{1-3}
-       bspc pointer -t %i %i
+# if the current node is automatic, send it to the last manual, otherwise pull the last leaf
+super + y
+       bspc query -N -n focused.automatic && bspc node -n last.!automatic || bspc node last.leaf -n focused
 
-super + @button{1-3}
-       bspc pointer -u
+# swap the current node and the biggest node
+super + g
+       bspc node -s biggest
 
 #
-# wm independent hotkeys
+# state/flags
 #
 
-super + Return
-       urxvt
+# set the window state
+super + {t,shift + t,s,f}
+       bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
 
-super + space
-       rofi -show run -font "Source Code Pro 11" -fg "#195465" -bg "#0A0F14" -hlfg "#EDB54B" -hlbg "#0A0F14" -o 85
+# set the node flags
+super + ctrl + {x,y,z}
+       bspc node -g {locked,sticky,private}
 
-super + x
-    slimlock
-
-super + e
-    emacs
-
-super + r
-    firefox
+#
+# focus/swap
+#
 
-super + c
-    chromium -incognito
+# focus the node in the given direction
+super + {_,shift + }{h,j,k,l}
+       bspc node -{f,s} {west,south,north,east}
 
-# make sxhkd reload its configuration files:
-super + Escape
-       pkill -USR1 -x sxhkd
+# focus the node for the given path jump
+super + {p,b,comma,period}
+       bspc node -f @{parent,brother,first,second}
 
-#XF86MonBrightnessDown
-#      xbacklight -dec 5
+# focus the next/previous node
+super + {_,shift + }slash
+       bspc node -f {next,prev}
 
-#XF86MonBrightnessUp
-#      xbacklight -inc 5
+# focus the next/previous desktop
+super + bracket{left,right}
+       bspc desktop -f {prev,next}
 
-# XF86KbdBrightnessDown
-       #kbdlight down
+# send to next/prev desktop
+super + shift + bracket{left,right}
+       bspc node -d {prev,next}
 
-# XF86KbdBrightnessUp
-       #kbdlight up
+# focus the last node/desktop
+super + {grave,Tab}
+       bspc {node,desktop} -f last
 
-#XF86AudioRaiseVolume
-#    pulseaudio-ctl up
+# focus the older or newer node in the focus history
+super + {o,i}
+       bspc wm -h off; \
+       bspc node {older,newer} -f; \
+       bspc wm -h on
 
-#XF86AudioLowerVolume
-#    pulseaudio-ctl down
+# focus or send to the given desktop
+super + {_,shift + }{1-9,0}
+       bspc {desktop -f,node -d} '^{1-9,10}'
 
-#XF86AudioMute
-#    pulseaudio-ctl mute
+#
+# preselect
+#
 
-XF86AudioPlay
-    mpc toggle
+# preselect the direction
+super + ctrl + {h,j,k,l}
+       bspc node -p {west,south,north,east}
 
-XF86AudioPrev
-    mpc prev
+# preselect the ratio
+super + ctrl + {1-9}
+       bspc node -o 0.{1-9}
 
-XF86AudioNext
-    mpc next
+# cancel the preselection for the focused node
+super + ctrl + space
+       bspc node -p cancel
 
-XF86AudioRaiseVolume
-       pamixer --allow-boost --increase 5
+# cancel the preselection for the focused desktop
+super + ctrl + shift + space
+       bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
 
-XF86AudioLowerVolume
-       pamixer  --allow-boost --decrease 5
+#
+# move/resize
+#
 
-XF86AudioMute
-       pamixer --toggle-mute
+# expand a window by moving one of its side outward
+super + alt + {h,j,k,l}
+       bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
 
-XF86LaunchA
-  toggle-layout
+# contract a window by moving one of its side inward
+super + alt + shift + {h,j,k,l}
+       bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
 
-XF86LaunchB
-  toggle-mouse
+# move a floating window
+super + {Left,Down,Up,Right}
+       bspc node -v {-20 0,0 20,0 -20,20 0}
diff --git a/sxhkd/.local/bin/em b/sxhkd/.local/bin/em
deleted file mode 100755 (executable)
index 6d087f3..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-
-if [ -z "$DISPLAY" ]; then
-    IS_GRAPHICAL=true
-else
-    IS_GRAPHICAL=$(emacs --batch -Q --eval='(if (fboundp '"'"'tool-bar-mode) (message "true") (message "false"))' 2>&1)
-fi
-
-if $IS_GRAPHICAL; then
-    emacsclient -a "" -nc "$@"
-else
-    emacsclient -a "" -t "$@"
-fi
diff --git a/sxhkd/.local/bin/toggle-mouse b/sxhkd/.local/bin/toggle-mouse
deleted file mode 100755 (executable)
index 906fdbb..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/bash
-
-touchpad_off="$(synclient -l | grep TouchpadOff | cut -d'=' -f 2 | xargs)"
-
-if [ "$touchpad_off" = "0" ]; then
-    synclient TouchpadOff=1
-    unclutter -idle 1 &
-else
-    synclient TouchpadOff=0
-    killall unclutter
-fi