aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2024-08-04 10:58:00 -0300
committerSilvio Rhatto <rhatto@riseup.net>2024-08-04 10:58:00 -0300
commit7b78dbd23631ffdaf390ffece590baf37f837ad0 (patch)
treede8c8515f90a26034b622836160c6cdcca09cda1
parente599ade1dfb590fc21bfd53a64dcff718ae7b110 (diff)
downloadkvmx-7b78dbd23631ffdaf390ffece590baf37f837ad0.tar.gz
kvmx-7b78dbd23631ffdaf390ffece590baf37f837ad0.tar.bz2
Feat: spice: notification on Awesome VM when a Spice session is taking too long to open
-rw-r--r--ChangeLog.md2
-rwxr-xr-xkvmx23
2 files changed, 14 insertions, 11 deletions
diff --git a/ChangeLog.md b/ChangeLog.md
index 668816c..68b066e 100644
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -10,7 +10,7 @@
* Inotify action for watching a folder in the host and issuing commands in the
guest upon change.
- * Notification on Awesome VM when a Spice session is triggered.
+ * Notification on Awesome VM when a Spice session taking too long to open.
## 0.2.0 - 2024-07-02
diff --git a/kvmx b/kvmx
index 3a7e59d..ab599f5 100755
--- a/kvmx
+++ b/kvmx
@@ -265,11 +265,6 @@ function kvmx_spice {
exit 1
fi
- # UX
- if which awesome-client &> /dev/null; then
- echo "naughty.notify({title = \"KVMX:\", text =\"Starting GUI session for $VM\", timeout = 2})" | awesome-client
- fi
-
local spicestring
if [ "$spice_client" == "spicy" ] && which spicy &> /dev/null; then
@@ -307,14 +302,11 @@ function kvmx_spice {
local spicewait="0"
local windowid
local windowpid
+ local notify="0"
# Wait for the spice window to show up. This might take a while and we'll
# wait only a few times
- while (( $spicewait <= 5 )); do
- # Wait a bit
- sleep 2
- let spicewait++
-
+ while (( $spicewait <= 10 )); do
windowid="`xdotool search --name "$spicestring" 2> /dev/null`"
if [ ! -z "$windowid" ]; then
@@ -328,6 +320,17 @@ function kvmx_spice {
windowpid=""
fi
fi
+
+ # It's waiting too long, notify the user
+ if which awesome-client &> /dev/null && [ "$notify" == "0" ]; then
+ notify="1"
+
+ echo "naughty.notify({title = \"KVMX:\", text =\"Starting GUI session for $VM\", timeout = 2})" | awesome-client
+ fi
+
+ # Wait a bit and try again
+ sleep 1
+ let spicewait++
done
# Set window position