Skip to content

Fix stuck panel and empty overview on current Omarchy shell - #3

Open
TomFaulkner wants to merge 1 commit into
luccast:mainfrom
TomFaulkner:fix/panel-close-and-scoped-settings
Open

TomFaulkner wants to merge 1 commit into
luccast:mainfrom
TomFaulkner:fix/panel-close-and-scoped-settings

Conversation

@TomFaulkner

Copy link
Copy Markdown

Clicking the bar widget opened the keyboard-panel overlay but it could never close (mouse, Escape, and IPC hide all no-ops), blocking pointer input to everything behind it. Separately, the overview showed "Nothing on the overview yet" despite configured services.

Causes:

  • Panel.close() assigned to PluginBarApi:centerHoverRevealSuppressed, which is readonly. The TypeError aborted close() before controller.hide() ran. Now calls bar.setCenterHoverRevealSuppressed() defensively and hides first.
  • Service read settings from shell.shellConfig, which scoped third-party shells no longer expose. Now reads from shell.barConfig (kept updated by the host) with fallback to shellConfig, and refreshes on barConfig changes.

Verified locally: summon/hide cycle opens and clears the overlay with no TypeErrors, and configured Sonarr/Radarr/Jellyfin services reappear.

Panel.close() assigned to the readonly PluginBarApi:centerHoverRevealSuppressed, throwing before controller.hide() ran, so the keyboard-panel overlay could never close. Call bar.setCenterHoverRevealSuppressed() instead and hide first.

Service read settings from shell.shellConfig, which scoped third-party shells no longer expose, yielding zero services. Read from shell.barConfig with fallback and refresh on barConfig changes.
@thetimmyman

Copy link
Copy Markdown

Confirming this reproduces on Omarchy 4.0.4-1 and that this PR fixes it.

Symptom: clicking the bar icon opened the panel and it could not be closed by any means (outside click, Escape, clicking the icon again). Because the panel is a full-screen KeyboardPanel overlay holding keyboard focus, the whole desktop was unusable until omarchy restart shell. Shell log had dozens of:

io.github.luccast.omarr/Panel.qml[109]: TypeError: Cannot assign to read-only property "centerHoverRevealSuppressed"

Applied this diff locally on top of 45c4743, restarted the shell (needed because of keepLoaded), and open/close now works with no TypeErrors.

Worth noting for #4: the "whole desktop frozen" report there matches this symptom exactly, so this PR likely resolves that too.

@TomFaulkner

Copy link
Copy Markdown
Author

Yes — the “whole desktop frozen” report matches this. Once the panel is stuck open it’s a full-screen overlay holding focus, so mouse and keyboard input that isn’t a Quickshell key chord is blocked until the shell restarts. Same root cause as the unclosable panel; this PR clears it.

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