|
- #!/bin/sh
-
- launch() {
- app=$(printf "Notes
- Files
- Editor
- Terminal
- Multiplexer
- LBRY
- Chat
- Music
- Browser
- Email
- Processes" | tr -d '\t' |
- dmenu -i -p "Launcher")
-
- case $app in
- Notes) st -e vim "+cd ~/Notes/text" "+CtrlP";;
- Files) st -e nnn;;
- Editor) st -e vim;;
- Terminal) st;;
- Multiplexer) st -e tmux $*;;
- LBRY) lbry;;
- Chat) element-desktop;;
- Music) st -e ncmpcpp;;
- Browser) brave-browser;;
- Email) brave-browser mail.protonmail.com/login;;
- Processes) st -e htop;;
- esac
- }
-
- action() {
- action=$(printf "Play Music
- Pause Music
- Toggle Music
- Command
- Command to clipboard
- Search github
- Search ddg
- Select VPN
- Disable VPN
- Enable VPN
- VPN Status
- Rebind Keys
- Disable Bar
- Enable Bar" | tr -d '\t' |
- dmenu -i -p "Actions")
-
- case $action in
- 'Play Music') mpc play ;;
- 'Pause Music') mpc pause ;;
- 'Toggle Music') mpc toggle ;;
- 'Rebind Keys') setup-xbindkeys;;
- 'Disable Bar') tmux set -g status off;;
- 'Enable Bar') tmux set -g status on;;
- 'Search github') github;;
- 'Search ddg') ddg;;
- 'Command') cmd;;
- 'Command to clipboard') cmd_clip;;
- esac
- }
-
- screenshot() {
- method=$(printf "clipboard
- file
- both" |
- dmenu -i -p "Screenshot")
-
- if [ $method = "file" ]; then
- scrot --note "-f 'LiterationSans Nerd Font Book/11' -x 10 -y 20 -c 255,0,0,255 -t 'Hi'"\
- -s ~/Pictures/screenshots/screenshot-%Y-%m-%d_$wx$h.png
- fi
-
- if [ $method = "clipboard" ]; then
- scrot --note "-f 'LiterationSans Nerd Font Book/11' -x 10 -y 20 -c 255,0,0,255 -t 'Hi'"\
- -s ~/Pictures/screenshots/screenshot-%Y-%m-%d_$wx$h.png\
- -e "xclip $f; rm $f"
- fi
-
- if [ $method = "both" ]; then
- scrot --note "-f 'LiterationSans Nerd Font Book/11' -x 10 -y 20 -c 255,0,0,255 -t 'Hi'"\
- -s ~/Pictures/screenshots/screenshot-%Y-%m-%d_$wx$h.png\
- -e "xclip $f;"
- fi
- }
-
- search_type() {
- search_string="$(printf "New window\nBookmarks\nHistory" | dmenu -p "ddg")"
- search_mode='tab'
-
- case "$search_string" in
- 'New window') search_mode='window'; search_string=$(printf '' | dmenu -p 'new ddg');;
- 'Bookmarks');;
- 'History') ;;
- # *) printf "Invalid argument";;
- esac
- printf "$search_string|$search_mode"
- }
-
- brave_search() {
- search_prefix="$1"
- search_info="$(search_type)"
- search_string=$(printf "$search_info" | cut -d'|' -f1)
- search_mode=$(printf "$search_info" | cut -d'|' -f2)
- if [ -z "$search_string" ]; then exit; fi
- new_string=$(rawurlencode "$search_string")
- search="$search_prefix$new_string"
- case "$search_mode" in
- tab) brave-browser "$search";;
- window) brave-browser --new-window "$search";;
- esac
- }
-
- rawurlencode() {
- #Takes the first argument and encodes it
- search_string="$1"
- string_length=$(expr length "$search_string")
- char=''; new_string='';
-
- i=1
- while [ $i -le $string_length ]
- do
- char=$(expr substr "$search_string" $i 1)
- # new_string="$new_string$(rawurlencode "$char")"
- case "$char" in
- [-_.~a-zA-Z0-9] ) new_string="$new_string$char";;
- * ) new_string="$new_string%$(printf '%%%02x' "'$char")";;
- esac
- i=$(expr $i + 1)
- done
- printf "$new_string"
- }
-
- ddg() {
- brave_search "https://duckduckgo.com/?q="
- }
-
- github() {
- brave_search "https://github.com/search?q="
- }
-
- cmd() {
- sh -c "$(printf '' | dmenu -i -p 'cmd')"
- }
-
- cmd_clip() {
- value=$(cmd)
- show_value="$(expr substr "$value" 1 200)\n..."
- notify-send -u low -t 2000 "Items cliped" "$show_value"
- printf "%s" "$value" | xclip -selection clipboard
- }
-
- case $1 in
- launch) launch;;
- action) action;;
- cmd) action;;
- cmd_clip) cmd_clip;;
- ddg) brave_search "https://duckduckgo.com/?q=";;
- github) brave_search "https://github.com/search?q=";;
- *) printf "Invalid argument";;
- esac
|