A stylish Übersicht widget that displays the current time and date in a code-like format, inspired by developer aesthetics. It uses a monospaced font and color-coded syntax using colors from the Catppuccin Frappe palette (see palette) to make your desktop look like a modern IDE.
- Shows year, month, day, weekday, hour, minute, and second
- Displays day progress as a percentage
- Supports multiple languages (English, German, Dutch)
- 12h/24h clock format toggle
- Customizable appearance with Hack Nerd Font Mono
This widget was refactored and improved. Key changes since the original CoffeeScript version:
- Rewritten from CoffeeScript to a React/JSX Übersicht widget (
index.jsx).- Removed jQuery DOM updates/afterRender approach and replaced with Übersicht render +
updateStatereturn values.
- Removed jQuery DOM updates/afterRender approach and replaced with Übersicht render +
- Consolidated settings:
settingsis now an exported object (e.g.settings = { lang: "en", clock12h: false }).clock12his nowsettings.clock12h(toggle 12h/24h there).
- Locale object preserved and exported as
localewith the same translations (en, de, nl). - Styling migrated to JS
csshelper (fontFaceandcontainerstyles exported).- Font face now exported as
fontFaceand still loadsHackNerdFontMono-Regular.ttf. - Syntax highlight colors are implemented as JS/CSS constants (e.g.
constClass,property,bracket).
- Font face now exported as
- Live data:
updateState()returns an object with: hours, minutes, seconds, weekday, day, month, monthNum, year, ampm, dayProgress.- Day progress calculation uses the full 24h reference while still supporting 12h display.
- Exported Übersicht fields:
refreshFrequencyset to 1000 ms (1s).commanddefault changed toecho 'Loading...'to provide an initial render.
- Render:
- JSX
renderuses the returned state fields and conditionally shows theampmfield whensettings.clock12his true. - Formatting changed to use monospace font and inline syntax-highlight spans for a code-like look.
- JSX
- Removed the old
index.coffeebehavior and DOM-manipulation approach in favor of a pure render/updateState flow.
- Download or clone this repository.
- Place the
CodeLikeClock.widgetfolder in your Übersicht widgets directory (usually~/Library/Application Support/Übersicht/widgets/). - Make sure the font file
HackNerdFontMono-Regular.ttfis present in the widget folder. - Enable the widget in Übersicht.
By default, the widget uses a 24-hour clock. To switch to a 12-hour (AM/PM) format:
- Open
index.jsxin the widget folder. - Find the
settingsobject and change:
settings = {
lang: "en",
clock12h: false
}to:
settings = {
lang: "en",
clock12h: true
}- Save the file and refresh the widget in Übersicht.
The widget supports multiple languages for weekdays and months. To change the language:
- Open
index.jsx. - Set
settings.langto your desired language code (e.g.,'en','de','nl'). - To add a new language, add a new entry to the exported
localeobject withweekdaysandmonths. - Save the file and refresh the widget in Übersicht.
- The JSX version reduces complexity and aligns with Übersicht's modern widget patterns.
- If you prefer the original CoffeeScript version, the old file
index.coffee.oldis kept for reference. - For any further refinements (layout, color palette tweaks, or additional locales), edit
index.jsxand thelocaleexport.
If you enjoy coding or just like the look of code editors, this widget is made for you! I created it to bring a bit of developer style to your desktop, and I hope you have as much fun using it as I did making it.


