Task sorting
- Time: Wait tasks sort by when the wait ends, earliest first. Limit reset tasks sort by when their wait ended, so the one that has been ready longest comes first. The time is kept when a wait expires, which is what makes the second sort possible. - Order: I put time before account for these two statuses, so the full order is status, then time, then account, then name. Other statuses still go status, account, name. If you'd rather have account before time, swap the two checks in taskLess in Display.cpp. - Manual limit reset: a task you set to limit-reset by hand has no wait time, so it sorts first among limit resets. Account status: an account takes the most taken level among its tasks. - Busy: it has a Testing, Limit reset or Wait task. The TASKS column lists those tasks. - Taken: it has a Prompt task and nothing Busy. The TASKS column lists the Prompt tasks. - Free: it only has Done, Frozen or Uploading tasks, or no tasks. The TASKS column shows Changes to be committed: modified: README.md modified: include/Display.h modified: include/Status.h modified: src/Completer.cpp modified: src/Display.cpp modified: src/Repl.cpp modified: src/Status.cpp
This commit is contained in:
1 parent
04fa2b1b20
commit
6cb5a8611f
7 files changed
+107
-36
No files matched your search
@@ -29,7 +29,7 @@ installed; otherwise CMake downloads the amalgamation (needs network once).
|
||||
disp tsk (hide|show)
|
||||
disp tsk level (hide|show) (prompt|limit-reset|testing|wait|uploading|frozen|done|all)
|
||||
disp acc (hide|show)
|
||||
disp acc level (hide|show) (busy|free|all)
|
||||
disp acc level (hide|show) (busy|taken|free|all)
|
||||
disp (show current settings)
|
||||
|
||||
db save | db backup [file] | db restore <file>
|
||||
@@ -73,11 +73,14 @@ goes back to `$VISUAL` / `$EDITOR` / nano / vim / vi. The choice is stored in
|
||||
* The stored status is never shown directly: a `wait` task displays as
|
||||
`Wait HH:MM` until that time passes, then as `Limit reset`. Tasks are sorted
|
||||
by computed status (Limit reset, Testing, Prompt, Wait, Uploading, Frozen,
|
||||
Done), then account A-Z (unassigned last), then wait time, then name. The panels are cleared and redrawn after changes.
|
||||
* Account panel: one row per account, sorted from most free to least free.
|
||||
`Busy` while any of its tasks is Testing or Wait (those tasks are listed),
|
||||
otherwise `Free`; fewer busy tasks sorts first, ties by name
|
||||
(see `Display::renderAccounts` / `StatusUtil::isBusy` to change the rules).
|
||||
Done); Wait and Limit reset tasks then sort by time (earliest first: when
|
||||
the wait ends / ended), then account A-Z (unassigned last), then name. The panels are cleared and redrawn after changes.
|
||||
* Account panel: one row per account, judged by its tasks: `Busy` if any is
|
||||
Testing, Limit reset or Wait; else `Taken` if any is Prompt; else `Free`
|
||||
(only Done, Frozen or Uploading tasks, or no tasks). The TASKS column lists
|
||||
the tasks at that level. Rows are sorted most free first: Free, Taken, Busy,
|
||||
fewer tasks first, ties by name (see `levelOf` in `Display.cpp` and
|
||||
`StatusUtil::isBusy` / `isTaken` to change the rules).
|
||||
* Deleting an account leaves its tasks unassigned (`-`).
|
||||
* Names are case-insensitive; the original spelling is kept.
|
||||
* Notes live in the database (SQLite TEXT, binary-safe, SQLite's default limit is ~1 GB). The task table shows `-` when a task has no notes, otherwise the number of lines (e.g. `3 lines`); open them with `tsk notes <name>`.
|
||||
|
||||
Reference in new issue
Block a user