taskopenrc(5)
π taskopenrc(5) π
okay bestie, so this is the manual page for taskopenrc, living in the User Manuals section of your friendly neighbourhood Unix man pages. it's the config file for taskopen(1) and honestly? it's giving lowkey powerful. let's get into it. π¦
β¨ NAME β¨
taskopenrc β the configuration file for the taskopen(1) command. it's literally the little brain that tells taskopen how to behave. π§
πΈ SYNOPSIS πΈ
~/.taskopenrc
taskopen -c /path/to/taskopenrc
π DESCRIPTION π
so here's the tea: taskopen gets all its config data from a file called ~/.taskopenrc sitting in your home directory. that's its home. its vibe. its whole thing. π
every single line in the taskopenrc file is one of exactly three things:
- an assignment
- a comment
- or just empty (a blank line, no thoughts, head empty, iconic)
an assignment is a variable name and a value, separated by the equal sign (=) like this:
<variable name>=<value>
and that <variable name> has to be one of the names listed down below, no cap.
you can also use a hash mark (#) to mark the beginning of a comment line. notes to self? absolutely. π
π CONFIGURATION VARIABLES π
the valid variable names and their default values are... drumroll π₯
β General configuration β
BROWSER=xdg-open$FILE&>/dev/nullβ the executable that gets used to open URIs. it's the one opening your links, main character energy fr.EDITOR=vimβ your preferred editor. (yes it defaults tovim, no we are not debating this today π)FILE_CMD=xdg-openβ the command used for opening non-text files.TASKBIN=taskβ the path to your taskwarrior binary. show me where yourtasklives.PATH_EXT=/usr/share/taskopen/scriptsβ the given path(s) get prepended to taskopen'sPATHvariable. heads up: the default value depends on the installation path, so don't come for me if yours looks different. πDEBUG=0β set this to'1'if you want extra debugging output. turn it on when things are being weird, turn it off when you're done snooping. π₯
π Notes files π
NOTES_FOLDER=$HOME/tasknotes/β the directory where your Notes files get stored. their little home.NOTES_EXT=.txtβ the file extension used for Notes files.NOTES_FILEβ this sets the actual path of the Notes files. the string"UUID"gets replaced with the task's UUID. if you don't set it, the value gets assembled by takingNOTES_FOLDERandNOTES_EXTtogether:${NOTES_FOLDER}UUID${NOTES_EXT}NOTES_CMDβ sets the command that gets executed to open a Notes file. if not set, the value gets assembled by takingEDITORandNOTES_FILE:${EDITOR} "${NOTES_FILE}"NOTES_REGEX=Notesβ the regular expression that identifies an annotation as a link to the Notes file. regex girlies rise π
πΈ Default arguments πΈ
DEFAULT_FILTER=status.is:pendingβ the default taskwarrior filter applied to all queries. can be deactivated by using the-aor-Aswitches. your default, your rules, until you switch them off.DEFAULT_SORTβ specify the default sorting, which may be overridden by the-soption. sorting is self-care.DEFAULT-i=ls -laβ default command for the-iparameter, which lets you use-iwithout an argument. (yes, that's the literal variable name, don't look at me π)DEFAULT-xβ default command for the-xparameter, which lets you use-xwithout an argument.
π¦ Classification π¦
BROWSER_REGEX=www|httpβ the regular expression that identifies annotations openable byBROWSER.FILE_REGEX="\.|\/|~"β the regular expression that identifies file paths in annotations, which then get opened byEDITORorxdg-open.TEXT_REGEXβ this regular expression identifies annotations that can be edited in raw mode (see'-r'). if it's set and no other regular expression matches the annotation, theEDITORgets invoked to edit the annotation. it's the fallback bestie. π«ΆCUSTOM1_REGEXβ the regular expression that identifies annotations openable byCUSTOM1_CMD.CUSTOM1_CMDβ the command with which annotations matchingCUSTOM1_REGEXget opened. you may use these environment variables:$FILE,$UUID,$ID,$LABEL,$ANNOTATIONand$LAST_MATCH. by default, the value of$FILEgets appended to the command. seetaskopen(1)for further details. β¨CUSTOM[0-9]+_REGEXβ seeCUSTOM1_REGEX. same energy, more numbers.CUSTOM[0-9]+_CMDβ seeCUSTOM1_CMD.NO_ANNOTATION_HOOKβ execute an arbitrary script if there is no annotation found. the corresponding taskwarrior IDs get passed as arguments, e.g."attach.sh 21 42". the no-annotation backup plan. πTASK_ATTRIBUTESβ add arbitrary taskwarrior attributes (comma separated) as sort keys and environment variables for use within user commands. 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). so extra. so useful.
π 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/> β go check it out, it's cute. π
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, no notes). 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. obsessed with the flexibility tbh. β¨
π CREDITS & COPYRIGHTS π
copyright (C) 2010 - 2020, J. Schlatow β respect the icon π
taskopen is distributed under the GNU General Public License. see <http://www.opensource.org/licenses/gpl-2.0.php> for more information. (yes bestie, it's GPL, that's the whole vibe.)
π SEE ALSO π
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>
go tell them. they want to know. bug reports are a love language, fr fr. π
okay that's the whole page bestie, you ate that. this was taskopen v1.1.5, dated 2020-02-04, and it's taskopenrc(5) β now go configure something iconic. periodt. π
β¨πΈ
π¦ where this page comes from
- fedora 43: taskopen 1.1.5-12.fc43 Β· GPL-2.0-or-later
- fedora 44: taskopen 1.1.5-13.fc44 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms