02 Jun 2025
Announcing Casual Timezone
Because the Internet, it is a blessing of our time that interacting with people in different time zones is commonplace. In this, the question is often raised: “what time is it there?” This is routinely answered using a clock app or a website.
While Emacs has long had the ability to make time zone calculations, it seemed overdue to have tooling that takes advantage of it.
Announcing Casual Timezone, now available as part of the Casual v2.5.0 update on MELPA.
The following screencast shows Casual Timezone in action, in this case a meeting planner (command: casual-timezone-planner
) that compares the hours with your local time zone with that of another.
Casual Timezone also lets you directly ask:
- “What time is it over there?” (command:
casual-timezone-local-time-to-remote
) - “That time over there, what is it here?” (command:
casual-timezone-remote-time-to-local
)
Note that at current, Casual Timezone only supports Unix-variant systems as it relies on the tz database. It has been tested on macOS 15.5 and Ubuntu Linux 22.04. Sorry Windows users, but I’m open for a PR for Windows support if a workaround for zoneinfo is available.
Closing Thoughts
With experience, I’ve learned to be humble about working with time APIs. While I’ve done much to ensure the results are accurate, I would not be surprised if there are bugs, especially for a first release. Let me know if you find any.
On reflection, putting Casual Timezone together was relatively easy as it was largely an exercise in integrating different Elisp packages:
- From Org, the command
org-read-date
provided the date picker UI. - Built-in completion provided the UI for selecting a time zone.
vtable
provided the table interface forcasual-timezone-planner
.- The table interface was configured as a derived mode to provide mode-specific behavior.
- The built-in time functions were used for time zone calculations and formatting.
- Transient provided support for menus.
Gonna call this an Elisp code-reuse success story.
References
Past Articles
8 MAY 2025 |
Opening the Emacs Initialization File, or First Impressions MatterOpening the Emacs initialization file for new users is harder than it needs to be. read more |
28 APR 2025 |
Announcing Scrim - An Org Protocol Proxy for Emacs on macOSAnnouncing Scrim, an Org Protocol proxy for Emacs on macOS. read more |
25 APR 2025 |
Sorting Strings in a Line in EmacsNeed to sort strings in a line? Emacs |
14 APR 2025 |
Making an App, Looking for Beta TestersScrim is a macOS utility I've written to act as a proxy for Org Protocol requests. It is in BETA test and I’m looking for testers. read more |
23 MAR 2025 |
NFDN Finally Supporting OS Appearance ChangesBetter late than never. This blog now supports OS appearance changes. read more |
13 MAR 2025 |
Announcing Casual MakeAnnouncing Casual Make, an interface for editing Makefiles. read more |
10 MAR 2025 |
Announcing Calle 24Announcing Calle 24, an Emacs package to substitute tool bar icons with SF Symbols. Now available on MELPA. read more |
25 FEB 2025 |
Moment - Tuesday February 25, 2025 17:25 PSTPhoto taken Tuesday February 25, 2025 17:25 PST at Fort Point. read more |
18 FEB 2025 |
macOS Native Emoji Picking in Emacs from the Edit MenuDo you miss “Emoji & Symbols” at the bottom of the Edit menu for NS Emacs? This post shows how to fix that. read more |
Page 1 / 15 >