GSIMPLECAL(1)

NAME
gsimplecal - lightweight calendar applet

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

DESCRIPTION
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.

COMMANDS AND OPTIONS

-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.

CONFIGURATION

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
    close_on_mouseleave = 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 =
    clock_label = BST
    clock_tz = :Europe/London
    clock_label = EDT
    clock_tz = :US/Eastern
    clock_label = CDT
    clock_tz = :US/Central

  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

close_on_mouseleave: 1 or 0, defaults to 0.
    Sets whether the calendar will close if the mouse pointer leaves the window.

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:

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

center
    in the center of the screen;

none
    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 how to specify different time zone see man timezone. Usually it is a string in the format ":{Area}/{Location}", but really is a colon followed by the relative path to file that stores timezone information. Usually the directory containing the files is /usr/share/zoneinfo, so just look at the directory listing and pick the files you need.

KEYBOARD ACCELERATORS

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

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

Return
    Run the external viewer on the selected day.

n   Switch to the next month.

p   Switch to the previous month.

N   Jump one year forward.

P   Jump one year backward.

hjkl
    Vi-style dates navigation:

    h -> left

    j -> down

    k -> up

    l -> right

g, Home
    Jump to the current date.

REPORTING BUGS

Please, report any issues to the gsimplecal issue tracker, available at: https://github.com/dmedvinsky/gsimplecal/issues

AUTHOR
Created by Dmitry Medvinsky et al.

SEE ALSO
tzset(3), strftime(3)