taskopenrc - Man Page
Configuration file for the taskopen(1) command
Synopsis
~/.taskopenrc
taskopen -c /path/to/taskopenrc
Description
taskopen obtains its configuration data from a file called ~/.taskopenrc in the user's home directory.
Each line in the taskopenrc file is either an assignment, a comment or empty.
An assignment consists of a variable name and a value separated by the equal sign ("="):
<variable name>=<value>
where the variable name is one of the names below.
A hash mark ("#") can be used to mark the beginning of a comment line.
Configuration Variables
Valid variable names and their default values are:
General configuration
- BROWSER=xdg-open$FILE&>/dev/null
The executable which will be used to open URIs.
- EDITOR=vim
Your preferred editor.
- FILE_CMD=xdg-open
Command to be used for opening non-text files.
- TASKBIN=task
The path to your taskwarrior binary.
- PATH_EXT=/usr/share/taskopen/scripts
The given path(s) will be prepended to taskopen's PATH variable. The default value depends on the installation path.
- DEBUG=0
Set this to '1' if you want to enable additional debugging output.
Notes files
- NOTES_FOLDER=$HOME/tasknotes/
The directory in which the Notes files will be stored.
- NOTES_EXT=.txt
The file extension used for Notes files.
- NOTES_FILE
This sets the actual path of the Notes files. The string "UUID" will be replaced with the task's UUID. If not set, the value will be assembled by taking NOTES_FOLDER and NOTES_EXT: ${NOTES_FOLDER}UUID${NOTES_EXT}
- NOTES_CMD
Sets the command that will be executed to open a Notes file. If not set, the value will be assembled by taking EDITOR and NOTES_FILE: ${EDITOR} "${NOTES_FILE}".
- NOTES_REGEX=Notes
The regular expression which identifies an annotation as a link to the Notes file.
Default arguments
- DEFAULT_FILTER=status.is:pending
The default taskwarrior filter that will be applied to all queries. Can be deactivated by using the -a or -A switches.
- DEFAULT_SORT
Specify the default sorting which may be overridden by the -s option.
- DEFAULT-i=ls -la
Default command for the -i parameter which allows using -i without an argument.
- DEFAULT-x
Default command for the -x parameter which allows using -x without an argument.
Classification
- BROWSER_REGEX=www|http
The regular expression which identifies annotations openable by BROWSER.
- FILE_REGEX="\.|\/|~"
The regular expression that identifies file paths in annotations which will be opened by EDITOR or xdg-open.
- TEXT_REGEX
This regular expression identifies annotations that can be edited in raw mode (see '-r'). If set and no other regular expression matches the annotation, the EDITOR will be invoked to edit the annotation.
- CUSTOM1_REGEX
The regular expression that identifies annotations openable by CUSTOM1_CMD.
- CUSTOM1_CMD
The command with which annotations matching CUSTOM1_REGEX will be opened. You may use the following environment variables: $FILE, $UUID, $ID, $LABEL, $ANNOTATION and $LAST_MATCH. By Default, the value of $FILE will be appended to the command. See taskopen(1) for further details.
- CUSTOM[0-9]+_REGEX
see CUSTOM1_REGEX
- CUSTOM[0-9]+_CMD
see CUSTOM1_CMD
- NO_ANNOTATION_HOOK
Execute an arbitrary script if there is no annotation found. The corresponding taskwarrior IDs will be passed as arguments, e.g. "attach.sh 21 42"
- TASK_ATTRIBUTES
Add arbitrary taskwarrior attributes (comma separated) as sort keys and environment variables for use within user commands. In order to prevent name conflicts, the corresponding sort keys are preceded by "task_" (e.g. "task_project"). Environment variables are additionally in upper case (e.g. TASK_PROJECT).
Examples
Using different file extensions for Notes files
NOTES_REGEX="Notes.(.*)"
NOTES_CMD="editnote /path/to/tasknotes/$UUID.$LAST_MATCH "$TASK_DESCRIPTION" $UUID"
NO_ANNOTATION_HOOK=addnote
TASK_ATTRIBUTES=description
Using the notes.vim plugin for Notes files
NOTES_FOLDER=$HOME/Notes/vimnotes
NOTES_EXT=""
NOTES_CMD="vim -c ":Note $UUID""
The notes.vim plugin can be found at <http://peterodding.com/code/vim/notes/>
Link to mutt emails
CUSTOM1_REGEX=Message-[iI][dD]:|message:
CUSTOM1_CMD="echo "$FILE" | muttjump"
Thanks to Jostein Berntsen, the old bash version of taskopen had support for linking to your emails by using mutt. This feature can still be enabled by setting the CUSTOM1_REGEX and CUSTOM1_CMD appropriately, given that taskopen's PATH contains the path to the corresponding helper scripts (see PATH_EXT).
Taskopen then uses muttjump to open the mutt mailboxes natively or in a screen window (very quick and effective). The muttjump can be found at <https://github.com/weisslj/muttjump>
Integrating user-defined attributes (UDAs)
TASK_ATTRIBUTES=url,costs
CUSTOM1_REGEX=URL
CUSTOM1_CMD="xdg-open $TASK_URL"
DEFAULT_SORT="task_costs-,id+"
You can make taskopen agnostic to any taskwarrior attributes by adding them to TASK_ATTRIBUTES. This enables the use of these attributes within user commands (see taskopen (1)) or as sort keys.
Credits & Copyrights
Copyright (C) 2010 - 2020, J. Schlatow
Taskopen is distributed under the GNU General Public License. See http://www.opensource.org/licenses/gpl-2.0.php for more information.
See Also
For more information regarding taskopen, see the following:
- The official site at
- The official code repository at
<git://github.com/ValiValpas/taskopen.git>
Reporting Bugs
- Bugs in taskopen may be reported to the issue-tracker at