start.sh 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #!/bin/bash
  2. start(){ xterm -title "${1^}" -e bash -ic "$@" & }
  3. menu(){ dmenu.sh -p "$@"; }
  4. browser(){ brave-browser "$@" || iridium-browser "$@" || firefox "$@"; }
  5. search(){ luakit -n "https://${*// /+}"; }
  6. if [[ ! $DISPLAY || $TMUX ]]; then
  7. start(){ "$@"; }
  8. menu(){ fzf; }
  9. browser(){ start elinks "${@:2}"; }
  10. search(){ browser 0 "https://${*// /+}"; }
  11. gvim(){ start vim; }
  12. pavucontrol(){ start ncpamixer; }
  13. [[ $TMUX ]] && start(){ tmux neww -n $1 "$@"; }
  14. fi
  15. case ${1,,} in
  16. files) start ranger;;
  17. browser) browser --new-window lexa.by;;
  18. editor) gvim;;
  19. shell) start tm;;
  20. music) start mocp;;
  21. calendar) start calcurse;;
  22. contacts) start abook;;
  23. mail) start mutt;;
  24. news) start newsboat;;
  25. torrents) start transmission-remote-cli;;
  26. apps) xfce4-appfinder;;
  27. mixer) pavucontrol;;
  28. network) start nmtui;;
  29. bloge) EDITOR='gvim -f' start "blo.sh $2";;
  30. start) $0 $($0 | sed 's/.*/\u\0/' | menu Start);;
  31. audio) audio.sh $(audio.sh | menu Device | cut -f 2);;
  32. windows) wmctrl -ia "$(wmctrl -l | menu Windows -l 20)";;
  33. \!*) $0 ddg "$*";;
  34. ddg) search "duckduckgo.com/?q=${*:2}";;
  35. man) search "manned.org/browse/search?q=${*:2}";;
  36. wiki) search "ru.m.wikipedia.org/wiki?search=${*:2}";;
  37. '') grep -o '^\s*\w*)' $0 | sed 's/[) ]//g';;
  38. *) start "$1";;
  39. esac