Skip to content

Releases: moiCR/Capsule

Beta v2.0.0-beta.1

Beta v2.0.0-beta.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 Oct 21:34

Changelog

All notable changes to Capsule are documented in this file.

v2.0.0-b.1

Features

  • New architecture for Capsule, which includes a new experimental capsule (activated from the settings panel)
  • New architecture for the satellite system (available only in the new capsule)

Improvements

  • CPU performance improvements (the issue of high CPU usage, which was consistently at 6.3%, has been resolved)
  • Implementation of all modules into the new architecture has begun (Currently includes: Default, Launcher, Dashboard, Clipboard, Record, Themes, Wallpaper and Shelf—without Orbit).
  • gpui-capsule evolved from a fork of gpui into gpui-ce

Bug Fixes

  • Fixed a clipboard bug that prevented items from being copied.
  • The problem with the lock screen (it kept verifying continuously) has been fixed.

Showcase

Capsule_Record_2026-10-08_15-39-33.mp4

Release v1.3.1

Choose a tag to compare

@github-actions github-actions released this 08 Oct 16:37

Changelog

All notable changes to Capsule are documented in this file.

v1.3.1

Features

  • Implemented a new experimental capsule in settings panel (Currently have a: default, launcher and dashboard modules)

Improvements

  • Migrated gpui-capsule to gpui-ce (gpui fork -> gpui-ce fork)

Bug Fixes

  • Fixed a clipboard bug that prevented items from being copied.

Release v1.2.0

Choose a tag to compare

@github-actions github-actions released this 04 Oct 23:51

Changelog

All notable changes to Capsule are documented in this file.

v1.2

Features

  • Redesigned Default Module: Replaced legacy Idle module with a revamped Default module featuring modular widgets:
    • Workspaces Widget: Interactive workspace indicator supporting active status, Pacman dot animation, and special workspace transitions.
    • Status Dock: Integrated indicator displaying network connectivity, battery level and charging status, Do Not Disturb (DND), and active notification counts.
    • Clock & Flip Clock: Dual time presentation options with smooth minute flip animations.
    • Media Dock: Compact player widget featuring spinning vinyl disc animation and MPRIS playback controls.
  • Niri Compositor Support: Added initial IPC integration and workspace tracking for the Niri Wayland compositor.
  • Standalone Settings Panel: Decoupled settings from the capsule into an independent Layer::Overlay panel with spring physics (apple_island_spring), slide-up entrance, circular expansion, and reverse dismissal animation.
  • Wallpaper Blur Fallback: Added automatic generation and caching of blurred wallpapers for the lockscreen and background surfaces.

Improvements

  • Live Configuration Synchronization: Subscribed Capsule directly to ConfigService, dynamically applying style, margin, radius, and exclusive zone adjustments in real time without restarts or mode switching.
  • Lockscreen Architecture: Complete modularization into dedicated components (auth_form, clock, lyrics, view).
  • Real-time Lyrics Sync: Direct synchronization between MPRIS playback position and LRCLIB cached lyrics without channel latency or UI freezing.
  • Hyprland Compositor Integration: Enhanced event handling for special workspaces, workspace switching, and frame duration calculation.
  • Satellites & Panel Surfaces: Refined satellite animations, surface framing geometry, and connecting curves.
  • Power & Battery Service: Improved battery capacity detection and charging state listeners.
  • Assets: Added vector icons for vinyl player, pacman workspace indicators, and user avatars.

Bug Fixes

  • Concave / Normal Style Offset: Resolved an issue where toggling between Concave and Normal capsule styles failed to reposition the capsule until another mode switch occurred.
  • Lockscreen PAM Authentication: Offloaded PAM authentication to background worker threads, eliminating infinite "Verificando..." freezes and borrow collisions during unlock.
  • Unlock Panic Prevention: Deferred panel closing (cx.defer) and properly sequenced window removal to prevent cannot update while already being updated panics.
  • GPUI Task Stability: Eliminated fragile background channel loops and replaced them with robust GPUI executor timers, preventing silent loop crashes.
  • Dynamic Dimension Tracking: Fixed dimension measurements and target size adjustments across capsule transitions and dashboard expansions.

Release v1.1.0

Choose a tag to compare

@github-actions github-actions released this 16 Sep 01:57

Changelog

All notable changes to Capsule are documented in this file.

v1.1

Features

  • None

Improvements

  • Major UI overhaul across the application.
  • Redesigned several interface components and layouts.
  • Improved visual consistency and overall usability.
  • Added a new recording orbit to indicate when screen recording is active.

Bug Fixes

  • Fixed many performance errors

Release v1

Choose a tag to compare

@github-actions github-actions released this 12 Sep 00:39
bc640ed

Changelog

All notable changes to Capsule are documented in this file.

[v1.0]

Features

  • GPU Screen Recorder Integration: Added a screen recording module powered by gpu-screen-recorder as the recording backend, fully configurable through the Settings module.
  • Shelf Widget (Drag & Drop Staging): Introduced a temporary file staging shelf supporting drag-and-drop operations, quick copy actions, and automatic file-type icon resolution.
  • Inline Calculator & Unit Converter: Integrated mathematical evaluation into the application launcher search bar powered by fend-core, supporting arithmetic, percentages, powers, and unit conversions.
  • Declarative Theme Template Engine: Redesigned external application theming into a dynamic, user-configurable template engine (~/.config/capsule/templates/). Supports arbitrary applications with in-place section patching (replace_section), comment marker blocks (start_marker / end_marker), include hook injection, and real-time palette synchronization without external templating dependencies.
  • Wi-Fi & Bluetooth Satellites: Added dedicated interactive satellite overlays for NetworkManager (Wi-Fi) and BlueZ (Bluetooth), featuring real-time device discovery, status monitoring, and connection controls.

Improvements

  • Settings Module Redesign: Overhauled the Settings UI with a streamlined layout, improved spacing, and clearer category organization.
  • Clipboard Snippets: Added snippet management alongside clipboard history for quick access and insertion of frequently used text.
  • Default File Manager Setting: Added an option in default applications settings to configure the preferred file manager.
  • Performance & Spring Bounds: Fine-tuned satellite spring animations and bounds tracking for smoother, glitch-free transitions.

Bug Fixes

  • Keyboard Focus Routing: The shell now explicitly requests compositor keyboard focus during module and launcher transitions, resolving an issue where typing in the launcher would leak keystrokes to the underlying client window.

Release v0.4.1

Choose a tag to compare

@github-actions github-actions released this 09 Sep 02:50

What's New in v0.4.1

Features & UI Improvements

  • A new setting has been added that allows you to add applications so that mpris and lyrics can detect them.
  • A preview of the images was added to the clipboard.
  • Improved system service to notify on audio changes and refresh audio status.
  • Improved UI in many modules
  • Enhance workspace handling in idle module and compositor service

Fixes and Minor Changes

  • The emoji font was changed to Noto Color Emoji to fix the issue where some emojis appeared black

Release v0.4.0

Choose a tag to compare

@github-actions github-actions released this 07 Sep 04:07
579134b

What's New in v0.4.0

