Skip to content

Native Wayland SupportΒ #485

@bwRavencl

Description

@bwRavencl

πŸ’‘ Motivation

While ControllerBuddy functions correctly via XWayland, implementing native Wayland support would be desireable.
This aligns with the ongoing work in Project Wakefield for native Wayland support in the OpenJDK.

πŸ—οΈ Current State

Preliminary support is currently being tracked in the wayland branch.
This implementation utilizes JBR25 because it ships with an experimental Wayland AWT Toolkit.

🚧 Remaining Issues

  • Window Positioning: Windows are not positioned correctly on launch - concerns Overlay and On-Screen-Keyboard.
  • Icon: Application icon is not displaying in the dock/taskbar.
  • Cursor: Custom cursors are not displayed - concerns Visualization Tab.
  • Always on Top: Overlay and On-Screen-Keyboard windows lack "Always on Top" functionality.
    Note: This requires implementation of the xdg-pip protocol.

πŸ› οΈ Workaround: "Always on Top" (KDE Plasma)

Until the xdg-pip protocol is supported, KDE users can force the overlay behavior by adding a custom KWin rule to ~/.config/kwinrulesrc:

[General]
count=1
rules=bc527ade-2339-4555-b784-c8c31e7099cd

[bc527ade-2339-4555-b784-c8c31e7099cd]
Description=ControllerBuddy Window Rules
layer=overlay
layerrule=2
title=Overlay|OnScreenKeyboard
titlematch=3
wmclass=de.bwravencl.controllerbuddy/de.bwravencl.controllerbuddy.gui.Main
wmclassmatch=1

A programmatic creation of KWin rules could be implemented similar to this.

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions