Add qmenu-al - 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 f70e946f13b50937cded627a677f1523810ac780
DIR parent b9e5eae294be8239eb300f9c4599a8a71ef7256c
HTML Author: sine3o14nnae <3o14@pm.me>
Date: Sat, 21 Sep 2019 17:52:13 +0200
Add qmenu-al
Diffstat:
A qmenu-al | 99 +++++++++++++++++++++++++++++++
1 file changed, 99 insertions(+), 0 deletions(-)
---
DIR diff --git a/qmenu-al b/qmenu-al
@@ -0,0 +1,99 @@
+#!/bin/sh
+
+if [ "$2" = "--light-theme" ]; then
+
+ theme_0='#ffffff'
+ theme_1='#000000'
+else
+
+ theme_0='#000000'
+ theme_1='#ffffff'
+fi
+
+case $1 in
+
+ --all)
+
+ app_list=$(cat "$HOME"/.local/share/applications/*.desktop |\
+ grep '^Name=.*\|^Exec=.*' | grep -vw 'Qube Settings\|qubes-vm-settings')
+
+
+ chosen=$(echo "$app_list" | grep '^Name=.*' | cut -f2 -d= |\
+ dmenu -f -m 0 -nb $theme_0 -nf $theme_1 -sb $theme_1 -sf $theme_0)
+
+ if [ -n "$chosen" ]; then
+
+ execute_chosen=$(echo "$app_list" | grep -A1 "$chosen" |\
+ grep '^Exec=.*' | cut -f2 -d=)
+
+ if ! $execute_chosen; then exit 2; fi
+
+ exit 0
+ fi
+
+ exit 1;;
+
+
+ --only)
+
+ focused_window=$(xdotool getwindowfocus)
+
+ if [ -n "$focused_window" ]; then
+
+ qube=$(xprop -id "$focused_window" | grep -w "_QUBES_VMNAME(STRING)" |\
+ cut -f2 -d\")
+
+ if [ -n "$qube" ]; then
+
+ qube_label=$(qvm-ls --raw-data "$qube" -O LABEL)
+
+ # Change black, yellow and green to a more readable color if needed.
+ if [ "$qube_label" = "black" ]; then
+
+ qube_label='#373737'
+
+ # Change only if dark theme is selected.
+ elif [ "$theme_1" = "#ffffff" ]; then
+
+ if [ "$qube_label" = "yellow" ]; then
+
+ qube_label='#cdcd00'
+
+ elif [ "$qube_label" = "green" ]; then
+
+ qube_label='#00b300'
+ fi
+ fi
+
+ app_list=$(cat "$HOME"/.local/share/qubes-appmenus/"$qube"/apps/*.desktop |\
+ grep '^Name=.*\|^Exec=.*' |\
+ grep -vw 'Qube Settings\|qubes-vm-settings')
+
+ chosen=$(echo "$app_list" | grep '^Name=.*' | cut -f2 -d: |\
+ dmenu -p "$qube:" -f -m 0 -nb $theme_0 -nf $theme_1 -sb "$qube_label" -sf $theme_1)
+
+ if [ -n "$chosen" ]; then
+
+ execute_chosen=$(echo "$app_list" | grep -A1 "$chosen" |\
+ grep '^Exec=.*' | cut -f2 -d=)
+
+ if ! $execute_chosen; then exit 2; fi
+
+ exit 0
+ fi
+
+ exit 1
+ fi
+
+ exit 2
+ fi
+
+ exit 1;;
+
+
+ *)
+
+ printf "qmenu-al [OPTION] (--light-theme)\n\n --all\n --only\n\n\nqmenu v1.2\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