Features & UI Improvements

  • Capsule Style Customization (Normal & Concave): Added the capsule_style option (Normal and Concave), allowing users to choose between the classic floating rounded pill and a concave notch attached flush to the screen bezel.

  • Concave Container & Vector Wings: Created SVG shoulder wings (concave-wing-left, concave-wing-right and border assets) for continuous curvature connecting to the monitor frame.

  • Decoupled Container Architecture: Introduced the CapsuleContainerRenderer trait with dedicated renderers (NormalContainer and ConcaveContainer), separating container geometry and framing from capsule views.

  • Live Dynamic Offset & Margin Switching: Moved vertical positioning to GPUI (current_y), enabling instant real-time transitions between Normal and Concave modes, as well as live margin_top changes without restarting the application.

  • Dynamic Exclusive Zone: Compositor reserved space (exclusive_zone) now syncs live when changing capsule styles or dimensions.

  • UI Settings Selector: Added an interactive style selector (Normal / Cóncava) in the Settings UI tab.

  • Dynamic Island Spring Physics: Replaced polynomial cubic transitions with an authentic mass-spring-damper physical simulation (zeta = 0.75) providing organic bounce and liquid squash-and-stretch geometry morphing.

  • SelectTheme Carousel Redesign: Redesigned theme selection into a horizontal capsule card (680x180) featuring a 5-slot looping carousel, 6-color palette preview dots per theme, real-time search filtering, position counter, and arrow key navigation.

  • Launcher Minimalist Redesign: Refined the application launcher to 380x360 with a borderless search input, left selection accent bar indicators, and cleaner visual presentation without dividers or keyboard shortcut footers.

  • Clipboard Minimalist Redesign: Aligned the clipboard manager to 380x360 matching Launcher, featuring a unified borderless search input with trash/clear history action, vertical left accent selection indicator bars, and elevated item surfaces without borders.

  • Emoji Minimalist Redesign: Modernized the emoji picker to 430x390 with a borderless search header, borderless pill category tabs, SelectTheme-style cell selection with 2px accent outlines, cleaner footer preview, and elimination of all 1px horizontal divider lines.

  • Satellites Minimalist Redesign, Wider Geometry & Liquid Droplet Detach Animation: Redesigned all satellite panels (Wi-Fi, Bluetooth, Volume, Calendar, Tray) with the unified minimalist style featuring vertical left accent indicator bars (3x14px, rounded_full), elevated item surfaces, soft container borders, 20x20 circular action buttons, and removal of divider lines. Expanded minimum satellite width to 280px with dynamic automatic content expansion (preventing text truncation in calendar months and controls) and resized calendar day cells to 30x30px. Implemented a "Liquid Droplet Detach" animation where satellites are rendered behind the capsule body (z-index lower than the capsule) and physically emerge from behind the capsule flanks. Removed fade-out/fade-in opacity transitions for solid physical occlusion, enhanced lateral mass-spring physics ($\zeta = 0.68$), added a dynamic surface tension droop arc ($y_{\text{droop}} \le 16\text{px}$) as panels pull away before settling into orbit, and integrated a continuous compositor-synced frame loop.

  • Settings Module Minimalist Redesign: Overhauled the Settings modal dialog with a modern borderless title, 24x24 circular close button, vertical left accent indicator bars (3x16px, rounded_full) on active tabs with elevated surface backgrounds, elevated card rows with subtle borders, 24x24 circular steppers, refined segmented pill controls, and sleek switches.

  • Dashboard Quick Settings & Material You Redesign: Redesigned the Dashboard module with a modern 2-column quick settings layout:

    • Horizontal Pill Tiles: Wi-Fi, Bluetooth, and No molestar (Do-Not-Disturb) pill buttons (rounded_full()) with prominent circular icon indicators (accent background when active), real-time status/device labels ("Activado" / "Desactivado"), and direct satellite launcher chevrons.
    • Do Not Disturb (DND) Mode: Integrated functional DND mode in NotificationStore that suppresses intrusive notification popups across the capsule when active, while keeping notifications recorded in the Dashboard history.
    • Compact Vertical Media Player: Placed alongside the Wi-Fi and Bluetooth pills, featuring an elegant "Sin reproducción" empty state with centered music icon, and a rich active state with album art thumbnail, title/artist info, player switcher dots, and playback controls (previous, accent play/pause, next).
    • Quick Action Circles: A dedicated row of 36x36 circular action buttons next to No molestar for Theme switcher (palette_2.svg), Wallpaper selector (wallpaper.svg), Settings modal (settings.svg), and Lock screen (lock.svg).
    • Sound Card with Fat Pill Slider & Dynamic Tracking: Full-width card with header and → chevron to open the audio output satellite, featuring an interactive fat horizontal pill slider (h(42px), rounded_full()) with integrated speaker mute icon and exact sub-pixel dragging dynamically measured via DimensionTracker::track_bounds.
    • Clean Notifications Section: Streamlined notifications list with "Sin notificaciones" empty state, "Limpiar todo" action, and individual card dismissal.
    • Unified Header with Dynamic Auto-Expansion: Top bar combining Calendar button (date & time), active System Tray icons (SNI), and Battery indicator chip with min_w(490.0) container layout, allowing the dashboard and tray to dynamically expand without truncating or compressing elements. Removed power and close buttons.
    • Tray Hover State Fix: Differentiated open active tray states (accent().opacity(0.22) with accent border and hover) from closed states (transparent with subtle surface hover), preventing visual confusion on double-click.
    • 100% Spanish Localization: Standardized all Dashboard strings to Spanish ("No molestar", "Activado" / "Desactivado", "Sin reproducción", "Sonido", "Notificaciones", "Sin notificaciones", "Limpiar todo").
  • Removed CreateTheme Module: Removed interactive in-app theme creator in favor of managing custom themes directly via configuration files.

