48 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| NOTESDIR=~/.config/sway_stickynotes
 | |
| 
 | |
| WORKSPACE=`swaymsg -t get_workspaces -p | grep \(focused\) | cut -f2 -d " "`
 | |
| 
 | |
| function print_usage {
 | |
|     echo "Usage: $0 CMD [VAL]"
 | |
|     echo "   CMD ... command: get / set / ask"
 | |
|     echo "      get ... returns the current value"
 | |
|     echo "      set ... set a new value"
 | |
|     echo "      ask ... show a dialog to update the current value"
 | |
|     echo "   VAL ... value set when CMD == 'set'"
 | |
| }
 | |
| 
 | |
| function show_dialog {
 | |
|     CMD=$0
 | |
|     TEMPFILE=~/.config/sway_stickynotes/note
 | |
| 
 | |
|     mkdir -p `dirname $TEMPFILE`
 | |
|     $CMD get > $TEMPFILE
 | |
| 
 | |
|     dialog --inputbox "Updated stickynote:" 10 30 "`cat $TEMPFILE`" 2> $TEMPFILE
 | |
|     VAL=`cat $TEMPFILE`
 | |
|     $CMD set "$VAL"
 | |
| }
 | |
| 
 | |
| mkdir -p $NOTESDIR
 | |
| 
 | |
| if [ $1 == "-h" ] || [ $1 == "--help" ]; then
 | |
|     print_usage
 | |
|     exit 0
 | |
| elif [[ $1 == "get" ]]; then
 | |
|     VAL=`cat $NOTESDIR/$WORKSPACE 2>/dev/null`
 | |
|     echo $VAL
 | |
|     exit 0
 | |
| elif [[ $1 == "set" ]]; then
 | |
|     shift 1
 | |
|     echo "$@" > $NOTESDIR/$WORKSPACE
 | |
|     exit 0
 | |
| elif [ $1 == "ask" ]; then
 | |
|     show_dialog
 | |
| else
 | |
|     print_usage
 | |
|     exit 1
 | |
| fi
 | |
| 
 |