open source cross-platform GUI for the todo.txt file format
This is based on the fork by t7ko of the original jdotxt by Chritian M. Schmid (below is the original readme.)
t7ko already added:
- autocompletion for context / projects
- custom sorting order dialog
- more GUI elements for quick settings
My fork has the following additional changes, which are no also included in t7ko's fork:
- allow multi-line tasks
- add undo functionality (Ctrl-Z, Ctrl-Y) to task text
- colored background based on priority
- confirmation dialog before deleting tasks
The unique features in this fork are:
- change calendar button to set/change the due date instead of the threshold date
- tweaks to UI to my preference (Nimbus look and feel, smaller fonts)
I didn't bother to keep this compatibility with Java 7; you need at least Java 8 to compile.
With 4k displays becoming more widespread, you might want to scale the UI up. Swing applications don't seem to have a great solution for that (one that automatically uses the scaling of your desktop), but I could at least get 2x scaling by manually running
java -Dsun.java2d.uiScale=2.0 -jar jar/jdotxt.jar
Copyright 2013-2018 Christian M. Schmid
Another open source cross-platform GUI for the todo.txt file format
- Quick filtering by context + project -- see Filter panes on the left:
- Multiple selection.
- Quick filter by typed keystrokes (put focus on the pane and start typing).
- Context menu with option to rename project/context.
- Auto-add context/project to new entry (copied from currently selected entry).
- Support for hidden entries (
h:1
). - Colored background based on priority.
- Support for threshold dates (
t:
) and due dates (due:), support for recurrence (rec:[+]Du
- optional+
to specify strict recurrence based on due/threshold date, by default will increment based on completion date;D
is number of units,u
is unit -- one ofd
day,w
week,m
month,y
year; examplerec:11d
schedule next task to 11 days after completion,rec:+1m
schedule next task exactly one month away from threshold/due date).recp:
controls whether to copy priority on task completion to a new future task (recp:1
) or reset it to none (recp:0
). - Date picker and a list of quick pre-sets for Threshold Date (
t:
). - Auto-completion of context/project when typing entry text.
- Customizable sort. Saving sorts for future reuse.
- Hotkeys:
CTRL-F
-- jump to search field.CTRL-S
-- save todo.txt file. (You can also enable auto-save in preferneces.)CTRL-R
-- reload todo.txt (reloads automatically if detects that file has changed underneath).CTRL-N
-- "New Task", jumps to New Task entry field.CTRL-D
-- jump to previously open todo.txt file.CTRL-Z
,CTRL-Y
-- undo/redo (when editing an entry text).
Go to "Releases" section of the GitHub project to get the latest version.
to build jdotxt from its sources, you will need
- a Java Development Kit (JDK) Version 7 or higher http://www.oracle.com/technetwork/java/javase/downloads/index.html
- Apache Ant as build system http://ant.apache.org/
I use Ubuntu as a build system, simply run
- sudo apt-get install openjdk-11-jdk ant
to set up your build system.
To build jdotxt
-
Download the latest sources from github (e.g.,
git clone https://github.com/t7ko/jdotxt
) -
Move into the directory (e.g.,
cd jdotxt
) -
Run ant (i.e.,
ant
)
You can run the resulting jar file by executing
java -jar jar/jdotxt.jar
Or, to run GUI-only on Windows, with detached console:
javaw -jar jar/jdotxt.jar
With 4k displays becoming more widespread, you might want to scale the UI up. Swing applications don't seem to have a great solution for that (one that automatically uses the scaling of your desktop), but I could at least get 2x scaling by manually running
java -Dsun.java2d.uiScale=2.0 -jar jar/jdotxt.jar
jdotxt uses code and libraries from the following open source projects:
- appbundler: for creating the OSX app bundle.
- todo.txt-android: jdotxt uses the same datastructures and IO functions that the official Android client uses.
- hamcrest: for testing.
- Java Native Access (JNA): for fixing some Windows 7/8 taskbar issues.
- junit: for testing.
- juniversalchardet: for automatically detecting the encoding scheme of your todo files.
- jdotxt, original author's page.
- todo.txt is a simple file format for managing your todos.
- todo.txt-android an open source todo.txt Android client