xmenu 782 B

12345678910111213141516171819202122232425262728
  1. #!/bin/sh
  2. config_error() {
  3. echo "Error: No valid configuration found, exiting"
  4. notify-send "xmenu" "Error: No valid configuration found, exiting"
  5. exit 1
  6. }
  7. # check dependencies
  8. for prog in feh xrandr notify-send; do
  9. if ! command -v "$prog" > /dev/null 2>&1; then
  10. echo "$prog is not detected" 1>&2
  11. notify-send "$prog is not detected"; exit 1
  12. fi
  13. done
  14. # set dirs
  15. config_dir="${XDG_CONFIG_HOME:-$HOME/.config}/xmenu"
  16. escaped_config_dir="$(echo $config_dir | sed 's/\//\\\//g')"
  17. bg_script="${XDG_CACHE_HOME:-$HOME/.cache}/.fehbg"
  18. mkdir -p "$config_dir"
  19. [ -f "$bg_script" ] && bgCmd="$bg_script"
  20. # update monitors
  21. find "$config_dir" -type f | sed 's/^.*\///' | dmenu -i -l 30 | \
  22. sed "s/^/\/home\/noah5\/.config\/xmenu\//" | xargs sh
  23. "$bg_cmd"