Skip to content

feat(shell): implement unified popout manager, pill anchoring, and fast IPC - #74

Merged
Chintanpatel24 merged 2 commits into
mainfrom
why
Sep 19, 2026
Merged

Chintanpatel24 merged 2 commits into
mainfrom
why

Conversation

@Chintanpatel24

Copy link
Copy Markdown
Member

Summary

Transforms Agility Shell from disjointed floating popups into a cohesive, fluid Wayland desktop shell inspired by DankMaterialShell (DMS).

Core Changes

  1. Unified Popout Surface & Fluid Pill Anchoring (snippets/popout_manager.py):

    • Replaced fragmented, per-widget AppletWindow instances with a single persistent Wayland LayerShell surface per bar (UnifiedPopoutManager).
    • Smooth Pill Tracking: Moving or clicking between bar pills calculates the exact pill center and glides the popout horizontally across the screen via 60fps cubic ease-out interpolation (1 - (1 - t)³).
    • In-Place View Cross-Fading: Content inside the card transitions smoothly inside a hardware-accelerated crossfade stack without window recreation, tearing, or Cairo snapshot lag.
    • Active Pill Bonding (.bar-widget.active-popout): The active trigger pill illuminates with accent color and elevation glow, visually tethering the bar pill to the popout sheet.
    • Desktop Dimming Scrim (.desktop-scrim): A soft semi-transparent dimming scrim focuses user attention onto the open popout and dismisses it cleanly on any outside click.
  2. Bar & Menu Integration (bar.py):

    • Initialized popout_manager on each active Bar.
    • Wired WidgetWrapper and GroupWrapper clicks and hover transitions directly into the unified manager.
    • Updated BarManager.toggle() so CLI triggers and compositor shortcuts route directly through the popout manager.
  3. Spotlight Launcher Intelligence (windows/launcher.py, style/launcher.css):

    • Added LauncherActionItem supporting instant action triggers:
      • Inline Math (= 15 * 8): Evaluates arithmetic in real time; hitting Enter copies the answer directly to clipboard.
      • Shell Commands (> btop or > kitty): Instant command execution directly from the search bar.
  4. Fast Shell CLI & Compositor Synergy (bin/agl, config/niri.kdl):

    • Added dedicated agl subcommands:
      • agl volume <up|down|mute>: Adjusts audio and triggers the OSD overlay.
      • agl brightness <up|down>: Adjusts display brightness and triggers the OSD overlay.
      • agl launcher: Instant trigger for the Spotlight launcher.
      • agl cc: Instant trigger for Control Center / Quick Settings.
      • agl toggle <key>: Seamlessly opens/slides to any applet (audio, wifi, bluetooth, calendar, weather, media).
    • Standardized config/niri.kdl keybindings on agl subcommands for audio, brightness, launcher, and control center.

Verification

  • Verified Python bytecode compilation: python3 -m compileall -q . exited with 0 errors.
  • Verified bash syntax: bash -n bin/agl exited with 0 errors.

…st IPC

- Add UnifiedPopoutManager and PopoutScrim in snippets/popout_manager.py
  - Single persistent Wayland LayerShell popout surface per bar
  - Smooth pill tracking with 60fps cubic ease-out sliding animation
  - In-place hardware-accelerated crossfade stack transition
  - Active pill bonding with .bar-widget.active-popout accent illumination
  - Desktop dimming scrim with click-outside dismissal
- Connect PopoutManager to Bar, WidgetWrapper, GroupWrapper, and BarManager.toggle in bar.py
- Enhance Launcher with inline math evaluation (=) and terminal commands (>) in windows/launcher.py
- Add dedicated subcommands to bin/agl: volume, brightness, launcher, cc
- Update config/niri.kdl keybindings to use clean agl subcommands
Copilot AI lite review requested due to automatic review settings September 18, 2026 17:25

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@Chintanpatel24 Chintanpatel24 left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

seems fine , but not looks fine - not able to merge yet - need fixes

…ffeine sleep inhibitor, optimize popout speed
@Chintanpatel24
Chintanpatel24 merged commit bc476cd into main Sep 19, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants