Skip to content

feat(bar): fix pill tab selection glitch and add auto-hide bar feature - #145

Merged
berlin-566 merged 3 commits into
mainfrom
feat/bar-autohide-pill-fix
Oct 15, 2026
Merged

berlin-566 merged 3 commits into
mainfrom
feat/bar-autohide-pill-fix

Conversation

@berlin-566

Copy link
Copy Markdown
Member

Summary

This PR addresses two key improvements for the Agility Shell bar:

  1. Fix Cursor Glitch on Browser Tabs: Fixes the layer-shell input region mask for Floating Pill (and Island) mode in BarOverlayWindow.qml. The previous mask erroneously added 40px vertical padding below the bar and 32px horizontal padding, creating an invisible layer-shell mask down to y: 78 that stole pointer focus from Brave/Chrome tabs and URL bar. The mask is now tightly bound to the exact pill capsule geometry (y: 8 to y: 46).
  2. Auto-hide Bar Feature:
    • Floating Pill and Island bars now smoothly slide off-screen to the top when a window is open/focused on the current workspace.
    • When no windows are present on the workspace, the bar is automatically shown.
    • Hovering the top edge of the screen reveals the bar with a smooth slide-down animation.
    • When the cursor leaves the bar, it smoothly glides back up after a 350ms debounce.
    • Bar remains revealed whenever popups, menus, tray items, notifications, or launcher/focus widgets are open.
    • Added an Auto-hide Bar on/off toggle switch in Bar Settings with persistent state across reboots.
    • Added compositor-agnostic real-time window tracking in AppState supporting both Niri (via IPC event stream) and Hyprland (via focused workspace toplevels).

Verification

  • Validated with qmllint on all modified QML components (0 syntax/type errors).
  • Tested live under Niri compositor; installed to ~/.config/agility-shell/quickshell/ and verified with active agility-shell.service (PID 142900).
  • Verified Brave tab switching and cursor interactions are smooth without interference.

Chintan Patel added 3 commits October 15, 2026 20:38
- Fix layer-shell input region mask in BarOverlayWindow to fit exact pill capsule bounds, resolving mouse cursor glitch when switching tabs in Brave and other windows
- Add auto-hide functionality for Island and Floating Pill bar styles that smoothly glides off-screen when windows are open
- Add top-edge hover trigger and bar hover tracker with debounced reveal/hide transitions
- Keep bar visible whenever popups, widgets, or menus are open
- Add Auto-hide Bar toggle switch in Bar Settings with persistence
- Implement compositor-agnostic active window detection for both Niri and Hyprland in AppState
@berlin-566
berlin-566 merged commit 3c53f2a into main Oct 15, 2026
1 check 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.

1 participant