Skip to content

Linux: fix island placement on GNOME and other desktops without layer… - #152

Open
mojahid2021 wants to merge 2 commits into
Louis-CFM:mainfrom
mojahid2021:main
Open

mojahid2021 wants to merge 2 commits into
Louis-CFM:mainfrom
mojahid2021:main

Conversation

@mojahid2021

Copy link
Copy Markdown

This pull request introduces significant improvements to how the "island" window is positioned and displayed on Linux, especially in GNOME and other environments lacking layer-shell support. The changes ensure the island is placed just below the top panel (rather than over it), improve backend selection for correct window placement, and avoid unwanted desktop space reservation. There are also updates to documentation and versioning.

Linux window placement and backend selection:

  • Added logic to select the appropriate GDK backend (wayland or x11) at startup, ensuring the island window is anchored correctly depending on compositor and layer-shell support. This includes honoring a new COUCOU_GDK_BACKEND override and falling back to X11 when layer-shell is unavailable but an X server is reachable.
  • The island now sits just under the top panel (using the work area reported by the window manager) when layer-shell is not available, preventing it from obscuring system UI elements like the clock and date on GNOME. [1] [2]
  • Introduced avoid_panels and top_panel_height functions to handle panel avoidance and correct vertical placement, with platform-specific no-ops for Windows. [1] [2] [3]

Documentation and configuration:

  • Updated windows/README.md to clarify the island's behavior on different Linux compositors, backend selection logic, and how the window is placed relative to top panels.

Testing and maintenance:

  • Added tests for X11 socket parsing to ensure correct backend selection logic.

Versioning:

  • Bumped the application version from 0.1.0 to 0.1.1 in package-lock.json.

This branch has not been deployed

No deployments
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