Fixes and Minor Changes

  • Dashboard Notification Items Auto-Sizing & Scroll Stabilization: Fixed an issue where long notification text caused the dashboard to open excessively stretched horizontally and jitter/shrink frame-by-frame while wrapping. Also resolved vertical item squishing/compression when displaying multiple notifications by enforcing flex_shrink_0() on each card and restoring vertical scrolling (overflow_y_scroll()), allowing 2 full cards to be displayed concurrently with smooth scrolling for the rest.
  • Settings Modal Dynamic Centering: Fixed an issue where transitioning from other modules (such as Dashboard or Wallpaper) into Settings resulted in off-center vertical positioning due to residual dimension tracker state.
  • Concave Seam Lines Fix: Eliminated unwanted internal vertical border lines between the concave wings and the central pill body.
  • Settings Modal Isolation: Ensured the Settings window always renders using NormalContainer as a centered rounded modal dialog without wings.
  • Top Bezel Alignment: LayerShell surface is now permanently anchored to y = 0.0, eliminating the gap between the concave notch and the screen bezel.
  • Capsule Modules Consolidation: Unified 12 separate capsule view fields into a centralized CapsuleModules struct (crates/app/src/capsule/modules/mod.rs).
  • Polkit Authentication Service Overhaul & Session Fix: Resolved the "No session for cookie" authentication failure on modern Linux distributions (Polkit v126+, CachyOS, Arch Linux):
    • Replaced legacy binary execution and sudo fallbacks with direct asynchronous Unix socket communication via systemd's /run/polkit/agent-helper.socket, preserving peer credentials (SO_PEERCRED) with the user's session UID.
    • Implemented line-by-line PAM conversation handling for password prompts, error feedback, and success/failure responses with seamless password retry support.
    • Dynamically extracts the target authenticating user from Polkit's identities parameter (resolving target UIDs via libc::getpwuid).
    • Replaced hardcoded session IDs with automatic detection via $XDG_SESSION_ID and /proc/self/sessionid.
    • Added active cancellation propagation to automatically dismiss open authentication dialogs when Polkit Authority cancels a request or the invoking process terminates.
  • Fixed Ghostty reload app (the config was deleted on theme change).
  • The refresh time for the launcher service has been reduced.

Release v0.3.0

Choose a tag to compare

@github-actions github-actions released this 04 Sep 01:39

What's New in v0.3.0

Features & UI Improvements

  • Settings Module & Panel: Introduced a dedicated Settings panel (CapsuleMode::Settings) allowing live configuration of UI parameters, default applications, wallpapers, and lockscreen options.
  • Granular Config Modularization: Split configuration into structured sub-configs (UIConfig, LockScreenConfig, and DefaultsConfig) with live reloading and full serialization.
  • Customizable Capsule Styling: Dynamic border radius (capsule_round), widget badge rounding, satellite panel gaps, and configurable transition animation durations.
  • Dashboard Header Enhancements: Integrated quick-settings navigation, updated action controls, and improved layout responsiveness.
  • Expanded IPC Commands: Added IPC commands for opening settings, launching default browser, terminal, and editor, as well as triggering lock and quit actions.
  • Satellite Panels Cleanup: Streamlined satellite mini-panels with dynamic spacing and removed redundant panel chips.

Fixes

  • Fixed UI freeze and event loop contention when starting media playback in idle mode.
  • Fixed lockscreen component layout and clock alignment according to user configuration.
  • Fixed wallpaper selector modal dropdown clipping and transition behavior.

Release v0.2.2

Choose a tag to compare

@github-actions github-actions released this 06 Aug 23:15

What's New in v0.2.2

Features & UI Improvements

  • Media Player Redesign: Modern compact single-row layout (Dynamic Island style) with a 44px square album art thumbnail and an integrated player status badge (Spotify/Music).
  • SystemTray Performance & Responsiveness: Migrated tray DBus loop timeouts and timers to native tokio::time primitives with ultra-low timeouts (50ms), allowing instant detection when apps open or close.
  • Notifications Widget Refinement: Cleaned notification card layout, removed redundant header text, and added subtle horizontal dividers between notifications.

Fixes

  • Fixed background image corner clipping bug in GPUI.
  • Fixed hover highlight overflow in notifications widget.
  • Fixed password bypass in lockscreen (escape key).

Release v0.2.1

Choose a tag to compare

@github-actions github-actions released this 06 Aug 19:23
790e46e

What's New in v0.2.1

Features

  • None

Fixes

  • Fixed password bypass in lockscreen (escape key)