URI:
       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