Scroll to navigation



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 =

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 =

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

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
category 2:
  entry1                                      MM
  entry2                                   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:

# Be sure to change these if you want to email the reports somewhere
name = Anonymous
list-email =
# 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.



Configuration file.

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.
Use ~/.config/gtimelog/gtimelogrc.




Marius Gedminas <>


Marius Gedminas
2013-12-23 0.9.1