diff --git a/rwm_clearer.sh b/rwm_clearer.sh index 212a237..2e7a579 100755 --- a/rwm_clearer.sh +++ b/rwm_clearer.sh @@ -4,15 +4,47 @@ . $HOME/.config/rootwm/rwm_var -CWL="/tmp/nowm_cwl" # cleared windows list -CWLD=$(cat $CWL | grep "$(lsw -u)") # difference between CWL and currently unmapped windows. +FLAG=$1 +FW=$(pfw) # focused window +CL=$(atomx WM_CL $FW) # clearrer atom + +usage() { + echo "usage: +rwm_clearer.sh [ -c, -r ] +-c) clear desktop +-r) restore windows" +} + +clear() { + if [ -n $FW ]; then + for wid in $(lsw); do + atomx WM_CL=True $wid + mapw -u $wid + done + fi +} + +restore() { + for wid in $(lsw -u); do + wm_cl=$(atomx WM_CL $wid) + if [ -n "$wm_cl" ]; then + mapw -m $wid + atomx -d WM_CL $wid + fi + done +} + +case $FLAG in + -c) + clear + ;; + -u) + restore + ;; + *) + usage + ;; +esac + -if [ -f $CWL ]; then # if CWL file exist - mapw -m $CWLD # restore windows that have not been mapped yet - rm $CWL # remove CWL file -else # if CWL file not exist - lsw > $CWL # create file with maped windows - mapw -u $(lsw) # clear desktop - -fi