fastfetch-cli / fastfetch-cli/fastfetch

[FEAT] Add version detection for Umbriel window manager

Open
#2,570 1 comment 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
C
Stars
24.6k
Forks
890
Avg merge
1d 42m
Merged PRs (30d)
17

Description

### Description

### Feature description

Fastfetch already detects the [Umbriel](https://github.com/noctalia-dev/umbriel) Wayland compositor as the WM process name (`umbriel`), but the `{version}` format variable comes back empty since `wm_linux.c` has no parser registered for it.

```
$ umbriel --version
umbriel 0.1.0 (7a448abe550e)
```

This is the same `name version (hash)` shape that `niri --version` produces, which fastfetch already parses. I'd like to add an equivalent `getUmbriel()` following that existing pattern.

### Motivation

Native detection matches how fastfetch already handles other Wayland compositors (niri, sway, labwc, Hyprland), the `WM` module reports the compositor's actual version consistently across the ecosystem, without per-user config.

A `command` module workaround is possible, but it means every Umbriel user has to manually patch their own config to get parity with what niri/sway/etc. users already get for free. Since Umbriel already appears natively as the WM process name (`umbriel`) and its `--version` output follows the same `name version (hash)` format fastfetch already parses for niri, adding a dedicated parser seems reasonable to do.

### Additional context

Umbriel is part of the [Noctalia](https://github.com/noctalia-dev) ecosystem, an independent Wayland compositor built on wlroots/umbrielfx (highly patched scenefx fork).

I already have a tested patch ready to submit as a PR if this is welcome:

```json
{
"type": "WM",
"result": {
"processName": "umbriel",
"prettyName": "umbriel",
"protocolName": "Wayland",
"pluginName": "",
"version": "0.1.0"
}
}
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.