Skip to content

Tracking fails for native Wayland applications on GNOME #1

@UberMetroid

Description

@UberMetroid

Description
The current tracking implementation relies on X11-based utilities (xprop, xdotool, wmctrl) for its wayland-generic fallback. On GNOME Wayland, these tools can only detect applications running via XWayland. Native Wayland applications (which is the default for Firefox, Terminal, and most core apps on modern distros like Fedora and Ubuntu) are not tracked, resulting in 0 recorded time.

Root Cause
GNOME Wayland restricts global window state access for security. The standard X11 "active window" properties are not populated for native Wayland surfaces, so the current GenericWaylandManager fails to identify them.

Suggested Solution
Mono needs a dedicated GnomeManager that uses Wayland-native methods to fetch the active window. Potential paths include:

  1. DBus Introspection: Using org.gnome.Shell.Introspect (requires handling permissions).
  2. GNOME Extension Helper: Providing a small companion extension (like "Window Calls") that exposes the active window title/class over DBus.
  3. Portal Integration: Investigating if XDG Portals can provide this info without compromising security.

Environment:

  • OS: Linux (e.g., Fedora 44, Ubuntu 24.04)
  • Desktop Environment: GNOME (Wayland)
  • Mono Version: v0.2.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions