fastfetch-cli / fastfetch-cli/fastfetch

[FEAT] Add version detection for Umbriel window manager

Chiusa Adatta ai principianti
#2,570 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
enhancement
Lingua principale
C
Stelle
24.6k
Fork
890
Merge medio
1g 4h
PR unite (30g)
15

Descrizione

### 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"
}
}
```

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia in wm_linux.c e confronta il parser niri esistente con il pattern getUmbriel() proposto. Registra il parser di Umbriel per il processo umbriel e verifica che il modulo WM riporti la versione 0.1.0 dall'output di --version.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
c
Ambito
cli
Tipo di issue
Funzionalità
Difficoltà
2/5
Tempo stimato
1-3 ore
Stato di attività
Attiva
Chiarezza
Specificata chiaramente
Idoneità per principianti
82/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.