Skip to content

Conversation

@YeeP79
Copy link

@YeeP79 YeeP79 commented Jan 22, 2026

On Wayland, Chromium ignores the --class flag and uses its own app_id
format: chrome-{domain}__-{profile}. This breaks dock icon matching
since webapp-manager sets StartupWMClass=WebApp-*.

Changes:

  • Add is_wayland_session() to detect Wayland via XDG_SESSION_TYPE or WAYLAND_DISPLAY
  • Add get_chromium_wayland_class() to generate the correct app_id
  • Update create_webapp and edit_webapp to use Wayland-specific class for Chromium browsers
  • Update webapp detection to recognize StartupWMClass=chrome-* entries
  • Add unit tests for Wayland and X11 behavior

  On Wayland, Chromium ignores the --class flag and uses its own app_id
  format: chrome-{domain}__-{profile}. This breaks dock icon matching
  since webapp-manager sets StartupWMClass=WebApp-*.

  Changes:
  - Add is_wayland_session() to detect Wayland via XDG_SESSION_TYPE
    or WAYLAND_DISPLAY
  - Add get_chromium_wayland_class() to generate the correct app_id
  - Update create_webapp and edit_webapp to use Wayland-specific class
    for Chromium browsers
  - Update webapp detection to recognize StartupWMClass=chrome-* entries
  - Add unit tests for Wayland and X11 behavior
  Chrome includes the URL path in the app_id, not just the domain.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant