Add dmenu scripts
This commit is contained in:
23
dotfiles/.local/bin/dmenu-kill-process
Executable file
23
dotfiles/.local/bin/dmenu-kill-process
Executable file
@@ -0,0 +1,23 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# dmenu theming
|
||||
lines="-l 20"
|
||||
|
||||
selected="$(ps -a -u $USER | \
|
||||
dmenu -i -p "Type to search and select process to kill" \
|
||||
$lines | \
|
||||
awk '{print $1" "$4}')";
|
||||
|
||||
if [[ ! -z $selected ]]; then
|
||||
|
||||
answer="$(echo -e "Yes\nNo" | \
|
||||
dmenu -i -p "$selected will be killed, are you sure?" \
|
||||
$lines )"
|
||||
|
||||
if [[ $answer == "Yes" ]]; then
|
||||
selpid="$(awk '{print $1}' <<< $selected)";
|
||||
kill -9 $selpid
|
||||
fi
|
||||
fi
|
||||
|
||||
exit 0
|
||||
18
dotfiles/.local/bin/dmenu-mansearch
Executable file
18
dotfiles/.local/bin/dmenu-mansearch
Executable file
@@ -0,0 +1,18 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
prompt="-p Manual:"
|
||||
|
||||
# terminal to open manual
|
||||
terminal="st"
|
||||
|
||||
# list all manuals
|
||||
manual="$(man -k . | dmenu $prompt | awk '{print $1}')"
|
||||
|
||||
# open selected manual with terminal
|
||||
if [[ ! -z "$manual" ]]; then
|
||||
eval "$($terminal -e man $manual)"
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
||||
|
||||
17
dotfiles/.local/bin/dmenu-menus
Executable file
17
dotfiles/.local/bin/dmenu-menus
Executable file
@@ -0,0 +1,17 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
script_path="$HOME/.local/bin"
|
||||
|
||||
prompt="-p Menus:"
|
||||
|
||||
# list only executable non-binay files
|
||||
|
||||
run_dmenu="$(find $script_path/dmenu-* -maxdepth 1 -type f -executable \
|
||||
-exec grep -Iq . {} \; -print \
|
||||
| sed 's|^'$script_path/'||' \
|
||||
| sort \
|
||||
| dmenu $prompt)"
|
||||
|
||||
eval "$script_path/$run_dmenu"
|
||||
|
||||
exit 0
|
||||
@@ -82,7 +82,7 @@ def dmenu_pass(command, color):
|
||||
return ["-P"] if dm_patch else ["-nb", color, "-nf", color]
|
||||
|
||||
|
||||
def dmenu_cmd(num_lines, prompt="Networks", active_lines=None):
|
||||
def dmenu_cmd(num_lines=20, prompt="Networks", active_lines=None):
|
||||
"""Parse config.ini for menu options
|
||||
|
||||
Args: args - num_lines: number of lines to display
|
||||
66
dotfiles/.local/bin/dmenu-websearch
Executable file
66
dotfiles/.local/bin/dmenu-websearch
Executable file
@@ -0,0 +1,66 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
sources_file="$HOME/.local/bin/dmenu-websearch-sources"
|
||||
|
||||
prompt="-p Search:"
|
||||
|
||||
se_data="$(
|
||||
awk -F'"' '
|
||||
BEGIN {
|
||||
labels=""
|
||||
}
|
||||
{
|
||||
# Selector line
|
||||
gsub(/[[:space:]]/,"",$1)
|
||||
sel=$1
|
||||
|
||||
# Description line
|
||||
dsc=$2
|
||||
|
||||
# URL line
|
||||
gsub(/[[:space:]]/,"",$3)
|
||||
url=$3
|
||||
|
||||
# URL array (selector is the key)
|
||||
surl[sel]=url
|
||||
|
||||
# Descriptions array (selector is the key)
|
||||
sdsc[sel]=dsc
|
||||
|
||||
if (labels != "") {
|
||||
labels=sprintf ("%s\n%s - %s", labels, sel, dsc)
|
||||
} else {
|
||||
labels=sprintf ("%s - %s", sel, dsc)
|
||||
}
|
||||
}
|
||||
END {
|
||||
for(k in surl) {
|
||||
print "declare -A " k
|
||||
print k "[url]=\"" surl[k] "\""
|
||||
print k "[dsc]=\"" sdsc[k] "\""
|
||||
}
|
||||
print "dmenu_labels=\"" labels "\""
|
||||
}
|
||||
' "$sources_file"
|
||||
)";
|
||||
|
||||
# Eval awk output as real variables...
|
||||
eval "$se_data"
|
||||
|
||||
# Output label string to rofi...
|
||||
search="$(dmenu $prompt <<< $dmenu_labels)"
|
||||
|
||||
if [[ ! -z "$search" ]]; then
|
||||
|
||||
# Retrieve data...
|
||||
sel="$( awk '{ print tolower($1) }' <<< $search )"
|
||||
txt="$( cut -d" " -f2- <<< $search )"
|
||||
|
||||
eval "sen_dsc=\"\${$sel[dsc]}\""
|
||||
eval "sen_url=\"\${$sel[url]}\""
|
||||
|
||||
xdg-open "$sen_url$txt" &>/dev/null &
|
||||
|
||||
fi
|
||||
|
||||
exit 0
|
||||
8
dotfiles/.local/bin/dmenu-websearch-sources
Executable file
8
dotfiles/.local/bin/dmenu-websearch-sources
Executable file
@@ -0,0 +1,8 @@
|
||||
gg "Google Search" https://www.google.com/search?q=
|
||||
dd "DuckDuckGo" https://duckduckgo.com/?q=
|
||||
we "Wikipedia (en)" https://en.wikipedia.org/wiki/
|
||||
wp "Wikipedia (pt)" https://pt.wikipedia.org/wiki/
|
||||
so "Stack Overflow" https://stackoverflow.com/search?q=
|
||||
dl "DeepL Translator" https://www.deepl.com/translator#en/pt/
|
||||
gt "Google Translate" https://translate.google.com.br/?text=
|
||||
rd "Reverso Context Dictionay" https://context.reverso.net/traducao/ingles-portugues/
|
||||
Reference in New Issue
Block a user