소스 검색

Add removing/cleaning actions

Alois Mahdal 10 년 전
부모
커밋
eed53406dc
1개의 변경된 파일17개의 추가작업 그리고 0개의 파일을 삭제
  1. 17
    0
      libexec/saturnin-clip

+ 17
- 0
libexec/saturnin-clip 파일 보기

@@ -63,12 +63,27 @@ load_clip() {
63 63
     cat $STORAGE_DIR/$name | xclip -i -selection $clipname
64 64
 }
65 65
 
66
+rm_clip() {
67
+    local clipname=$1
68
+    local name=$(saturnin clip ls | saturnin dmenu | cut -d\   -f 1)
69
+    rm -f $STORAGE_DIR/$name
70
+}
71
+
72
+rm_all() {
73
+    test -n "$STORAGE_DIR" || die "storage directory is unset, aborting"
74
+    test -d "$STORAGE_DIR" || return 0
75
+    find "$STORAGE_DIR" -name "*.clip" | xargs rm -f
76
+    rmdir "$STORAGE_DIR" 2>/dev/null | :
77
+}
78
+
66 79
 clipname=primary
67 80
 action=list
68 81
 while true; do case "$1" in
69 82
     save) action=save;          shift   ;;
70 83
     load) action=load;          shift   ;;
71 84
     ls)   action=list;          shift   ;;
85
+    rm)   action=remove;        shift   ;;
86
+    clean) action=clean;        shift   ;;
72 87
     -1)   clipname=primary;     shift   ;;
73 88
     -2)   clipname=secondary;   shift   ;;
74 89
     -c)   clipname=clipboard;   shift   ;;
@@ -82,6 +97,8 @@ debug -v clipname action
82 97
 case $action in
83 98
     save) save_clip $clipname ;;
84 99
     load) load_clip $clipname ;;
100
+    remove) rm_clip ;;
101
+    clean) rm_all ;;
85 102
     list) lsclips ;;
86 103
 esac
87 104