# taskopenrc

NAME
SYNOPSIS
DESCRIPTION
CONFIGURATION VARIABLES
EXAMPLES
CREDITS & COPYRIGHTS
SEE ALSO
REPORTING BUGS

## NAME

taskopenrc − 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

taskopen(1)

For more information regarding taskopen, see the following:
The official site at

<https://github.com/ValiValpas/taskopen/>

The official code repository at

<git://github.com/ValiValpas/taskopen.git>

## REPORTING BUGS

Bugs in taskopen may be reported to the issue-tracker at

<https://github.com/ValiValpas/taskopen/issues>