aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog.md5
-rw-r--r--IDEAS.md6
-rwxr-xr-xkvmx26
3 files changed, 34 insertions, 3 deletions
diff --git a/ChangeLog.md b/ChangeLog.md
index f8f520c..7a0c8a4 100644
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,10 @@
# ChangeLog
+## 0.3.0 - unreleased
+
+* Inotify action for watching a folder in the host and issuing commands in the
+ guest upon change.
+
## 0.2.0 - 2024-07-02
* Increase default `msize` for 9p mounts to 32MiB depending on kernel support,
diff --git a/IDEAS.md b/IDEAS.md
index d942729..b498535 100644
--- a/IDEAS.md
+++ b/IDEAS.md
@@ -2,13 +2,13 @@
## Usability
+* Submit patch for spice-client-gtk for menuless windows (spice usecase) to
+ Debian.
+
* Docs (tutorial and manpage).
* Makefile and debian package.
-* Submit patch for spice-client-gtk for menuless windows (spicec usecase) to
- Debian.
-
* Systemd service for a single VM.
* Shell completions.
diff --git a/kvmx b/kvmx
index 5ab776f..e912f84 100755
--- a/kvmx
+++ b/kvmx
@@ -2562,6 +2562,32 @@ function kvmx_growpart {
kvmx_restart
}
+# Inotify dispatcher
+function kvmx_inotify {
+ local watched="$1"
+
+ shift
+ local command="$*"
+
+ # Syntax check
+ if [ -z "$command" ]; then
+ echo "usage $BASENAME inotify $GUEST <watched> <command>"
+ echo "example: kvmx inotify $guest hostfolder make -C guestfolder compile"
+ exit 1
+ fi
+
+ # Check if watched exists
+ if [ ! -e "$watched" ]; then
+ echo "Not found: $watched"
+ exit 1
+ fi
+
+ # Dispatch
+ while inotifywait -r $watched; do
+ echo "$command" | kvmx_ssh
+ done
+}
+
# Dispatch
if type kvmx_$ACTION 2> /dev/null | grep -q "kvmx_$ACTION ()"; then
__kvmx_initialize $*