目的
- PCいじっている最中でも予定をぱぱっと入力したい。
→ ショートカットキーでダイアログ呼び出してtrelloに登録する。
結果
Command+Spaceを押すと、
入力後、Command+Return押してそのままtrelloに(slack経由で)送信
準備
- slackとtrelloの連携 参照
- yad
- slack-cmd-trigger
*Python3で動かす場合は、31行目をprint("-> Aborted through user interaction")
に書き換えます。
ダイアログ
~/.bin/todoyad
#!/bin/sh
ask=$(yad --width=400 --title="" --text="Todo" \
--image="/usr/share/icons/Papirus/32x32/apps/calendar.svg" \
--form \
--date-format="%Y-%m-%d" \
--item-separator="," \
--field="Todo" "" \
--field="Due date":DT "$(date +"%Y-%m-%d")" \
--field="Time":CBE "$(seq -f "%02g:00" 6 24 | paste -sd ',')" \
--field="Details":TXT "")
todo=$(echo "$ask" | awk 'BEGIN {FS="|" } { print $1 }')
day=$(echo "$ask" | awk 'BEGIN {FS="|" } { print $2 }')
time=$(echo "$ask" | awk 'BEGIN {FS="|" } { print $3 }')
details=$(echo "$ask" | awk 'BEGIN {FS="|" } { print $4 }')
if [ "$todo" = "" ]
then
exit 1
else
python $HOME/.opt/slack-cmd-trigger/index.py -t "{SlackのLegacy Token}" -c "{チャンネル名}" -cmd "trello" -i "add $todo"
python $HOME/.opt/slack-cmd-trigger/index.py -t "{SlackのLegacy Token}" -c "{チャンネル名}" -cmd "trello" -i "set-due $day $time"
fi
ショートカットキー(i3wm)
~/.i3/config
bindsym $mod+space exec --no-startup-id "~/.bin/todoyad"
trello-cliという便利なスクリプトもあるのですが、なぜか締切日時の指定ができなかったため、Slackを経由することにしました。
設定できるのは締切のみで、細かい期間の指定はできません。あくまで暫定的なものとして。