URI:
       Add option to adjust label colors - 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 8c056372a6ad4caf57b5837c109386095db96e17
   DIR parent 57919fffa89cd936a892ca1c1c024b03a5385afd
  HTML Author: sine3o14nnae <3o14@pm.me>
       Date:   Tue, 19 Nov 2019 07:52:24 +0000
       
       Add option to adjust label colors
       
       Diffstat:
         M qmenu-al                            |      21 ++++++++-------------
         M qmenu-dm                            |      84 +++++++++++++++++--------------
         M qmenu-vm                            |      17 ++++++-----------
       
       3 files changed, 59 insertions(+), 63 deletions(-)
       ---
   DIR diff --git a/qmenu-al b/qmenu-al
       @@ -31,8 +31,7 @@ case $1 in
        
            exit 1;;
        
       -
       -  --only)
       +  --focused)
        
            focused_window=$(xdotool getwindowfocus)
        
       @@ -43,17 +42,13 @@ case $1 in
        
              qube_label=$(qvm-ls --raw-data "$qube" -O LABEL)
        
       -      # Change some to a more readable color if needed.
       -      case $qube_label in
       -
       -        black) qube_label='#373737';;
       -
       -        orange) qube_label='#f57900';;
       +      # Change label colors according to 
       +      # ~/.config/qmenu.conf if that file exists.
       +      if [ -f "$HOME/.config/qmenu.conf" ]; then
        
       -        yellow) qube_label='#edd400';;
       -
       -        green) qube_label='#73d216'
       -      esac
       +        qube_label=$(grep -A1 "^$qube_label" "$HOME"/.config/qmenu.conf |\
       +          grep -v "$qube_label")
       +      fi
        
              app_list=$(cat "$HOME"/.local/share/qubes-appmenus/"$qube"/apps/*.desktop |\
                grep '^Name=.*\|^Exec=.*' |\
       @@ -78,7 +73,7 @@ case $1 in
        
          *)
        
       -    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"
       +    printf "qmenu-al [OPTION] (--light-theme)\n\n --all\n --focused\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
   DIR diff --git a/qmenu-dm b/qmenu-dm
       @@ -4,17 +4,12 @@ get_qube_label() {
        
         qube_label=$(echo "$qube_list" | grep -w "$target_qube" | awk '{print $2}')
        
       - # Change some to a more readable color if needed.
       - case $qube_label in
       +# Change label colors according to ~/.config/qmenu.conf if that file exists.
       +if [ -f "$HOME/.config/qmenu.conf" ]; then
        
       -   black) qube_label='#373737';;
       -
       -   orange) qube_label='#f57900';;
       -
       -   yellow) qube_label='#edd400';;
       -
       -   green) qube_label='#73d216'
       - esac
       +  qube_label=$(grep -A1 "^$qube_label" "$HOME"/.config/qmenu.conf |\
       +    grep -v "$qube_label")
       +fi
        }
        
        rearrange_qube_list() {
       @@ -68,7 +63,7 @@ case $1 in
        
          *)
        
       -    printf "qmenu-dm [OPTION] (--light-theme)\n\n --all\n --audio-input\n --block\n --usb\n\n\nqmenu v1.2\n<https://github.com/sine3o14nnae/qmenu/>\n<https://gitlab.com/sine3o14nnae/qmenu/>\n\n"
       +    printf "qmenu-dm [OPTION] (--light-theme)\n\n --all\n --audio-input\n --block\n --usb\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; fi
        esac
       @@ -110,53 +105,64 @@ rearrange_qube_list
        
        devices_list=$(qvm-$device_type)
        
       -device=$(echo "$devices_list" | dmenu -l 16 $dmenu_fmc)
       +device=0
        
       -device_id=$(echo "$device" | awk '{print $1}')
       +while [ -n "$device" ]; do
        
       -device_name=$(echo "$device" |\
       -  awk '{print $'$awk_devicename0'$'$awk_devicename1'}')
       +  device=$(echo "$devices_list" | dmenu -l 16 $dmenu_fmc)
        
       -if [ -n "$device" ]; then
       +  device_id=$(echo "$device" | awk '{print $1}')
        
       -  target_qube=$(echo "$devices_list" | grep "$device_id" |\
       -     awk '{print $'$awk_targetqube'}')
       +  device_name=$(echo "$device" |\
       +    awk '{print $'$awk_devicename0'$'$awk_devicename1'}')
        
       -  if [ -z "$target_qube" ]; then
       +  if [ -n "$device" ]; then
        
       -    target_qube=$(echo "$qube_list" |\
       -      sed '1d' | dmenu -p "attach to:" -l 32 $dmenu_fmc | awk '{print $1}')
       +    target_qube=$(echo "$devices_list" | grep "$device_id" |\
       +       awk '{print $'$awk_targetqube'}')
        
       -    if [ -n "$target_qube" ]; then
       +    if [ -z "$target_qube" ]; then
        
       -      get_qube_label
       +      target_qube=$(echo "$qube_list" |\
       +        sed '1d' | dmenu -p "attach to:" -l 32 $dmenu_fmc | awk '{print $1}')
        
       -      prompt=$(printf "No\nYes" |\
       -        dmenu -i -p "Attach $device_name to $target_qube?"\
       -        -f -m 0 -nb $theme_0 -nf $theme_1 -sb $qube_label -sf $theme_1)
       +      if [ -n "$target_qube" ]; then
        
       -      if [ "$prompt" = "Yes" ]; then
       +        get_qube_label
       +
       +        prompt=$(printf "No\nYes" |\
       +          dmenu -i -p "Attach $device_name to $target_qube?"\
       +          -f -m 0 -nb $theme_0 -nf $theme_1 -sb $qube_label -sf $theme_1)
       +
       +        if [ "$prompt" = "Yes" ]; then
        
       -        if ! qvm-$device_type attach "$target_qube" "$device_id"; then exit 2; fi
       +          if qvm-$device_type attach "$target_qube" "$device_id"; then exit 0; fi
        
       -        exit 0
       +          echo "Quit..." |\
       +            dmenu -p "Failed to attach device!" $dmenu_fmc > /dev/null 2>&1
       +
       +          exit 2
       +        fi
              fi
       -    fi
       -  else
       +    else
        
       -    get_qube_label
       +      get_qube_label
        
       -    prompt=$(printf "No\nYes" |\
       -      dmenu -i -p "Detach $device_name from $target_qube?"\
       -      -f -m 0 -nb $theme_0 -nf $theme_1 -sb $qube_label -sf $theme_1)
       +      prompt=$(printf "No\nYes" |\
       +        dmenu -i -p "Detach $device_name from $target_qube?"\
       +        -f -m 0 -nb $theme_0 -nf $theme_1 -sb $qube_label -sf $theme_1)
        
       -    if [ "$prompt" = "Yes" ]; then
       +      if [ "$prompt" = "Yes" ]; then
       +
       +        if qvm-$device_type detach "$target_qube" "$device_id"; then exit 0; fi
        
       -      if ! qvm-$device_type detach "$target_qube" "$device_id"; then exit 2; fi
       +        echo "Quit..." |\
       +          dmenu -p "Failed to detach device!" $dmenu_fmc > /dev/null 2>&1
        
       -      exit 0
       +        exit 2
       +      fi
            fi
          fi
       -fi
       +done
        
        exit 1
   DIR diff --git a/qmenu-vm b/qmenu-vm
       @@ -1197,17 +1197,12 @@ get_qube_label() {
        
         qube_label=$(qvm-ls --raw-data "$target_qube" -O LABEL)
        
       - # Change some to a more readable color if needed.
       - case $qube_label in
       + # Change label colors according to ~/.config/qmenu.conf if that file exists.
       + if [ -f "$HOME/.config/qmenu.conf" ]; then
        
       -   black) qube_label='#373737';;
       -
       -   orange) qube_label='#f57900';;
       -
       -   yellow) qube_label='#edd400';;
       -
       -   green) qube_label='#73d216'
       - esac
       +   qube_label=$(grep -A1 "^$qube_label" "$HOME"/.config/qmenu.conf |\
       +     grep -v "$qube_label")
       + fi
        
         # Note that the '-m 0' option in 'dmenu' is important
         # for security, as it restricts it to monitor 0.
       @@ -1253,7 +1248,7 @@ case $1 in
        
          *)
        
       -    printf "qmenu-vm [OPTION] (--light-theme)\n\n --all\n --halted\n --paused\n --running\n --tags=[TAG]\n\n\nqmenu v1.2\n<https://github.com/sine3o14nnae/qmenu/>\n<https://gitlab.com/sine3o14nnae/qmenu/>\n\n"
       +    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"
        
            if [ "$1" = "--help" ]; then exit 0; else exit 2; fi
        esac