aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2022-12-29 00:03:19 -0300
committerSilvio Rhatto <rhatto@riseup.net>2022-12-29 00:03:19 -0300
commitad56fb9e35d6192270ba6cbb9ac17228bd9466e3 (patch)
treeb0c991f1df8e5392dc8f790a9c325883b4b76b5d
parent850c18621f5ca28ec62815db61abc8afd86a9d2f (diff)
downloadkvmx-ad56fb9e35d6192270ba6cbb9ac17228bd9466e3.tar.gz
kvmx-ad56fb9e35d6192270ba6cbb9ac17228bd9466e3.tar.bz2
Fix: xrandr: switch to a pure xdotool approach
-rwxr-xr-xkvmx12
1 files changed, 10 insertions, 2 deletions
diff --git a/kvmx b/kvmx
index 455f5b6..fb0faec 100755
--- a/kvmx
+++ b/kvmx
@@ -2253,8 +2253,16 @@ function kvmx_xrandr {
# Set screen resolution depending on which screen the spice session is currently located
local id="`xdotool search --name $VM`"
- local screen="`xdotool getwindowgeometry $id | grep screen: | cut -d '(' -f 2 | cut -d : -f 2 | cut -d ')' -f 1 | sed -e 's/ //'`"
- local mode="`xrandr | grep "Screen ${screen}:" | cut -d , -f 2 | sed -e 's/ current //' -e 's/ //g' | tr 'x' ' '`"
+
+ # XrandR approach, matches the full screen size, not ideal when using
+ # multiple monitors/outputs or if the window size is smaller than the
+ # current screen size
+ #local screen="`xdotool getwindowgeometry $id | grep screen: | cut -d '(' -f 2 | cut -d : -f 2 | cut -d ')' -f 1 | sed -e 's/ //'`"
+ #local mode="`xrandr | grep "Screen ${screen}:" | cut -d , -f 2 | sed -e 's/ current //' -e 's/ //g' | tr 'x' ' '`"
+
+ # Pure xdotool approach, matches the current window size
+ # Better support for multiple monitors/outputs and for windows of arbitrary sizes
+ local mode="`xdotool getwindowgeometry $id | grep -i geometry: | cut -d : -f 2 | tr 'x' ' '`"
if [ ! -z "$resolution_y_offset" ]; then
local x="`echo $mode | awk '{ print $1 }'`"