Skip to content

feat: anchor to bars from other shells and keep Gitify above other windows - #27

Merged
afonsojramos merged 1 commit into
mainfrom
feat/any-bar-keep-above
Nov 2, 2026
Merged

afonsojramos merged 1 commit into
mainfrom
feat/any-bar-keep-above

Conversation

@afonsojramos

Copy link
Copy Markdown
Member

Summary

The script only anchored to plasmashell panels, so with other shells the popup fell back to the top-right corner. It also opened behind the focused window, because Electron cannot keep a window on top on Wayland.

  • Treat sized dock windows from any shell as panels. Before the first tray click, keyboard opens still prefer the Plasma panel.
  • Handle bars drawn inside a dock surface that covers the whole display, such as Caelestia's. KWin reports one full-display dock, so there is no panel edge to measure. When the pointer is on that dock within 64 px of a display edge and the display has no measurable panel, the popup opens beside the pointer. The bar is assumed to reach twice the pointer's distance from the edge. Keyboard reopens reuse this anchor, rebuilt from the display's current geometry. The anchor is dropped when the display gains a measurable panel or loses its full-display dock.
  • Set keepAbove on the Gitify window.

Testing

  • npm test: 28 tests pass, including 15 new ones for full-display bars on each edge, display resizes, dock removal, docks from other shells, Plasma panel preference, and keepAbove.
  • Manual check on Plasma 6 Wayland with Caelestia: clicking the tray icon opened the popup above the bar, centered on the icon, with keepAbove set.
  • Not run: npm run test:live. It measures only plasmashell panels and activates the tray over D-Bus without moving the pointer, so it cannot exercise the full-display bar path.

@afonsojramos
afonsojramos requested a review from setchy as a code owner November 2, 2026 01:25
@sonarqubecloud

sonarqubecloud Bot commented Nov 2, 2026

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
12.0% Duplication on New Code (required ≤ 3%)
C Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

@afonsojramos
afonsojramos merged commit 18d892a into main Nov 2, 2026
1 of 2 checks passed
@afonsojramos
afonsojramos deleted the feat/any-bar-keep-above branch November 2, 2026 01:25
@afonsojramos afonsojramos mentioned this pull request Nov 2, 2026
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