]> gitweb.fluxo.info Git - kvmx.git/commitdiff
Fix: kvmx-spice-copy: check if source/destination is a splice-client window
authorSilvio Rhatto <rhatto@riseup.net>
Sun, 29 May 2022 14:15:45 +0000 (11:15 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Sun, 29 May 2022 14:15:45 +0000 (11:15 -0300)
kvmx-spice-copy

index 524553dfa813cfea3bc60ab52d4aa79065580046..3d87e4f2c367b793ece57f5e1d7fc5e26284f9a2 100755 (executable)
 SPOOL="$TMP/.kvmx-spice-copy"
 BASENAME="`basename $0`"
 WINDOWID="`xdotool getwindowfocus`"
-DEST="`xprop -id $WINDOWID | grep "^WM_NAME" | cut -d '=' -f 2 | cut -d '"' -f 2`"
+DEST="`xprop -id $WINDOWID  | grep "^WM_NAME" | cut -d '=' -f 2 | cut -d '"' -f 2`"
+CLASS="`xprop -id $WINDOWID | grep "^WM_CLASS"`"
 
 # Logic
 if [ "$BASENAME" == "kvmx-spice-copy" ]; then
+  # Check if DEST is a spice-client or other window
+  if ! echo $CLASS | grep -q 'spicy'; then
+    DEST="host"
+  fi
+
   mkdir -p "$TMP"
-  echo "$DEST" > $SPOOL 
+  echo "$DEST" > $SPOOL
 
   # UX
   if which awesome-client &> /dev/null; then
@@ -43,6 +49,11 @@ else
     ORIG="host"
   fi
 
+  # Check if DEST is a spice-client or other window
+  if ! echo $CLASS | grep -q 'spicy'; then
+    DEST="host"
+  fi
+
   if [ "$ORIG" != "host" ] && ! kvmx running $ORIG &> /dev/null; then
     ORIG="host"
   fi
@@ -55,9 +66,9 @@ else
     exit
   fi
 
-  if [ "$ORIG" == "host" ] && [ "$DEST" == "host" ]; then
-    exit
-  fi
+  #if [ "$ORIG" == "host" ] && [ "$DEST" == "host" ]; then
+  #  exit
+  #fi
 
   # Optional logging to ~/.xsession-erros
   #echo "[kvmx-paste] [`date '+%Y%m%d %H:%M:%S'`] from $ORIG to $DEST"