A shader-powered macOS app launcher where applications are rendered as a GPU scene instead of a static grid UI.
Halogen is a customizable macOS launcher built around a real-time rendering engine. Instead of a traditional icon grid, apps are displayed as shader-driven objects inside a GPU-rendered interface.
Each application icon can have its own visual material, and the entire launcher can be styled using custom GLSL shaders and postprocessing effects.
- GPU-rendered app grid (Three.js)
- Shader-based icon system (per-app overrides)
- Custom global icon shader fallback
- Configurable layout system
- Adjustable icon size, text, and positioning
- Window fade-in / fade-out transitions (Tauri events)
- External app indexing pipeline (Python)
- Icon extraction and conversion system
- TOML-based app manifest generation
- Demand-based rendering mode (performance optimized)
Halogen is split into three layers:
- Scans macOS Applications folders
- Extracts app metadata
- Converts
.icnsicons to PNG - Generates app manifest (
applist.toml)
- Handles windowing
- Executes native commands
- Opens applications
- Acts as IPC layer between frontend and OS
- Renders app grid as a GPU scene
- Applies shader materials per icon
- Handles interaction and animation
- Controls visual state of the launcher
Each app is rendered as:
- A plane mesh
- A texture (app icon)
- A fragment shader (custom or global fallback)
Shader uniforms can include:
- icon texture
- mouse interaction state
- position data