Date: Mon, 5 Aug 2019 11:14:23 +0200 From: Ralf Mardorf <ralf.mardorf@rocketmail.com> To: freebsd-questions@freebsd.org Subject: Re: thunderbird in German? Message-ID: <20190805111423.012d4fa3@archlinux> In-Reply-To: <20190805110706.1b21e528@archlinux> References: <87o91bw4mx.fsf@toy.adminart.net> <20190731012754.3783a859.freebsd@edvax.de> <878ssc5v3x.fsf@toy.adminart.net> <20190802060356.eebda021.freebsd@edvax.de> <87tvaz8gkn.fsf@toy.adminart.net> <20190802213025.884985d57dbfd7bf20ae4cd5@sohara.org> <87lfw9bxeb.fsf@toy.adminart.net> <20190804093710.66948e68@archlinux> <20190805071120.c258204a.freebsd@edvax.de> <20190805110706.1b21e528@archlinux>
next in thread | previous in thread | raw e-mail | index | archive | help
Oops, the lines of the script were wrapped by accident. [rocketmouse@archlinux ~]$ cat /usr/local/bin/window2unhide #!/bin/dash # window2unhide 2017-08-25 Ralf Mardorf # To configure window2unhide you could use /etc/profile.d/window2unhide.sh # # values of the wanted x and y position of the window # export WINDOW2UNHIDE_X_POS=hold # export WINDOW2UNHIDE_Y_POS=141 # # delay required to ensure that a launched application's window is active # export WINDOW2UNHIDE_SLEEP=1 # # values to eliminate x and y drift of the window # this fix is needed for all windows # export WINDOW2UNHIDE_X_FIX=2 # export WINDOW2UNHIDE_Y_FIX=54 # # offset required to eliminate x and y drift of the window if x and/or y do/does not change # this offset is needed for windows that open under the top panel # but its unfavorable for windows that don't open under the top panel # export WINDOW2UNHIDE_X_OFF=1 # export WINDOW2UNHIDE_Y_OFF=25 unhide_window () { # values of the wanted x and y position of the window case $WINDOW2UNHIDE_X_POS in ""|hold) WINDOW2UNHIDE_X_POS=$X ;; esac case $WINDOW2UNHIDE_Y_POS in "") WINDOW2UNHIDE_Y_POS=141 ;; hold) WINDOW2UNHIDE_Y_POS=$Y ;; esac # value to eliminate x drift of the window case $WINDOW2UNHIDE_X_FIX in "") WINDOW2UNHIDE_X_FIX=2 ;; esac # calculate value for x position of the window... case $WINDOW2UNHIDE_X_POS in $X) # ...if the x position doesn't change subtract the value to eliminate x drift and add an offset case $WINDOW2UNHIDE_X_OFF in "") WINDOW2UNHIDE_X_OFF=1 ;; esac X_POS=$(expr $WINDOW2UNHIDE_X_POS - $WINDOW2UNHIDE_X_FIX + $WINDOW2UNHIDE_X_OFF) ;; *) # ...if the x position does change subtract the value to eliminate x drift X_POS=$(expr $WINDOW2UNHIDE_X_POS - $WINDOW2UNHIDE_X_FIX) ;; esac # value to eliminate y drift of the window case $WINDOW2UNHIDE_Y_FIX in "") WINDOW2UNHIDE_Y_FIX=54 ;; esac # calculate value for y position of the window... case $WINDOW2UNHIDE_Y_POS in $Y) # ...if the y position doesn't change subtract the value to eliminate y drift and add an offset case $WINDOW2UNHIDE_Y_OFF in "") WINDOW2UNHIDE_Y_OFF=25 ;; esac Y_POS=$(expr $WINDOW2UNHIDE_Y_POS - $WINDOW2UNHIDE_Y_FIX + $WINDOW2UNHIDE_Y_OFF) ;; *) # ...if the x position does change subtract the value to eliminate x drift Y_POS=$(expr $WINDOW2UNHIDE_Y_POS - $WINDOW2UNHIDE_Y_FIX) ;; esac # move the window to new position wmctrl -i -r $WINDOW -b remove,maximized_vert,maximized_horz wmctrl -i -r $WINDOW -e "0,$X_POS,$Y_POS,$WIDTH,$HEIGHT" } case $1 in "") # unhide active window eval $(xdotool getwindowgeometry --shell $(xdotool getactivewindow)) unhide_window ;; *) # launch an application and unhide its window case $WINDOW2UNHIDE_SLEEP in "") WINDOW2UNHIDE_SLEEP=1 ;; esac $@ & sleep $WINDOW2UNHIDE_SLEEP # ensure that the window of the launched application... eval $(xdotool getwindowgeometry --shell $(xdotool getactivewindow)) wmctrl -l | grep $(printf '%x\n' $WINDOW) | grep -qi $1 # ...is the active window case $? in 0) unhide_window ;; esac ;; esac exit
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20190805111423.012d4fa3>