gtimelogrc man page
gtimelogrc — gtimelog configuration file
This is the configuration file for gtimelog(1). It is a pretty standard INI file as recognized by Python's ConfigParser, which means:
- it consists of sections, led by a [name] header
- values are specified as name = value (or name: value)
- values can be continued across multiple lines if continuation lines start with whitespace
- comments are lines starting with # or ;
- if the same value appears multiple times, new appearances override old ones
Only one section is important to gtimelog: [gtimelog]. Within it you can specify the following settings:
recipient address for activity reports
Example: name = firstname.lastname@example.org
your name as it should appear in the reports
Example: name = Marius
command to launch your email client.
If %s appears in the command, it will be replaced by the filename of the draft of the email. If %s doesn't appear, it will be added to the end of the command.
Example: mailer = gedit will just open the report in GEdit, useful if you don't want to send it to anyone.
Example: mailer = x-terminal-emulator -e mutt -H %s (which is the default setting) will open Mutt with the draft in a terminal. x-terminal-emulator is a Debianism.
Example: mailer = S='%s'; thunderbird -compose "to='$(cat $S|head -1|sed -e "s/^To: //")',subject='$(cat $S|head -2|tail -1|sed -e "s/^Subject: //")',body='$(cat $S|tail -n +4)'" will open Thunderbird with the draft.
text editor to be used for editing timelog.txt
If %s appears in the command, it will be replaced by the filename of the timelog.txt file. If %s doesn't appear, it will be added to the end of the command.
Example: editor = xdg-open (the default value) opens whichever program is associated with .txt files on your system.
program used to display CSV reports
If %s appears in the command, it will be replaced by the filename of the CSV report. If %s doesn't appear, it will be added to the end of the command.
Example: spreadsheet = xdg-open (the default value) opens whichever program is associated with .csv files on your system.
- chronological, summary_view
select the initial detail level
GTimeLog can show you one of three detail levels:
- chronological (Alt+1) shows all the entries in order
- grouped (Alt+2) shows only work entries, grouped by title
- summary (Alt+3) shows only categories of work entries, grouped
# start in chronological view chronological = True summary_view = False
# start in grouped view chronological = False summary_view = False
# start in summary view summary_view = True
should the task pane be shown on startup?
Example: show_tasks = True
should the input box show an autocompletion popup?
If set to True, the Up and Down keys navigate the completion popup menu.
If set to False, the Up and Down keys trigger prefix-completion in the input box.
Note that PageUp and PageDown keys always trigger prefix-completion, so there's no good reason to ever disable this option.
Example: enable_gtk_completion = True
goal for the number of hours of work in a day
This is used to display the "Time left at work" estimate.
Example: hours = 4
hour in the morning when it's safe to assume you're not staying up working any more.
Any work done between midnight and "virtual midnight" will be attributed to the previous calendar day.
Example: virtual_midnight = 2:00 (the default setting)
Warning: changing this setting may mean that old reports can no longer be correctly reconstructed from timelog.txt
URL for downloading the task list
If not set, tasks will be read from a local file (tasks.txt in the gtimelog data directory)
If set, tasks will be loaded from the specified URL (but only when you right-click and explicitly ask for a refresh). GTimeLog expects a text/plain response with a list of tasks, one per line. At the time of this writing GTimeLog doesn't show HTTP authentication prompts, so if you need auth, you need to put your username and password into the URL.
This feature is mostly useless.
Example: task_list_url = (the default setting)
Example: task_list_url = https://wiki.example.com/Project/Tasks/raw
command for editing the task list
Example: edit_tasklist_cmd = (the default setting) means that the "Edit task list" command in the popup menu will be disabled.
Example: edit_tasklist_cmd = xdg-open ~/.local/share/gtimelog/tasks.txt
Example: edit_tasklist_cmd = xdg-open https://wiki.example.com/Project/Tasks/edit
Bug: this command should support %s for specifying the full tasks.txt pathname, but it doesn't.
whether to show "At office today: NN hours, NN minutes" in the main window
Example: show_office_hours = True
whether to show a notification icon
Example: show_tray_icon = True
what kind of tray icon do you prefer?
GTimeLog supports two kinds:
- Unity application indicator
- a standard Gtk+ status icon
Support for each is conditional on the availability of installed libraries.
# prefer Unity application indicators, then fall back to the Gtk+ # status icon. prefer_app_indicator = True
# prefer the Gtk+ status icon, then fall back to Unity app indicator. prefer_app_indicator = False
whether GTimeLog should start minimized
This can also be achieved by running gtimelog --tray, so the option is of little use.
This option is ignored if GTimeLog is not using a tray icon (because show_tray_icon is set to False, or if you're missing all the libraries).
Example:: start_in_tray = False
choose one of the available report styles for weekly and monthly reports
Example:: report_style = plain (the default)
The report looks like this:
cat1: entry1 N h N min cat1: entry2 N h N min cat2: entry1 N h N min Total work done this week: N hours N min By category: cat1: N hours N min cat2: N hours N min
Example:: report_style = categorized
The report looks like this:
category 1: entry1 MM entry2 HH:MM ------------------------------------------------ HH:MM category 2: entry1 MM entry2 HH:MM ------------------------------------------------ HH:MM Total work done this week: HH:MM Categories by time spent: category 1 HH:MM category 2 HH:MM
Example of ~/.config/gtimelog/gtimelogrc:
[gtimelog] # Be sure to change these if you want to email the reports somewhere name = Anonymous list-email = email@example.com # Don't want email? Just look at reports in a text editor mailer = gedit %s # Set a goal for 7 hours and 30 minutes of work per day hours = 7.5 # I'll never stay up working this late virtual_midnight = 06:00 # Disable the tray icon show_tray_icon = no # Hide the Tasks pane on startup show_tasks = no
The config file should not be necessary. GTimeLog should figure out the right programs by looking at your desktop preferences; it should remember the view options from a previous invocation; and it should have a GUI way for specifying things such as your name or the report mailing list.
GTimeLog determines the location for the config file as follows:
If the environment variable GTIMELOG_HOME is set, use $GTIMELOG_HOME/gtimelogrc.
If ~/.gtimelog/ exists, use ~/.gtimelog/gtimelogrc.
If the environment variable XDG_CONFIG_HOME is set, use $XDG_CONFIG_HOME/gtimelog/gtimelogrc.
Marius Gedminas <firstname.lastname@example.org>