Tritask-sta specification

Tritask-sta の概要や仕様をまとめる。

対象バージョン: v1.7.1

タスクのフォーマット

1 2--------- 3-- 4---- 5---- 6----------
M YYYY/MM/DD DOW HH:MM HH:MM DESCRIPTION

タスクの種類

タスクは実行日、開始時刻、終了時刻などの値に応じて種類が分かれる。

有効なタスク

                             INBOX
4 2017/07/11 Thu  9:52 10:33 YESTERDAY DONE
2 2017/07/12 Wed             TODAY TODO
2 2017/07/12 Wed  9:52       TODAY START
1 2017/07/12 Wed  9:52 10:33 TODAY DONE
3 2017/07/13 Thu             TOMORROW TODO
種類名 略称 説明
INBOX inbo インボックス。実行日の決まっていないタスク(メモとしても使用可)
YESTERDAY DONE ye 昨日以前に終了したタスク
TODAY TODO tt 今日行うタスク
TODAY START ts 現在実行中のタスク
TODAY DONE td 今日終了したタスク
TOMORROW TODO tom 明日以降のタスク

無効なタスク

Tritask-sta では「今日のタスク(実行日が今日のタスク)」のみ扱うことを考える。もっと言えば人が過去や未来にタイムスリップできないように、Tritask でも過去のタスクや未来のタスクを開始することはできない。この考えに基づき、Tritask-sta では YESTERDAY TODO, YESTERDAY START, TOMORROW DONE, TOMORROW START を無効なタスクとして扱う。

4 2017/07/11 Thu             YESTERDAY TODO      <=== 無効
4 2017/07/11 Thu  9:52       YESTERDAY START     <=== 無効
2 2017/07/12 Wed             TODAY TODO
2 2017/07/12 Wed  9:52       TODAY START
1 2017/07/12 Wed  9:52 10:33 TODAY DONE
3 2017/07/13 Thu 10:00       TOMORROW START      <=== 無効
3 2017/07/13 Thu 10:00 10:22 TOMORROW DONE       <=== 無効

以下は無効と判断した理由である。

種類名 無効である理由
YESTERDAY TODO 過去のタスクは目に入らず、見失いやすいから
YESTERDAY START 過去のタスクを開始することはありえないから
TOMORROW START 未来のタスクを開始することはありえないから
TOMORROW DONE 未来のタスクを終了することはありえないから

無効タスクの対処

Tritask-sta では、無効なタスクについては その実行日を今日に修正する 措置を行う。こうすることでこれら無効なタスクが今日のタスクとして浮上し、目に付くようになる。目に付けば、何らかの対処ができる。

各フィールドの実装

マーク

タスク種別に対するマークは以下のとおりに定める。

マーク値 タスク種別
(スペース) inbo(Inbox)
1 td(Today Done)
2 tt(Today Todo), ts(Today Start)
3 tom(Tomorrow Todo)
4 ye(Yesterday Done)

意図としては、まずメモ領域として使える inbo は最上位に表示させる。また today, tom, ye については、today が一番使うはずなので一番上、次いで明日以降の予定である tom、最後に過去である ye の順にしてある。

日付と曜日

以下のパターンのみ有効とする。

以下に例を挙げる。

                             inbo
2 2017/07/12 Wed             tt
2 2017/07/12                 tt(曜日部分はソート時に補完される)
2 2017/07/12 WED             tt(曜日部分はソート時に補完される)
2 2017/07/12 abc             tt(曜日部分はソート時に補完される)
2            Wed             無効なフォーマット(日付がない)
2 2017/07/32 WED             無効なフォーマット(日付が有効でない)

属性

TEMPLATE

(属性に関する概要や詳細説明)

繰り返し(Repeat)

このタスクを終了すると、N日後の tom が複製される。

スキップ(Skip)

このタスクは、ソートされた時、日付が「指定された曜日」だった場合に、日付が +1 される。

指定は曜日個別、平日、休日(土曜日と日曜日)の三パターンを指定可能。

全ての曜日が指定された場合、永遠にインクリメントされ続けるため、 ツール側で停止しなければならない

ホールド(Hold)

このタスクは、ソートされた時に、今日を 0 として、その差分の日付が常に設定される。

リファレンス(Reference)

このタスクが持つリファレンス KEY を開く。

リファレンスとはキーとファイルからなるメモ領域であり、実体は (tritaファイルのあるディレクトリ)/ref 配下に (キー名).md という形で保存される。

リファレンスはタスクに関する補足情報を記述するのに便利である。

キーは何でも良いが、tritask-sta では現在日時の YYMMDD_HHMMSS で固定する。

見積もり(Estimate)

このタスクは N 分で終了予定であることを示す。

この属性を付与しておくと、Report Today 機能で「今日の総見積時間」や「今日すべてのタスクを終えるのにあと何分かかる見込みか」といった情報を算出できるようになる。

操作一覧

menu

注釈

TEMPLATE

(一言説明)

Before

適用前の内容

After

適用前の内容

(詳細説明)

================

Add Task

現在行に tt を追加する。

Before

  2017/08/04 Fri             タスク1
  2017/08/04 Fri             Iタスク2
  2017/08/04 Fri             タスク3

After

  2017/08/04 Fri             タスク1
  2017/08/04 Fri             I
  2017/08/04 Fri             タスク2
  2017/08/04 Fri             タスク3

Add Inbox

現在行に inbo を追加する。

Before

  2017/08/04 Fri             タスク1
  2017/08/04 Fri             Iタスク2
  2017/08/04 Fri             タスク3

After

  2017/08/04 Fri             タスク1
                             I
  2017/08/04 Fri             タスク2
  2017/08/04 Fri             タスク3

Copy Task

指定タスクを次行に複製する。その際、開始時刻と終了時刻はクリアする。

Before

  2017/08/04 Fri 09:30 09:54 Iタスク2
  2017/08/04 Fri             タスク3

After

  2017/08/04 Fri 09:30 09:54 タスク2
  2017/08/04 Fri             タスク2I
  2017/08/04 Fri             タスク3

Start Task

指定タスクに開始時刻を書き込む。

Before

  2017/08/04 Fri             Iタスク1

After(14:30に開始した場合)

  2017/08/04 Fri 14:30I      タスク1

既に開始されている場合は開始時刻をクリアする(開始時刻記入のトグル)。

End Task

指定タスクに終了時刻を書き込む。

Before

  2017/08/04 Fri 13:31       Iタスク rep:3

After(14:30に終了した場合)

  2017/08/04 Fri 13:31 14:30 タスク rep:3
4 2017/08/07 Mon             タスク rep:3I

もし repeat 属性がある場合、当該タスクを(日付を指定日後に変更してから)複製する。

開始時刻が書き込まれてない場合は 無効タスク(開始してないのに終了している)となってしまうが、処理の中断や警告は行わない 開始時刻も書き込む(v1.7.1より)。

Close Task

Start と End を同時に行う。

Before

  2017/08/04 Fri             Iタスク1

After(14:30に開始した場合)

  2017/08/04 Fri 14:30 14:30Iタスク1

================

Walk day

指定タスクの日付を指定日だけ増減させる。複数選択可能。

指定可能な増減値は整数値。

Walk +1 day(Smart-walk)

rep:N があれば N 日後を、無ければ 1 日後(+1)を設定する Walk day。複数選択可能。

Change to Today

指定タスクの日付を今日にする。複数選択可能。

Before(二つとも選択しているとする)

4 2017/08/02 Wed             タスク
4                            タスク

After(今日が 17/08/05 とする)

2 2017/08/05 Sat             タスク
2 2017/08/05 Sat             タスク

Clear Date

指定タスクの日付を空文字列にする(inboにする)。

Before

  2017/08/04 Fri             タスクI

After

                             Iタスク

================

Sort

現在開いている trita ファイルに対してソートを実行する。

ただしソートを実行する前に全行を走査し、以下の前処理を行う。

Jump to Starting-Task

ts のある行にジャンプする。

Before

  2017/08/04 Fri             タスクI
  2017/08/04 Fri             タスク
  2017/08/04 Fri             タスク
  2017/08/04 Fri             タスク
  2017/08/04 Fri             タスク
  2017/08/04 Fri             タスク
  2017/08/04 Fri 14:34       タスク
  2017/08/04 Fri             タスク
  2017/08/04 Fri             タスク

After

  2017/08/04 Fri             タスク
  2017/08/04 Fri             タスク
  2017/08/04 Fri             タスク
  2017/08/04 Fri             タスク
  2017/08/04 Fri             タスク
  2017/08/04 Fri             タスク
  2017/08/04 FriI14:34       タスク
  2017/08/04 Fri             タスク
  2017/08/04 Fri             タスク

ts が複数存在する場合、最初に登場する ts にジャンプする。

Open Reference

指定タスクにリファレンスを付与する。

Before

  2018/04/26 Thu             テストI

After

  2018/04/26 Thu             テスト ref:180426_131649I

リファレンスキー名は現在日時の YYMMDD_HHSSMM を自動的に用いる。また、付与後は当該リファレンスファイル( YYMMDD_HHSSMM.md )を「関連付けられたエディタ」で開く。

Simple Completion

指定タスクに対して補正(日付情報から正しい曜日文字列を算出する、ソートマークを正しく反映する等)をかける。

Before

  2018/11/10IThu             テストI

After

3 2018/11/10ISat             テスト

ソートを行わずに、タスク一つのみに対して補正を行いたい場合に用いる。特に日付を手動で更新した際に、その日付が何曜日なのかを知りたい場合などに用いる。

================

Report Today or Selected-Range

今日のタスク情報からレポートを作成し、ダイアログにて表示する。

today_report

上記は以下を表している。

注意事項など:

================

Programming helper script

ヘルパースクリプト helper.py を秀丸エディタで開く。

Programming this macro

マクロファイル tritask.mac を秀丸エディタで開く。