diff options
Diffstat (limited to 'tools/clipboard')
-rwxr-xr-x | tools/clipboard | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/tools/clipboard b/tools/clipboard deleted file mode 100755 index 79ad150..0000000 --- a/tools/clipboard +++ /dev/null @@ -1,106 +0,0 @@ -#!/bin/bash -# -# Clipboard menu -# -# usage: -# clipboard init - clear all buffers -# clipboard menu_paste - pop up a menu to select which buffer to paste -# clipboard menu_set - pop up a menu to select which buffer to save -# the current X selection to -# clipboard paste N - N is buffer 1-9 -# clipboard set N - N is buffer 1-9 -# clipboard push - stack/queue push (push to buffer 1) -# clipboard pop - stack pop (last in first out - pop from buffer 1) -# clipboard pop_queue - queue pop (first in first out - pop from top of stack) -# -# Current stack depth is held in slot 10, and slot 0 is used as temp space for -# stack rotation. -# -command=$1 -option=$2 -source ~/.colors - -function entries() { - # title entry - if [ $command = menu_paste ]; then - echo -n "\"Paste from slot:\" /bin/true " - else - echo -n "\"Yank to slot:\" /bin/true " - fi - - for i in $(seq 1 9); do - repr=$(xcb -p $i | tr '\n$*?"'\''' ' ' | cut --bytes 1-59) - if [ $command = menu_paste ]; then - cmd_item="$0 paste $i" - else - cmd_item="$0 set $i" - fi - #printf '%q %q ' $i "$repr" "$cmd_item" -# echo -n "\"$i: $repr\" \"$cmd_item\" " - echo -n "\"$i:$repr \" \"$cmd_item\" " - done -} - -function menu() { - echo ~/.tools/ratmenu -label "\"clipboard $command\"" \ - -style dreary -fg \"$COLOR11\" -bg \"$COLOR0\" -io 2 $(entries) | sh -} - -function get_stack_depth() { - stack_depth=$(xcb -p 10) - echo "stack_depth=$stack_depth" >/dev/stderr -} - -function set_stack_depth() { - echo "setting stack_depth=$1" >/dev/stderr - echo $1 | xcb -n 11 -s 10 -} - -function increment_stack_depth() { - get_stack_depth - set_stack_depth $[ $stack_depth + 1 ] -} - -function decrement_stack_depth() { - get_stack_depth - set_stack_depth $[ $stack_depth - 1 ] -} - -if [ $command = init ]; then - # Clear all buffers - xcb -n 10 -s 0-9 </dev/null - set_stack_depth 0 -elif [ $command = menu_paste -o $command = menu_set ]; then - menu -elif [ $command = paste ]; then - xcb -p $option | xclip - ~/bin/paste - -elif [ $command = set ]; then - xclip -o | xcb -n 10 -s $option -elif [ $command = push ]; then - get_stack_depth - if [ $stack_depth -lt 9 ]; then - xcb -n 10 -r 1 - $0 set 1 - increment_stack_depth - fi -elif [ $command = pop ]; then - get_stack_depth - if [ $stack_depth -gt 0 ]; then - $0 paste 1 - # Clear buffer 0 so that rotation won't put its contents into spot 9 - xcb -n 10 -s 0 < /dev/null - xcb -n 10 -r -1 - decrement_stack_depth - fi -elif [ $command = pop_queue ]; then - get_stack_depth - if [ $stack_depth -gt 0 ]; then - $0 paste $stack_depth - # Clear buffer at top of stack - xcb -n 10 -s $stack_depth < /dev/null - decrement_stack_depth - fi -fi - |