-
-
Notifications
You must be signed in to change notification settings - Fork 720
Module: Clock
Joseph Chacko edited this page Sep 1, 2024
·
44 revisions
The clock
module displays the current date and time.
Note: There are two clock
implementations:
-
clock
: Fully consistent with what is written below. This is enabled if either one of the following build time conditions is met:
- C++20 with __cpp_concepts >= 201907 (gcc >=13)
- date.h is installed
-
simpleclock
: Provides only date time functionality. That's it. Conditions for using: False the first point.
Addressed by clock
option | typeof | default | description |
---|---|---|---|
interval |
integer | 60 | The interval in which the information gets polled. |
format |
string | {:%H:%M} |
The format, how the date and time should be displayed. See format options here. |
timezone |
string | The timezone to display the time in, e.g. America/New_York. See Wikipedia's unofficial list of timezones. | |
timezones |
list of strings | A 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. |
|
locale |
string | A locale to be used to display the time. Intended to render times in custom timezones with the proper language and format. | |
max-length |
integer | The maximum length in character the module should display. | |
rotate |
integer | Positive value to rotate the text label. | |
on-click |
string | Command to execute when clicked on the module. | |
on-click-middle |
string | Command to execute when you middle clicked on the module using mousewheel. | |
on-click-right |
string | Command to execute when you right clicked on the module. | |
on-scroll-up |
string | Command to execute when scrolling up on the module. | |
on-scroll-down |
string | Command to execute when scrolling down on the module. | |
smooth-scrolling-threshold |
double | Threshold to be used when scrolling. | |
tooltip |
bool | true | Option to enable tooltip on hover |
tooltip-format |
string | same as format | Tooltip on hover. Can also show a list of clocks in other timezones. See below the example using the property tz_list . |
Addressed by clock: calendar
option | typeof | default | description |
---|---|---|---|
mode |
string | month | Calendar view mode. Possible values: year|month |
mode-mon-col |
integer | 3 | Relevant for mode=year . Count of months per row |
weeks-pos |
string | The position where week numbers should be displayed. Disabled when is empty. Possible values: left|right | |
on-scroll |
integer | 1 | Value to scroll months/years forward/backward. Can be negative. Is configured under on-scroll option |
Addressed by clock: calendar: format
option | typeof | default | description |
---|---|---|---|
months |
string | Format is applied to months header(January, February,...etc.) | |
days |
string | Format is applied to days | |
weeks |
string | {:%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 |
weekdays |
string | Format is applied to weeks header(Su,Mo,...etc.) | |
today |
string | <b><u>{}</u></b> |
Format is applied to Today |
string | action |
---|---|
mode |
Switch calendar mode between year/month |
tz_up |
Switch to the next provided time zone |
tz_down |
Switch to the previous provided time zone |
shift_up |
Switch to the next calendar month/year |
shift_down |
Switch to the previous calendar month/year |
shift_reset |
Switch to current calendar month/year |
- General
"clock": {
"interval": 60,
"format": "{:%H:%M}",
"max-length": 25
}
- 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,
"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-scroll-up": "tz_up",
"on-scroll-down": "tz_down",
"on-scroll-up": "shift_up",
"on-scroll-down": "shift_down"
}
},
- Full date on hover
"clock": {
"interval": 60,
"tooltip": true,
"format": "{:%H.%M}",
"tooltip-format": "{:%Y-%m-%d}",
}
- Show in the clock tooltip a list of clocks from other timezones
"clock": {
"format": "{:%H:%M:%S (%Z)}",
"tooltip-format": "{tz_list}",
"timezones": [
"Etc/UTC",
"America/New_York",
"America/Montevideo",
"America/Los_Angeles",
"Asia/Tokyo"
]
}
#clock
If clock module is disabled at startup with locale::facet::_S_create_c_locale name not valid
error message try one of the followings:
- check if
LC_TIME
is set properly (glibc) - set locale to
C
in the config file (musl)
If using clock
instead of simpleclock
, the locale will default to C
regardless of the locale settings. To override this behavior you have to perpend L
to the formatting string. For example, {:%a %m %d}
becomes {:L%a %m %d}
.
The locale
option must be set for {calendar} to use the correct start-of-week, regardless of system locale.
In order to have aligned Chinese calendar there are some useful recommendations:
- Use "WenQuanYi Zen Hei Mono" which is provided in most Linux distributions
- Try different font sizes and find best for you. size = 9pt should be fine
- 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": "{:L%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,
"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"
}
},
- Home
- Installation
- Configuration
- Styling
- Examples
- FAQ
- Modules:
- Backlight/Slider
- Backlight
- Battery
- Bluetooth
- CPU
- Cava
- Clock
- Custom
- DWL
- Disk
- Gamemode
- Group
- Hyprland
- Idle Inhibitor
- Image
- JACK
- Keyboard State
- Language
- Load
- MPD
- MPRIS
- Memory
- Network
- Niri
- Power Profiles Daemon
- Privacy
- PulseAudio/Slider
- PulseAudio
- River
- Sndio
- Sway
- Systemd failed units
- Taskbar
- Temperature
- Tray
- UPower
- User
- WirePlumber
- Workspaces
- Writing Modules