diff options
Diffstat (limited to 'sel')
| -rwxr-xr-x | sel | 77 |
1 files changed, 45 insertions, 32 deletions
| @@ -23,6 +23,33 @@ menu=${MENU:-dmenu} | |||
| 23 | editor=${EDITOR:-vi} | 23 | editor=${EDITOR:-vi} |
| 24 | rm=trashrm # replace with rm -r if you don't use trashrm | 24 | rm=trashrm # replace with rm -r if you don't use trashrm |
| 25 | 25 | ||
| 26 | add() { | ||
| 27 | if [ -z "$2" ]; then | ||
| 28 | dmenu-filepicker >> "$file" | ||
| 29 | else | ||
| 30 | case "$2" in | ||
| 31 | files) | ||
| 32 | ls | while read f; do | ||
| 33 | [ -f "$f" ] && echo "$PWD/$f" >> "$file" | ||
| 34 | done | ||
| 35 | ;; | ||
| 36 | dirs) | ||
| 37 | ls | while read f; do | ||
| 38 | [ -d "$f" ] && echo "$PWD/$f" >> "$file" | ||
| 39 | done | ||
| 40 | ;; | ||
| 41 | all) | ||
| 42 | ls | while read f; do | ||
| 43 | echo "$PWD/$f" >> "$file" | ||
| 44 | done | ||
| 45 | ;; | ||
| 46 | *) | ||
| 47 | echo "$2: not a valid option" | ||
| 48 | ;; | ||
| 49 | esac | ||
| 50 | fi | ||
| 51 | } | ||
| 52 | |||
| 26 | clear() { | 53 | clear() { |
| 27 | cat /dev/null > "$file" | 54 | cat /dev/null > "$file" |
| 28 | } | 55 | } |
| @@ -31,11 +58,22 @@ cphere() { | |||
| 31 | file2=$(mktemp) | 58 | file2=$(mktemp) |
| 32 | sed 's/^.*\///' "$file" > "$file2" | 59 | sed 's/^.*\///' "$file" > "$file2" |
| 33 | $editor "$file2" | 60 | $editor "$file2" |
| 34 | paste "$file" "$file2" | while read f; do | 61 | if [ "$(wc -l $file | awk '{print $1}')" != \ |
| 35 | fold=$(echo "$f" | sed 's/\t.*//') | 62 | "$(wc -l $file2 | awk '{print $1}')" ]; then |
| 36 | fnew=$(echo "$f" | sed 's/.*\t//') | 63 | echo "Error reading new file names" |
| 37 | cp -R "$fold" ./"$fnew" | 64 | else |
| 38 | done | 65 | paste "$file" "$file2" | while read f; do |
| 66 | fold=$(echo "$f" | sed 's/\t.*//') | ||
| 67 | fnew=$(echo "$f" | sed 's/.*\t//') | ||
| 68 | cp -R "$fold" ./"$fnew" | ||
| 69 | done | ||
| 70 | fi | ||
| 71 | } | ||
| 72 | |||
| 73 | open() { | ||
| 74 | while read f; do | ||
| 75 | open-file "$f" | ||
| 76 | done < "$file" | ||
| 39 | } | 77 | } |
| 40 | 78 | ||
| 41 | remove() { | 79 | remove() { |
| @@ -49,30 +87,7 @@ if [ -z "$1" ]; then | |||
| 49 | else | 87 | else |
| 50 | case "$1" in | 88 | case "$1" in |
| 51 | add) | 89 | add) |
| 52 | if [ -z "$2" ]; then | 90 | add $@ |
| 53 | dmenu-filepicker >> "$file" | ||
| 54 | else | ||
| 55 | case "$2" in | ||
| 56 | files) | ||
| 57 | ls | while read f; do | ||
| 58 | [ -f "$f" ] && echo "$PWD/$f" >> "$file" | ||
| 59 | done | ||
| 60 | ;; | ||
| 61 | dirs) | ||
| 62 | ls | while read f; do | ||
| 63 | [ -d "$f" ] && echo "$PWD/$f" >> "$file" | ||
| 64 | done | ||
| 65 | ;; | ||
| 66 | all) | ||
| 67 | ls | while read f; do | ||
| 68 | echo "$PWD/$f" >> "$file" | ||
| 69 | done | ||
| 70 | ;; | ||
| 71 | *) | ||
| 72 | echo "$2: not a valid option" | ||
| 73 | ;; | ||
| 74 | esac | ||
| 75 | fi | ||
| 76 | sort -u -o "$file" "$file" | 91 | sort -u -o "$file" "$file" |
| 77 | ;; | 92 | ;; |
| 78 | clear) | 93 | clear) |
| @@ -91,9 +106,7 @@ case "$1" in | |||
| 91 | clear | 106 | clear |
| 92 | ;; | 107 | ;; |
| 93 | open) | 108 | open) |
| 94 | while read f; do | 109 | open |
| 95 | open-file "$f" | ||
| 96 | done < "$file" | ||
| 97 | ;; | 110 | ;; |
| 98 | rm) | 111 | rm) |
| 99 | remove | 112 | remove |
