Übersicht

Desktop widgets using JavaScript and React

Category
Status Bar
WM Type
License
free
Open Source
Yes
Keybindings
No
Scripting
Yes
Last Update
2023-12-04

Features

  • JavaScript/React widgets
  • Shell command execution
  • CSS styling with Emotion
  • Geolocation API
  • WebSocket support
  • Live widget editing
  • Hot reloading
  • AppleScript automation

Install

$brew install --cask ubersicht

About

Desktop widget system that lets you create custom widgets positioned on your screen using JavaScript, React, and CSS. Run shell commands, fetch data, and display real-time information on your desktop. Scriptable with AppleScript and live widget editing.

Who It's For

Übersicht is for developers and customizers who want to display real-time information on their macOS desktop using web technologies. Rather than a traditional window manager, it's a widget platform: write JavaScript (with React) and CSS to create components that render directly on the desktop — system stats, weather, calendar events, yabai space indicators, now-playing info, or anything else you can build in a web page. If you're comfortable with front-end web development and want a fully custom desktop HUD, Übersicht is the tool.

How It Works

Übersicht runs a local WebKit rendering environment on your desktop (behind all windows). Widgets are JavaScript/JSX files in ~/Library/Application Support/Übersicht/widgets/ — Übersicht watches the directory and hot-reloads widgets on file changes. Each widget can run shell commands at configurable intervals and render the output. The run function executes any shell command and passes stdout to your render function. Widgets style themselves with standard CSS (via Emotion) and can use Geolocation, WebSockets, and other web APIs. AppleScript can trigger widget refreshes from external tools.

Compared to Similar Tools

Compared to SketchyBar, Übersicht renders widgets anywhere on the desktop (not just the menu bar) using HTML/CSS/JS. SketchyBar is a dedicated status bar replacement with a shell-script configuration model; Übersicht is a general desktop widget system. Many users use both: simple-bar (an Übersicht widget) as the bar, plus other Übersicht widgets on the desktop. Compared to native macOS widgets (Dashboard was removed in macOS 11), Übersicht runs persistently and is fully programmable.

Requirements

  • macOS 10.12 or later
  • Free and open-source — source at github.com/felixhageloh/uebersicht
  • No Accessibility permission required (it's a rendering layer, not a window manager)

Getting Started

brew install --cask ubersicht

Launch Übersicht. Open the widgets directory (from the menu bar icon → Open Widgets Folder). Create a .jsx file with a command, refreshFrequency, and render(output) export. The Übersicht widget gallery has community widgets including status bars, clocks, and system monitors.

Discussion