blob: e63bf809cfa101840fd965261261724020f2a565 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#!/bin/sh
#app_path="/usr/share/applications/"
app_path="$HOME/.local/share/applications/"
scrape_apps() {
grep '^Name=\|^Exec=' "$app_path"/*.desktop | grep ':Name=' | cut -d= -f2-
}
exclude() {
grep -v "Qube Settings"
}
tidy() {
sed 's/Rxvt Color Unicode Terminal/urxvt/'
}
untidy() {
sed 's/urxvt/Rxvt Color Unicode Terminal/'
}
find_file() {
grep "^Name=$1" "$app_path"/*.desktop | cut -d: -f1
}
# Expects the contents of a desktop file
execute_app() {
local cmd="$(grep '^Exec=' "$1" | cut -d= -f2-)"
eval " $cmd"
}
choice=$(scrape_apps | exclude | tidy | sort | wrap_dmenu -p "Run" $* | untidy)
[ -z "$choice" ] && exit
file="$(find_file "$choice")"
[ -z "$file" ] && exit
execute_app "$file"
|