waybar-clock - Man Page

clock module

Description

clock module displays current date and time

Files

$XDG_CONFIG_HOME/waybar/config
Per user configuration file

Configuration

1. Addressed by clock

OptionTypeofDefaultDescription
intervalinteger60The interval in which the information gets polled
formatstring{:%H:%M}The format, how the date and time should be displayed. See format options below
timezonestringThe timezone to display the time in, e.g. America/New_York. "" represents the system's local timezone. See Wikipedia's unofficial list of timezones <https://en.wikipedia.org/wiki/List_of_tz_database_time_zones>
timezoneslist of stringsA list of timezones (as in timezone) to use for time display, changed using the scroll wheel. Do not specify timezone option when timezones is specified. "" represents the system's local timezone
localestringA locale to be used to display the time. Intended to render times in custom timezones with the proper language and format
max-lengthintegerThe maximum length in character the module should display
rotateintegerPositive value to rotate the text label
on-clickstringCommand to execute when clicked on the module
on-click-middlestringCommand to execute when you middle clicked on the module using mousewheel
on-click-rightstringCommand to execute when you right-click on the module
on-scroll-upstringCommand to execute when scrolling up on the module
on-scroll-downstringCommand to execute when scrolling down on the module
smooth-scrolling-thresholddoubleThreshold to be used when scrolling
tooltipbooltrueOption to enable tooltip on hover
tooltip-formatstringsame as formatTooltip on hover

View all valid format options in strftime(3) or have a look <https://fmt.dev/latest/syntax.html#chrono-specs>

2. Addressed by clock: calendar

OptionTypeofDefaultDescription
modestringmonthCalendar view mode. Possible values: year|month
mode-mon-colinteger3Relevant for mode=year. Count of months per row
weeks-posintegerThe position where week numbers should be displayed. Disabled when is empty. Possible values: left|right
on-scrollinteger1Value to scroll months/years forward/backward. Can be negative. Is configured under on-scroll option

3. Addressed by clock: calendar: format

OptionTypeofDefaultDescription
monthsstringFormat is applied to months header(January, February,...etc.)
daysstringFormat is applied to days
weeksstring{:%U}Format is applied to week numbers. When weekday format is not provided then is used default format: '{:%W}' when week starts with Monday, '{:%U}' otherwise
weekdaysstringFormat is applied to weeks header(Su,Mo,...etc.)
todaystring<b><u>{}</u></b>Format is applied to Today

Actions

StringAction
modeSwitch calendar mode between year/month
tz_upSwitch to the next provided time zone
tz_downSwitch to the previously provided time zone
shift_upSwitch to the next calendar month/year
shift_downSwitch to the previous calendar month/year

Format Replacements

  • {calendar}: Current month calendar
  • {timezoned_time_list}: List of time in the rest timezones, if more than one timezone is set in the config

Examples

1. General

  "clock": {
  	"interval": 60,
  	"format": "{:%H:%M}",
  	"max-length": 25
  }

2. Calendar

  "clock": {
  	"format": "{:%H:%M}  ",
  	"format-alt": "{:%A, %B %d, %Y (%R)}  ",
  	"tooltip-format": "<tt><small>{calendar}</small></tt>",
  	"calendar": {
  		"mode"          : "year",
  		"mode-mon-col"  : 3,
  		"weeks-pos"     : "right",
  		"on-scroll"     : 1,
  		"on-click-right": "mode",
  		"format": {
  			"months":     "<span color='#ffead3'><b>{}</b></span>",
  			"days":       "<span color='#ecc6d9'><b>{}</b></span>",
  			"weeks":      "<span color='#99ffdd'><b>W{}</b></span>",
  			"weekdays":   "<span color='#ffcc66'><b>{}</b></span>",
  			"today":      "<span color='#ff6699'><b><u>{}</u></b></span>"
  		}
  	},
  	"actions": {
  		"on-click-right": "mode",
  		"on-click-forward": "tz_up",
  		"on-click-backward": "tz_down",
  		"on-scroll-up": "shift_up",
  		"on-scroll-down": "shift_down"
  	}
  },

3. Full date on hover

  "clock": {
  	"interval": 60,
  	"tooltip": true,
  	"format": "{:%H.%M}",
  	"tooltip-format": "{:%Y-%m-%d}",
  }

Style

Troubleshooting

If clock module is disabled at startup with locale::facet::_S_create_c_locale
name not valid error message try one of the following:

  • check if LC_TIME is set properly (glibc)
  • set locale to C in the config file (musl)

The locale option must be set for {calendar} to use the correct start-of-week, regardless of system locale.

Calendar in Chinese. Alignment

In order to have aligned Chinese calendar there are some useful recommendations:

  1. Use "WenQuanYi Zen Hei Mono" which is provided in most Linux distributions
  2. Try different font sizes and find best for you. size = 9pt should be fine
  3. In case when "WenQuanYi Zen Hei Mono" font is used disable monospace font pango tag

Example of working config

  "clock": {
  	"format": "{:%H:%M}  ",
  	"format-alt": "{:%A, %B %d, %Y (%R)}  ",
  	"tooltip-format": "n<span size='9pt' font='WenQuanYi Zen Hei Mono'>{calendar}</span>",
  	"calendar": {
  		"mode"          : "year",
  		"mode-mon-col"  : 3,
  		"weeks-pos"     : "right",
  		"on-scroll"     : 1,
  		"on-click-right": "mode",
  		"format": {
  			"months":     "<span color='#ffead3'><b>{}</b></span>",
  			"days":       "<span color='#ecc6d9'><b>{}</b></span>",
  			"weeks":      "<span color='#99ffdd'><b>W{}</b></span>",
  			"weekdays":   "<span color='#ffcc66'><b>{}</b></span>",
  			"today":      "<span color='#ff6699'><b><u>{}</u></b></span>"
  		}
  	},
  	"actions": {
  		"on-click-right": "mode",
  		"on-click-forward": "tz_up",
  		"on-click-backward": "tz_down",
  		"on-scroll-up": "shift_up",
  		"on-scroll-down": "shift_down"
  	}
  },

Author

Alexis Rouillard <contact@arouillard.fr>

Referenced By

waybar(5).

2024-01-29 User Manual