Add option "--focused" to qmenu-vm - qmenu - manage qubes os via dmenu (drkhsh fork)
HTML git clone git://git.drkhsh.at/qmenu.git
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
DIR commit 5eef72f110b9814f989322ab5a321e9cb1c109b0
DIR parent ca4932a4efd316e46b2df1181b3953f5e59ee584
HTML Author: sine3o14nnae <3o14@pm.me>
Date: Wed, 20 Nov 2019 14:29:40 +0000
Add option "--focused" to qmenu-vm
Diffstat:
M qmenu-vm | 267 ++++++++++++++++---------------
1 file changed, 139 insertions(+), 128 deletions(-)
---
DIR diff --git a/qmenu-vm b/qmenu-vm
@@ -235,6 +235,131 @@ fdom0_preferences() (
done
)
+fmenu_fqvm() {
+
+ get_qube_label
+
+ chosefrom=0
+
+ while [ -n "$chosefrom" ]; do
+
+ chosefrom=$(printf "Applications\nAudio input\nBlock devices\nBoot\nBootfrom\nClone\nCommand\nDisk\nFirewall\nKeyboard\nKill\nLogs\nPause\nPCI device\nPreferences\nReboot\nRemove\nServices\nShutdown\nUnpause\nUSB devices" |\
+ dmenu -l 21 -i -p "$target_qube:" $dmenu_fmc |\
+ awk '{print $1}')
+
+ case $chosefrom in
+
+ Applications)
+
+ fqvm_applications;;
+
+ Audio)
+
+ fqvm_devices;;
+
+ Block)
+
+ fqvm_devices;;
+
+ Boot)
+
+ qvm-start --skip-if-running "$target_qube"&;;
+
+ Bootfrom)
+
+ qubes-vm-boot-from-device "$target_qube";;
+
+ Clone)
+
+ fqvm_clone;;
+
+ Command)
+
+ fqvm_run;;
+
+ Disk)
+
+ fqvm_disk;;
+
+ Firewall)
+
+ fqvm_firewall;;
+
+ Keyboard)
+
+ fqvm_keyboard;;
+
+ Kill)
+
+ answer=$(printf "No\nYes" | dmenu -i -p "Kill $target_qube?" $dmenu_fmc)
+
+ if [ "$answer" = "Yes" ]; then
+
+ qvm-kill "$target_qube"& fi;;
+
+ Logs)
+
+ fqvm_logs;;
+
+ Pause)
+
+ answer=$(printf "No\nYes" | dmenu -i -p "Pause $target_qube?" $dmenu_fmc)
+
+ if [ "$answer" = "Yes" ]; then
+
+ qvm-pause "$target_qube"& fi;;
+
+ PCI)
+
+ fqvm_pci;;
+
+ Preferences)
+
+ fqvm_preferences;;
+
+ Reboot)
+
+ answer=$(printf "No\nYes" |\
+ dmenu -i -p "Reboot $target_qube?" $dmenu_fmc)
+
+ if [ "$answer" = "Yes" ]; then
+
+ if qvm-check --running "$target_qube" > /dev/null 2>&1; then
+
+ $(qvm-shutdown --wait "$target_qube" && qvm-start "$target_qube")&
+ fi
+ fi;;
+
+ Remove)
+
+ fqvm_remove;;
+
+ Services)
+
+ fqvm_service;;
+
+ Shutdown)
+
+ answer=$(printf "No\nYes" |\
+ dmenu -i -p "Shutdown $target_qube?" $dmenu_fmc)
+
+ if [ "$answer" = "Yes" ]; then
+
+ qvm-shutdown "$target_qube"& fi;;
+
+ Unpause)
+
+ qvm-unpause "$target_qube"&;;
+
+ USB)
+
+ fqvm_devices;;
+
+ *)
+ esac
+done
+}
+
fqvm_applications() (
option=0
@@ -1244,11 +1369,23 @@ case $1 in
shift
if [ -n "$1" ]; then shift; fi;;
+ --focused)
+
+ target_qube=$(xprop -id $(xdotool getwindowfocus) |\
+ grep -w '^_QUBES_VMNAME(STRING)' |\
+ cut -d\" -f2)
+
+ if [ -z "target_qube" ]; then exit 2; fi
+
+ fmenu_fqvm
+
+ exit 1;;
+
--halted|--paused|--running|--tags=*);;
*)
- printf "qmenu-vm [OPTION] (--light-theme)\n\n --all\n --halted\n --paused\n --running\n --tags=[TAG]\n\n\nqmenu v1.3\n<https://github.com/sine3o14nnae/qmenu/>\n<https://gitlab.com/sine3o14nnae/qmenu/>\n\n"
+ printf "qmenu-vm [OPTION] (--light-theme)\n\n --all\n --focused\n --halted\n --paused\n --running\n --tags=[TAG]\n\n\nqmenu v1.3\n<https://github.com/sine3o14nnae/qmenu/>\n<https://gitlab.com/sine3o14nnae/qmenu/>\n\n"
if [ "$1" = "--help" ]; then exit 0; else exit 2; fi
esac
@@ -1282,133 +1419,7 @@ while true; do
fdom0_preferences
else
- get_qube_label
-
- chosefrom=0
-
- while [ -n "$chosefrom" ]; do
-
- chosefrom=$(printf "Applications\nAudio input\nBlock devices\nBoot\nBootfrom\nClone\nCommand\nDisk\nFirewall\nKeyboard\nKill\nLogs\nPause\nPCI\nPreferences\nReboot\nRemove\nServices\nShutdown\nUnpause\nUSB" |\
- dmenu -l 21 -i -p "$target_qube:" $dmenu_fmc |\
- awk '{print $1}')
-
- case $chosefrom in
-
- Applications)
-
- fqvm_applications;;
-
- Audio)
-
- fqvm_devices;;
-
- Block)
-
- fqvm_devices;;
-
- Boot)
-
- qvm-start --skip-if-running "$target_qube"&;;
-
- Bootfrom)
-
- qubes-vm-boot-from-device "$target_qube";;
-
- Clone)
-
- fqvm_clone;;
-
- Command)
-
- fqvm_run;;
-
- Disk)
-
- fqvm_disk;;
-
- Firewall)
-
- fqvm_firewall;;
-
- Keyboard)
-
- fqvm_keyboard;;
-
- Kill)
-
- answer=$(printf "No\nYes" |\
- dmenu -i -p "Kill $target_qube?" $dmenu_fmc)
-
- if [ "$answer" = "Yes" ]; then
-
- qvm-kill "$target_qube"& fi;;
-
-
- Logs)
-
- fqvm_logs;;
-
- Pause)
-
- answer=$(printf "No\nYes" |\
- dmenu -i -p "Pause $target_qube?" $dmenu_fmc)
-
- if [ "$answer" = "Yes" ]; then
-
- qvm-pause "$target_qube"& fi;;
-
-
- PCI)
-
- fqvm_pci;;
-
- Preferences)
-
- fqvm_preferences;;
-
- Reboot)
-
- answer=$(printf "No\nYes" |\
- dmenu -i -p "Reboot $target_qube?" $dmenu_fmc)
-
- if [ "$answer" = "Yes" ]; then
-
- if qvm-check --running "$target_qube" > /dev/null 2>&1; then
-
- $(qvm-shutdown --wait "$target_qube" && qvm-start "$target_qube")&
- fi
- fi;;
-
-
- Remove)
-
- fqvm_remove;;
-
- Services)
-
- fqvm_service;;
-
- Shutdown)
-
- answer=$(printf "No\nYes" |\
- dmenu -i -p "Shutdown $target_qube?" $dmenu_fmc)
-
- if [ "$answer" = "Yes" ]; then
-
- qvm-shutdown "$target_qube"& fi;;
-
-
- Unpause)
-
- qvm-unpause "$target_qube"&;;
-
- USB)
-
- fqvm_devices;;
-
- *)
- esac
- done
+ fmenu_fqvm
fi
fi
done