gsimplecal(1) lightweight calendar applet


gsimplecal [-h|--help|-v|--version|next_month|prev_month]


This manual page documents the usage of the gsimplecal command.

gsimplecal is a lightweight calendar applet. When it is started, it first shows up, when you run it again, it closes the running instance, thus making it very easy to integrate anywhere without the need to make some wrapper scripts.

It was intentionally made for use with tint2 panel to be launched upon clock click, but of course it will work with any other panel, or no panel at all. For example you can bind it to some hotkey in you window manager config.

You may also configure gsimplecal to display different world time zones clocks. See the CONFIGURATION section for details.


-v, --version
Print the program name and version to stdout, then exit with code 0.

-h, --help
Print the short usage help to stderr, then exit with error code 2.

prev_month, next_month
If the program is not running, simply run it. If the program is running, change currently displayed month.

If no options and commands are given, the program is toggled, i.e. if it is running it stops, otherwise it starts.


To configure the application you should manually create the configuration file. The file is first searched in $XDG_CONFIG_HOME/gsimplecal/config. Usually that will be ~/.config/gsimplecal/config.

If found, it is used. If not found, system-wide configuration is searched in all the $XDG_CONFIG_DIRS/gsimplecal/config locations.

Sample config file

show_calendar = 1
show_timezones = 1
mark_today = 1
show_week_numbers = 0
close_on_unfocus = 0
external_viewer = sunbird -showdate "%Y-%m-%d"
clock_format = %a %d %b %H:%M
force_lang = en_US.utf8
mainwindow_decorated = 0
mainwindow_keep_above = 1
mainwindow_sticky = 0
mainwindow_skip_taskbar = 1
mainwindow_resizable = 0
mainwindow_position = none
mainwindow_xoffset = 0
mainwindow_yoffset = 0
clock_label = UTC
clock_tz = :UTC
clock_label = Local
clock_tz =

Config options description

The options are pretty self explanatory, but here is detailed description:

show_calendar: 1 or 0, defaults to 1.
Sets whether the calendar should be shown. Most users want this option to be 1.

show_timezones: 1 or 0, defaults to 0.
Sets whether the different time zone clocks should be shown.

mark_today: 1 or 0, defaults to 1.
Sets whether today's date will be marked in the calendar (besides the default selection, i.e. when you click on the other day, today will remain marked somehow, e.g. in bold print).

show_week_numbers: 1 or 0, defaults to 0.
Sets whether week numbers are shown in the calendar.

close_on_unfocus: 1 or 0, defaults to 0.
Sets whether the calendar will close if the window loses focus. Note that if mainwindow_skip_taskbar is set to 1 then the calendar window may not be given focus upon creation

external_viewer: string, defaults to empty string.
Command line to run when doubleclicking a date. This string is strftime'd (see man strftime for the possible substitutions) and passed to the shell. Thus you can use pipes, redirections, and whatever, I hope.
Currently the shell is hardcoded to /bin/sh though. I hope that will do for all the users, but if you've got a trouble, please file a ticket (see REPORTING BUGS).

clock_format: string
Sets the clocks format. Look man strftime for the possible formats.

force_lang: string
Overrides the LANG environment variable, thus making it possible to change the first day of week, i.e. choose if Monday or Sunday goes first. Basically it's the same as running gsimplecal as

    LANG=en_GB.utf8 gsimplecal

Must be one of locale -a output.

mainwindow_decorated: 1 or 0, defaults to 0.
Tells your window manager to decorate or not to decorate the main window.

mainwindow_keep_above: 1 or 0, defaults to 1.
Sets whether the main window should be placed on top of other windows by your window manager.

mainwindow_sticky: 1 or 0, defaults to 0.
Tells your window manager to show gsimplecal on all desktops.

mainwindow_skip_taskbar: 1 or 0, defaults to 1.
Sets whether the main window should be shown in the task list by your panel or window manager.

mainwindow_resizable: 1 or 0, defaults to 1.
Sets whether your window manager should allow the main window to be resized. If you are using a tiling window manager which supports floating windows, setting this options to 0 will most likely tell your WM not to tile the window. (Tested with XMonad and Awesome).

mainwindow_position: mouse|center|none, defaults to mouse.
Tells your window manager where to place the gsimplecal window:


close to the mouse cursor position (this one is useful when you bind gsimplecal on some mouse click command);


in the center of the screen;


it's up to your window manager to decide, where to place the window (this one is useful when you bind gsimplecal invocation on some hotkey, so you can configure your window manager to place gsimplecal in some predefined position).

mainwindow_xoffset and mainwindow_yoffset: integer, default to 0.
Allow for main window position fine tuning. Throw an integer at these, and it'll move the window by that number of pixels.

clock_label and clock_tz: string
These two options should go in pairs and must be in the order given.
Each pair creates new clock. The clock_label variable sets the string to be displayed near the clock, the clock_tz sets the time zone.
If you omit the value for clock_tz, local time will be shown.
For a list of time zones see man timezone, or ls /usr/share/zoneinfo


You may use the following keyboard accelerators while gsimplecal window has a focus (not yet configurable):

Escape, Ctrl+w, Ctrl+q
Close the window.

Switch to the next month.

Switch to the previous month.

Jump one year forward.

Jump one year backward.

Vi-style dates navigation:

h -> left

j -> down

k -> up

l -> right

g, Home
Jump to the current date.


Please, report any issues to the gsimplecal issue tracker, available at:


Created by Dmitry Medvinsky et al.