Skip to content

Instantly share code, notes, and snippets.

@thecatwasnot
Created October 17, 2010 23:38
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save thecatwasnot/631451 to your computer and use it in GitHub Desktop.
Save thecatwasnot/631451 to your computer and use it in GitHub Desktop.
GTD w/Linux notify-send/conky/remind/task
# Create own window instead of using desktop (required in nautilus)
# own_window yes
# own_window_type override
background no
own_window yes
own_window_type normal
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes
# fiddle with window
use_spacer right
# Use Xft?
use_xft yes
xftfont Monospace:size=8
xftalpha 0.8
text_buffer_size 2048
# Update interval in seconds
update_interval 3.0
# Minimum size of text area
# minimum_size 250 5
# maximum_width 300
# Draw shades?
draw_shades no
# Text stuff
draw_outline no # amplifies text if yes
draw_borders no
uppercase no # set to yes if you want all text to be in uppercase
# Stippled borders?
stippled_borders 0
# border width
border_width 10
# Default colors and also border colors, grey90 == #e5e5e5
default_color grey90
color0 4682b4 # 'header' color
own_window_colour brown
# Text alignment, other possible values are commented
#alignment top_left
#alignment top_right
#alignment bottom_left
alignment bottom_right
# Gap between borders of screen and text
gap_x 20
gap_y 30
# Rounded corners and 'transparency' w/cairo
#lua_load ~/.conky/draw_bg.lua
#lua_draw_hook_pre draw_bg
# ********************************************************************************* #
# stuff after 'TEXT' will be formatted on screen
TEXT
$color0${font Sans:bold:size=9}DATE${font} ${hr 2}$color
${alignc 17}${font Sans:size=16}${time %H:%M}${font}
${alignc}${time %A %d %B %Y}
$color0${font Sans:bold:size=9}REMINDERS${font} ${hr 2}$color
${execi 30 ~/.conky/reminders.sh}
$color0${font Sans:bold:size=9}TODO${font} ${hr 2}$color
${exec ~/.conky/taskconky.sh /tmp/shadow.txt}
# [Created by task 1.9.2 7/28/2010 13:10:05]
# Task program configuration file.
# For more documentation, see http://taskwarrior.org or try 'man task', 'man task-faq',
# 'man task-tutorial', 'man task-color' or 'man taskrc'
# Here is an example of entries that use the default, override and blank values
# variable=foo -- By specifying a value, this overrides the default
# variable= -- By specifying no value, this means no default
# #variable=foo -- By commenting out the line, this uses the default
# Files
data.location=/home/pixel/.task
locking=on # Use file-level locking
# Terminal
curses=on # Use ncurses library to determine terminal width
defaultwidth=200 # Without ncurses, assumed width
editor=nano # Preferred text editor
# Miscellaneous
confirmation=yes # Confirmation on delete, big changes
echo.command=yes # Details on command just run
annotations=full # Level of verbosity for annotations: full, sparse or none
next=2 # How many tasks per project in next report
bulk=2 # > 2 tasks considered 'a lot', for confirmation
nag=You have higher priority tasks. # Nag message to keep you honest
search.case.sensitive=no # Setting to no allows case insensitive searches
active.indicator=* # What to show as an active task indicator
tag.indicator=@ # What to show as a tag indicator
recurrence.indicator=R # What to show as a task recurrence indicator
recurrence.limit=1 # Number of future recurring pending tasks
undo.style=side # Undo style - can be 'side', or 'diff'
# Dates
dateformat=m/d/Y # Preferred input and display date format
dateformat.holiday=YMD # Preferred input date format for holidays
dateformat.report=m/d/Y # Preferred display date format for reports
dateformat.annotation=m/d/Y # Preferred display date format for reports
weekstart=Sunday # Sunday or Monday only
displayweeknumber=yes # Show week numbers on calendar
due=7 # Task is considered due in 7 days
# Calendar controls
calendar.legend=yes # Display the legend on calendar
calendar.details=sparse # Calendar shows information for tasks w/due dates: full, sparse or none
calendar.details.report=list # Report to use when showing task information in cal
calendar.holidays=none # Show public holidays on calendar:full, sparse or none
#monthsperline=3 # Number of calendar months on a line
# Color controls.
color=on # Enable color
color.header=color3 # Color of header messages
color.footnote=color3 # Color of footnote messages
color.debug=color3 # Color of diagnostic output
color.summary.bar=on rgb141 # Color of summary report progress bar
color.summary.background=on color0 # Color of summary report background
color.history.add=color0 on rgb500 # Color of added tasks in ghistory report
color.history.done=color0 on rgb050 # Color of completed tasks in ghistory report
color.history.delete=color0 on rgb550 # Color of deleted tasks in ghistory report
color.undo.before=color1 # Color of values before a change
color.undo.after=color2 # Color of values after a change
color.calendar.today=color15 on rgb013 # Color of today in calendar
color.calendar.due=color0 on color1 # Color of days with due tasks in calendar
color.calendar.due.today=color15 on color1 # Color of today with due tasks in calendar
color.calendar.overdue=color0 on color9 # Color of days with overdue tasks in calendar
color.calendar.weekend=color235 # Color of weekend days in calendar
color.calendar.holiday=color0 on color11 # Color of public holidays in calendar
color.calendar.weeknumber=rgb013 # Color of the weeknumbers in calendar
# The following rules are presented in their order of precedence.
# The higher the color rule is up this list, the higher precedence
# it has in determining the color for the task. Precedence is shown
# in brackets [1]
color.recurring=rgb013 # [1] Color of recur.any: tasks
color.overdue=color9 # [2] Color of overdue tasks
color.due.today=rgb400 # [3] Color of tasks due today
color.due=color1 # [4] Color of due tasks
#color.keyword.car=on blue # [5] Color of description.contains:car tasks
#color.project.garden=on green # [6] Color of project:garden tasks
#color.tag.bug=yellow # [7] Color of +bug tasks
color.active=rgb555 on rgb410 # [8] Color of active tasks
color.pri.none= # [9] Color of priority: tasks
color.pri.H=rgb255 # [9] Color of priority:H tasks
color.pri.M=rgb250 # [9] Color of priority:M tasks
color.pri.L=rgb245 # [9] Color of priority:L tasks
color.tagged=rgb031 # [10] Color of tagged tasks
color.alternate=on color233 # [11] Alternate color for line coloring
# Including dark on green theme...
include /usr/share/doc/task/rc/dark-blue-256.theme
# Shadow file support
shadow.file=/tmp/shadow.txt # Location of shadow file
shadow.command=conky # Task command for shadow file
#shadow.notify=on # Footnote when updated
#default.project=foo # Default project for 'add' command
#default.priority=M # Default priority for 'add' command
default.command=list # When no arguments are specified
_forcecolor=no # Forces color to be on, even for non TTY output
blanklines=true # Use more whitespace in output
complete.all.projects=no # Include old project names in '_projects' command
complete.all.tags=no # Include old tag names in '_ags' command
list.all.projects=no # Include old project names in 'projects' command
list.all.tags=no # Include old tag names in 'tags' command
debug=no # Display diagnostics
hooks=off # Hook system master switch
fontunderline=yes # Uses underlines rather than -------
shell.prompt=task> # Prompt used by the shell command
# Import heuristics - alternate names for fields (comma-separated list of names)
#import.synonym.bg=?
#import.synonym.description=?
#import.synonym.due=?
#import.synonym.end=?
#import.synonym.entry=?
#import.synonym.fg=?
#import.synonym.id=?
#import.synonym.priority=?
#import.synonym.project=?
#import.synonym.recur=?
#import.synonym.start=?
#import.synonym.status=?
#import.synonym.tags=?
#import.synonym.uuid=?
# Export Controls
export.ical.class=PRIVATE # Could be PUBLIC, PRIVATE or CONFIDENTIAL
# Aliases - alternate names for commands
alias.rm=delete # Alias for the delete command
alias.history=history.monthly # Prefer monthly over annual history reports
alias.ghistory=ghistory.monthly # Prefer monthly graphical over annual history reports
alias.export=export.csv # Prefer CSV over iCal export
alias.export.vcalendar=export.ical # They are the same
# Fields: id,uuid,project,priority,priority_long,entry,entry_time,
# start,entry_time,due,recur,recurrence_indicator,age,
# age_compact,active,tags,tag_indicator,description,
# description_only,end,end_time,countdown,countdown_compact
# Description: This report is ...
# Sort: due+,priority-,project+
# Filter: pro:x pri:H +bug limit:10
# Dateformat: due date format in reports
# task long
report.long.description=Lists all task, all data, matching the specified criteria
report.long.columns=id,project,priority,entry,start,due,recur,countdown,age,tags,description
report.long.labels=ID,Project,Pri,Added,Started,Due,Recur,Countdown,Age,Tags,Description
report.long.sort=due+,priority-,project+
report.long.filter=status:pending
#report.long.dateformat=m/d/Y
#report.long.annotations=full
# task list
report.list.description=Lists all tasks matching the specified criteria
report.list.columns=id,project,priority,due,active,age,description
report.list.labels=ID,Project,Pri,Due,Active,Age,Description
report.list.sort=due+,priority-,active-,project+
report.list.filter=status:pending
#report.list.dateformat=m/d/Y
#report.list.annotations=full
# task ls
report.ls.description=Minimal listing of all tasks matching the specified criteria
report.ls.columns=id,project,priority,description
report.ls.labels=ID,Project,Pri,Description
report.ls.sort=priority-,project+
report.ls.filter=status:pending
#report.ls.dateformat=m/d/Y
#report.ls.annotations=full
# task minimal
report.minimal.description=A really minimal listing
report.minimal.columns=id,project,description
report.minimal.labels=ID,Project,Description
report.minimal.sort=project+,description+
report.minimal.filter=status:pending
#report.minimal.dateformat=m/d/Y
#report.minimal.annotations=full
# task newest
report.newest.description=Shows the newest tasks
report.newest.columns=id,project,priority,due,active,age,description
report.newest.labels=ID,Project,Pri,Due,Active,Age,Description
report.newest.sort=id-
report.newest.filter=status:pending limit:10
#report.newest.dateformat=m/d/Y
#report.newest.annotations=full
# task oldest
report.oldest.description=Shows the oldest tasks
report.oldest.columns=id,project,priority,due,active,age,description
report.oldest.labels=ID,Project,Pri,Due,Active,Age,Description
report.oldest.sort=id+
report.oldest.filter=status:pending limit:10
#report.oldest.dateformat=m/d/Y
#report.oldest.annotations=full
# task overdue
report.overdue.description=Lists overdue tasks matching the specified criteria
report.overdue.columns=id,project,priority,due,active,age,description
report.overdue.labels=ID,Project,Pri,Due,Active,Age,Description
report.overdue.sort=due+,priority-,active-,project+
report.overdue.filter=status:pending due.before:today
#report.overdue.dateformat=m/d/Y
#report.overdue.annotations=full
# task active
report.active.description=Lists active tasks matching the specified criteria
report.active.columns=id,project,priority,due,active,age,description
report.active.labels=ID,Project,Pri,Due,Active,Age,Description
report.active.sort=due+,priority-,project+
report.active.filter=status:pending start.any:
#report.active.dateformat=m/d/Y
#report.active.annotations=full
# task completed
report.completed.description=Lists completed tasks matching the specified criteria
report.completed.columns=end,project,priority,age,description
report.completed.labels=Complete,Project,Pri,Age,Description
report.completed.sort=end+,priority-,project+
report.completed.filter=status:completed
#report.completed.dateformat=m/d/Y
#report.completed.annotations=full
# task recurring
report.recurring.description=Lists recurring tasks matching the specified criteria
report.recurring.columns=id,project,priority,due,recur,active,age,description
report.recurring.labels=ID,Project,Pri,Due,Recur,Active,Age,Description
report.recurring.sort=due+,priority-,active-,project+
report.recurring.filter=status:pending parent.any:
#report.recurring.dateformat=m/d/Y
#report.recurring.annotations=full
# task waiting
report.waiting.description=Lists all waiting tasks matching the specified criteria
report.waiting.columns=id,project,priority,wait,age,description
report.waiting.labels=ID,Project,Pri,Wait,Age,Description
report.waiting.sort=wait+,priority-,project+
report.waiting.filter=status:waiting
#report.waiting.dateformat=m/d/Y
#report.waiting.annotations=full
# task all
report.all.description=Lists all tasks matching the specified criteria
report.all.columns=id,project,priority,due,active,age,description
report.all.labels=ID,Project,Pri,Due,Active,Age,Description
report.all.sort=due+,priority-,active-,project+
#report.all.dateformat=m/d/Y
#report.all.annotations=full
# task next
report.next.description=Lists the most urgent tasks
report.next.columns=id,project,priority,due,active,age,description
report.next.labels=ID,Project,Pri,Due,Active,Age,Description
report.next.sort=due+,priority-,active-,project+
report.next.filter=status:pending limit:page
#report.next.dateformat=m/d/Y
#report.next.annotations=full
# task conky
report.conky.description=Shows the newest tasks
report.conky.columns=due,project,priority,description
report.conky.labels=
report.conky.sort=project+,priority-,due+
report.conky.filter=status:pending limit:10
report.conky.dateformat=m/d
report.conky.annotations=none
#!/bin/bash
# reminders.sh
# copyright 2010 by Mobilediesel
#This program is free software: you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
#the Free Software Foundation, either version 3 of the License, or
#(at your option) any later version.
#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#GNU General Public License for more details.
#You should have received a copy of the GNU General Public License
#along with this program. If not, see <http://www.gnu.org/licenses/>.
#reminders=$(remind -h | fold -sw55 | sed -e "s/.*(today):/\${color grey}&\${color 99ccff}/" -e '/^$/d')
reminders=$(remind -q -r ~/.reminders | fold -sw55 | sed -e "/.*(today):/d" -e '/^$/d')
echo "$reminders"
#!/bin/bash
# remind me, its important!
# usage: remme <time> <text>
# adapted from: http://usalug.org/phpBB2/viewtopic.php?t=13209&sid=a641eb81eff1925e714a2fc6576e8a13
title="Remind Me:"
message="${@:2}"
if [[ "${1:0:1}" == "@" ]]
then
echo "notify-send --icon=dialog-information \"$title\" \"$message\"" | at ${1:1}
else
sleep $1 && notify-send --icon=dialog-information "$title" "$message" &
fi
#!/bin/bash
# CONKY Task Manager
width=55
shortwidth=$(( $width - 3 ))
# Set the field seperator to a newline
IFS="
"
# Loop through the file
linenum=0
for line in `cat $1`;do
linenum=$(( $linenum + 1 ))
# echo $linenum
if [ $linenum -gt 2 ] ; then
count=`echo $line |wc -c`
# echo $count
if [ $count -gt $width ]; then
temp=${line:0:$shortwidth}
echo $temp...
elif [ $count -lt $width ]; then
echo $line
fi
else
temp=${line:0:$width}
echo $temp
fi
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment