blob: 130b90c68a5fa310831e47b56285f55a7ea00255 (
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
|
#!/bin/sh -eu
cache=/tmp/file_search_results.cache
append() { find "$1" -maxdepth 1 -printf "%p\n" 2> /dev/null || true; }
appendRecursive() { find "$1" -printf "%p\n" 2>/dev/null || true; }
removeDuplicates() { awk '!visited[$0]++' "$1" | sponge "$1"; }
{ [ ! -f "$cache" ] || [ "${1:-}" = "update" ]; } && \
{
append "$HOME";
append "$HOME"/.local;
append "$HOME"/Desktop;
append "$HOME"/Shares/Projects;
appendRecursive "$HOME"/.vim;
appendRecursive "$HOME"/.local/bin;
appendRecursive "$HOME"/.config;
appendRecursive "$HOME"/Music;
appendRecursive "$HOME"/Books;
appendRecursive "$HOME"/Videos;
appendRecursive "$HOME"/Documents;
appendRecursive "$HOME"/Downloads;
appendRecursive "$HOME"/Pictures;
} \
| grep -vE '(undodir)' > "$cache"
[ "${1:-}" = "update" ] && removeDuplicates "$cache" && exit;
xdg-open "$(rofi -font "ubuntu 12" -matching regex -padding 20 -dmenu -i -p 'Files' < "$cache")"
|