This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch heuler/mate-minidesktop-bookworm in repository live-build-x2go.
commit 132c5961aacb023cccffc3bd304207d327e9942a Author: Stefan Baur (BAUR-ITCS) <kont...@baur-itcs.de> Date: Fri Jan 26 19:09:16 2024 +0100 fixed logic, added comments, added default size and /proc/cmdline parameter --- .../940_x2gothinclient-align-right | 79 +++++++++++++--------- 1 file changed, 46 insertions(+), 33 deletions(-) diff --git a/config/includes.chroot/etc/x2go/x2gothinclient_init.d/940_x2gothinclient-align-right b/config/includes.chroot/etc/x2go/x2gothinclient_init.d/940_x2gothinclient-align-right index 9b240c8..7e4b460 100755 --- a/config/includes.chroot/etc/x2go/x2gothinclient_init.d/940_x2gothinclient-align-right +++ b/config/includes.chroot/etc/x2go/x2gothinclient_init.d/940_x2gothinclient-align-right @@ -1,36 +1,49 @@ #!/bin/bash -# move X2GoClient window to right screen border and resize - but only -# when in minidesktop mode +# move X2GoClient window to right screen border and resize - but only when in minidesktop mode + +WINDOWWIDTH=$(cat /proc/cmdline | tr ' ' '\n' | awk -F'=' '"windowwidth"==$1 {print $2}' | tr -dc '0-9') + +# default to 50(%) if unset +if [ -z "$WINDOWWIDTH" ]; then + WINDOWWIDTH=50" +fi + if [ -z "$X2GO_HANDLE_DAEMON" ] ; then - # we need to background this so it doesn't block the startup - ( - # we have at least two matching window ids: - # actual client window and taskbar icon - # so let's wait until we have them both - X2GOCLIENTWINDOWIDS="" - while [ $(echo -e "$X2GOCLIENTWINDOWIDS" | wc -l) -lt 2 ] ; do - X2GOCLIENTWINDOWIDS=$(xdotool search --onlyvisible --name X2GoClient) - done - - # now wait until there is only one window id left that's visible and - # which matches our expected window name - while [ $(echo -e "$X2GOCLIENTWINDOWIDS" | wc -l) -gt 1 ] ; do - X2GOCLIENTWINDOWIDS=$(xdotool search --onlyvisible --name X2GoClient) - done - - # while there SHOULD be only one ID left by now ... - # let's handle this in a safe manner - as a list - for WINDOW in $X2GOCLIENTWINDOWIDS; do - # the id belonging to the taskbar icon cannot be activated - # xdotool does not return a non-zero error code when windowactivate - # fails, so we need to check for the presence of an error message - if xdotool windowactivate $WINDOW 2>/dev/null; then - # if we succeeded in activating the window, - # it's the actual client window - sleep 0.5s - xdotool windowsize $WINDOW 30% 100% # resize it - xdotool windowmove $WINDOW 70% 0 # move it to the right - fi - done - ) & + # we need to background this so it doesn't block the startup + ( + # wait for window ids to show up + X2GOCLIENTWINDOWIDS="" + while [ -z "$X2GOCLIENTWINDOWIDS" ] ; do + # if this var is of nonzero length, we have at least one matching window id: + # the actual client window and possibly the taskbar icon + X2GOCLIENTWINDOWIDS=$(xdotool search --onlyvisible --name X2GoClient) + # make sure we terminate if X11 terminates + ps -C Xorg || exit 0 + done + + while [ $(echo -n "$X2GOCLIENTWINDOWIDS" | wc -l) -gt 2 ] ; do + # now wait until there is only one window id left that's visible and + # which matches our expected window name + X2GOCLIENTWINDOWIDS=$(xdotool search --onlyvisible --name X2GoClient) + # make sure we terminate if X11 terminates + ps -C Xorg || exit 0 + done + + # while there SHOULD be only one ID left by now ... + # let's handle this in a safe manner - as a list + for WINDOW in $X2GOCLIENTWINDOWIDS; do + # the id belonging to the taskbar icon cannot be activated + # xdotool does not return a non-zero error code when windowactivate + # fails, so we need to check for the presence of an error message + if xdotool windowactivate $WINDOW 2>/dev/null; then + # if we succeeded in activating the window, + # it's the actual client window + sleep 0.5s + xdotool windowsize $WINDOW ${WINDOWWIDTH}% 100% # resize it + xdotool windowmove $WINDOW $((100-WINDOWWIDTH))% 0 # move it to the right + fi + # make sure we terminate if X11 terminates + ps -C Xorg || exit 0 + done + ) & fi -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/live-build-x2go.git _______________________________________________ x2go-commits mailing list x2go-commits@lists.x2go.org https://lists.x2go.org/listinfo/x2go-commits