A todo.txt manager, time tracker, timer, stopwatch, pomodoro, and alarms gnome-shell extension.
Table of Contents
-
You can install this extension from the gnome-shell extensions site.
NOTE:
Since it takes some time for the extension to be reviewed, the version on this site might be out of date and contain bugs that have already been fixed. Consider using the github version. -
You can install it manually:
- Download/clone this repo into your
~/.local/share/gnome-shell/extensions
dir and rename the downloaded dir totimepp@zagortenay333
. - Restart gnome-shell by typing Alt+F2, then r, then Enter.
- Enable the extension via gnome tweak tool.
- Download/clone this repo into your
The latest version of this extension is on the master branch, and it supports
gnome-shell version: 3.32
.
For older versions, check the available releases.
If you want to help out with translations, check out the instructions in the po_files dir.
Alarms, stopwatch and other timers won't work when the screen is locked.
This is a modular extension consisting of several sections (timer, stopwatch, alarms..)
Each section can open as a separate menu when it's icon is clicked, or it can appear together with other sections in one menu.
Individual sections can be disabled if you don't need them.
Right-clicking on the panel icons will open a context section with some useful links.
This extension has a fullscreen interface, which can be used to control a corresponding section as well as replace regular notifications.
The interface has multi-monitor support, and it can be opened (and brought into focus) via a keyboard shortcut.
Some of the features of the todo.txt manager are:
- Kanban boards.
- Fuzzy task searching.
- Filtering by context, project, priority, custom fuzzy filters...
- Toggling a filter on/off by clicking on a priority, context, or proj in a task.
- Support for multiple todo files and corresponding done files and csv dirs.
- Compound sorting by priority, due date, completion date, creation date, etc...
- Fuzzy autocompletion for contexts and projects when inline editing a task.
- Autoupdating when the todo.txt file changes.
- Deleting all completed tasks and optionally storing them into a done.txt file.
- Switching between different views via keyboard shortcuts.
-
The todo.txt format is specified here: https://github.com/todotxt/todo.txt
-
In various places throughout this extension (todo.txt, alarms, timer) there is support for some markdown stuff:
-
A simple version of markdown is supported:
` escape other markdown `` monospace and escape other markdown * bold ** italic *** bold with a red bg __ italic ___ underscore ~~ strikethrough # xx-large ## x-large ### large ------------------------------------- For example, *bold*, and ##extra large##, and ``monospaced``, and ***this __one__ is nested***, etc...
-
File paths and web links are supported:
https://www.google.com www.google.com /home/user/Documents ~/Documents ~/Documents/img.png ~/Documents/file\ with\ spaces.png
-
Newline chars in the todo.txt file can be used to have multiline support:
(A) A task with\nmultiline\n@support \n +asdf
-
A todo.txt extension is just a key:val
string you type into your todo.txt
file.
The following extensions are supported:
kan:kan_string |
Used to specify kanban boards. Multiple kan boards can be specified by writing multiple kan extensions into the todo.txt file The format of the extension is: kan:[*]name|column1[|column2|...]
|
tracker_id:string |
Used to identify a task when starting/stopping
the time-tracker via the dbus cli or using pomodoro. Multiple tasks can have the same tracker_id. |
pin:1 |
Pins a task. A task that is pinned is always visible no matter what filters are on. Also, one can sort pinned tasks (for example, always on top.) |
pri:A-Z |
Used to restore the priority of a completed task when it gets reopend. |
h:1 |
This extension disables all other extensions except the kan extension.Hides a task. Among other things, can be used to populate the todo manager with context/project keywords for autocompletion. |
t|defer:yyyy-mm-dd |
Defers opening a task until specified date. |
due|DUE:yyyy-mm-dd |
Sets a due date on a task. |
rec:recurrence_string |
This extension is incompatible with the due and defer extensions.Used to automatically reopen a task after a given amount of time. Each time a task recurs, it's creation date is updated. If a task is already open on the date of the recursion, it's creation date will be updated anyway. The recurrence_string can be in one of 3 diff forms: (n=natural number, d=days, w=weeks, m=months)
|
The time tracker is built into the todo.txt manager.
-
When the play button is pressed, the task as well as all projects in that task will be tracked.
-
When a task that has been tracked is edited, only the corresponding entry in the daily csv file will be updated; the yearly csv file will not be changed.
-
The directory structure of the tracker and the csv specification can be found here.
-
This extension features a fullscreen stats view for browsing/searching your time-tracker data.
- The stats uses vbar graphs to display total time and/or work intervals.
- It supports viewing time spent on tasks/projects on any recorded day.
- You can see a detailed view for a particular task/project.
- You can fuzzy search your history.
- You can view the most worked on tasks/projects in a particular time interval.
There is a pretty comprehensive dbus api. Check out the dbus dir for info on what you can do.
There are also some example scripts that might come in handy. 😄
This extension supports custom themes. In order to style it, place a
timepp.css
file into your theme's root directory (the dir where the
gnome-shell.css
file is).
You must use the !important
directive in order to override a property from the
extensions' stylesheet.
Any fullscreen view | |
---|---|
Tab | navigate forward |
Ctrl + Tab | navigate backward |
Esc | close fullscreen |
Timer (fullscreen) | |
---|---|
space | stop/start timer |
r or Backspace | repeat last timer preset |
1 ... 9 and 0 | start timer at the time specified by a num key. 1=1min, 2=2min, ..., 0=10min |
Stopwatch (fullscreen) | |
---|---|
space | stop/start timer |
l or Enter | lap |
r or Backspace | reset |
Pomodoro (fullscreen) | |
---|---|
space | stop/start timer |
Stats View | |
---|---|
f or / | start searching history |
Todo Section in popup menu (default view) | |
---|---|
/ | start searching tasks |
f | open file switcher |
i | open task editor to add new task |
k | open kanban switcher |
y | open filters editor |
s | open sort editor |
When focus is inside a task item in popup menu | |
---|---|
e | start editing task |
Task editor | |
---|---|
ctrl + h | resize editor to the left |
ctrl + j | resize editor down |
ctrl + k | resize editor up |
ctrl + l | resize editor to the right |
ctrl + f | open file selector |
ctrl + enter | commit the change |