From ad20a5351e64efbcf2714a0f5dc2d0b6da6502d9 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Fri, 21 Jul 2023 17:32:56 +0200 Subject: [vbox-src] Add xscreensaver ungrab hook for VirtualBox --- .../data/opt/openslx/xscreensaver/ungrab.d/vbox | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100755 core/modules/vbox-src/data/opt/openslx/xscreensaver/ungrab.d/vbox (limited to 'core/modules/vbox-src') diff --git a/core/modules/vbox-src/data/opt/openslx/xscreensaver/ungrab.d/vbox b/core/modules/vbox-src/data/opt/openslx/xscreensaver/ungrab.d/vbox new file mode 100755 index 00000000..2d9f3320 --- /dev/null +++ b/core/modules/vbox-src/data/opt/openslx/xscreensaver/ungrab.d/vbox @@ -0,0 +1,30 @@ +#!/bin/ash + +wfile="/run/user/$(id -u)/vmwins" + +if [ "$1" = "pre" ]; then + # Find all VirtualBox windows currently visible + WINDOWS="$( xdotool search --onlyvisible --class VirtualBoxVM )" + [ -z "$WINDOWS" ] && exit 0 + for window in $WINDOWS; do + # minimize doesn't work for virtualbox... + xdotool windowunmap --sync $window + echo "$window" >> "$wfile" # Remember for later + done + # move mouse pointer around to avoid some problems with ghost clicks + xdotool mousemove --sync 0 0 + usleep 10000 + xdotool mousemove --polar 0 0 + usleep 10000 +fi + +if [ "$1" = "post" ]; then + # let's restore the windows + WINDOWS="$( sort -u "$wfile" )" + for window in $WINDOWS; do + xdotool windowmap $window + done + rm -f -- "$wfile" +fi + +exit 0 -- cgit v1.2.3-55-g7522