Adjust fqvm_clone - 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 7a7dc10afc9835444e5f7418285f60e03bb0e521
DIR parent 593c463e26b24caeec1c85efdcbe4c8b5e9a5bcf
HTML Author: sine3o14nnae <3o14@pm.me>
Date: Tue, 26 Nov 2019 15:01:57 +0000
Adjust fqvm_clone
Diffstat:
M qmenu-vm | 32 ++++++++++++++++++++++++-------
1 file changed, 25 insertions(+), 7 deletions(-)
---
DIR diff --git a/qmenu-vm b/qmenu-vm
@@ -440,22 +440,40 @@ fqvm_clone() (
while [ -n "$option" ]; do
- option=$(printf "Create the clone\nPool" |\
+ option=$(printf "Create the clone \"$clone_name\"\nAdvanced options" |\
dmenu -i -l 2 -p "$target_qube:" $dmenu_fmc | awk '{print $1}')
- if [ "$option" = "Pool" ]; then
+ if [ "$option" = "Advanced" ]; then
- pool=$(qvm-pool --list | sed '1d' |\
- dmenu -i -l 10 -p "Select the pool for the new clone of $target_qube"\
- $dmenu_fmc | awk '{print $1}')
+ option_adv=0
- if [ -n "$pool" ]; then pool="-P $pool"; fi
+ while [ -n "$option_adv" ]; do
+
+ option_adv=$(printf "Class\nPool" |\
+ dmenu -i -l 2 -p "$clone_name($target_qube):" $dmenu_fmc)
+
+ if [ "$option_adv" = "Class" ]; then
+
+ class=$(printf "AppVM\nDispVM\nStandaloneVM\nTemplateVM" |\
+ dmenu -i -l 4 -p "Choose a class for $clone_name" $dmenu_fmc)
+
+ if [ -n "$pool" ]; then class="-C $class"; fi
+
+ elif [ "$option_adv" = "Pool" ]; then
+
+ pool=$(qvm-pool --list | sed '1d' |\
+ dmenu -i -l 10 -p "Select a pool for $clone_name"\
+ $dmenu_fmc | awk '{print $1}')
+
+ if [ -n "$pool" ]; then pool="-P $pool"; fi
+ fi
+ done
elif [ "$option" = "Create" ]; then
unset option
- qvm-clone $pool "$target_qube" "$clone_name"&
+ qvm-clone $class $pool "$target_qube" "$clone_name"&
fi
done
fi