Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions src/detection/displayserver/displayserver_apple.c
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,16 @@ void ffConnectDisplayServerImpl(FFDisplayServerResult* ds) {
ffStrbufSetStatic(&ds->wmProcessName, "WindowServer");
ffStrbufSetStatic(&ds->wmPrettyName, "Quartz Compositor");
}
if (getenv("WAYLAND_DISPLAY")) { // Is user on wayland?
const char *desktop = getenv("XDG_CURRENT_DESKTOP");

ffStrbufSetStatic(&ds->wmProcessName, "Wayland");

@CarterLi CarterLi Jun 12, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does this mean? Wayland is a protocol. There's no process named Wayland.

if (desktop && *desktop) { // If user is on a custom WM that sets XDG_CURRENT_DESKTOP?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AFAIK XDG_CURRENT_DESKTOP is the name of the current desktop environment, such as KDE Plasma. While kwin is the name of Window manager (or Wayland compositors, strictly speaking)

In fastfetch they are different modules.

ffStrbufSetStatic(&ds->wmPrettyName, desktop);
} // if not it says Quartz Compositor

ffStrbufSetS(&ds->wmProtocolName, FF_WM_PROTOCOL_WAYLAND); // Adds (Wayland) at the end of WM
}
}

detectDisplays(ds);
Expand Down