Konfiguration

xfetch verwendet eine JSONC (JSON mit Kommentaren) Konfigurationsdatei. Der Standardspeicherort ist ~/.config/xfetch/config.jsonc. Sie konnen eine Standardkonfiguration mit xfetch --gen-config generieren oder einen benutzerdefinierten Pfad mit xfetch --config <pfad> verwenden.

Konfigurationsdatei-Format

JSONC erweitert standard JSON um C-Style (//) und C++-Style (/* */) Kommentare sowie nachgestellte Kommas in Objekten und Arrays.

Vollstandige Konfigurationsreferenz

{
    "layout": "section",
    "modules": [
        {
            "type": "group",
            "title": "Hardware",
            "modules": [
                "hostname",
                "cpu",
                "gpu",
                "memory",
                "swap",
                "disk",
                "battery"
            ]
        },
        {
            "type": "group",
            "title": "Software",
            "modules": [
                "os",
                "kernel",
                "packages",
                "shell",
                "wm",
                "terminal",
                "local_ip"
            ]
        },
        "palette"
    ],
    "show_colors": true,
    "icons": {
        "hostname": "\uf109",
        "cpu": "\uf2db",
        "gpu": "\uf0b9"
    },
    "colors": {
        "hostname": "Green",
        "cpu": "Green",
        "os": "Yellow"
    },
    "palette_style": "squares",
    "logo_path": null,
    "ascii": null,
    "header_icons": null,
    "footer_text": null,
    "disable_ip_fetching": false,
    "disable_cache": false,
    "logo_animation": null,
    "info_plugins": []
}

Feldreferenz

Felder der obersten Ebene

FeldTypStandardBeschreibung
layoutstring oder nullnull (classic)Layout-Stil-Name
modulesarray(siehe unten)Geordnete Liste von Modulen oder Modulgruppen
show_colorsbooleantrueANSI-Farbausgabe aktivieren
iconsobject(eingebaute Standards)Modulspezifische Icon-Zuordnungen
colorsobject(eingebaute Standards)Modulspezifische Farbzuordnungen
palette_stylestring"squares"Paletten-Anzeigestil
logo_pathstring oder nullnullPfad zu einer benutzerdefinierten Logodatei
asciistring oder nullnullPfad zu einer ASCII-Kunst-Datei (Alternative zu logo_path)
header_iconsarray oder nullnullIcons fur den oberen Rand (Pac-Man-Layout)
footer_textstring oder nullnullText fur den unteren Rand (Pac-Man-Layout)
disable_ip_fetchingbooleanfalseAbrufen der offentlichen IP aus Datenschutzgrunden deaktivieren
disable_cachebooleanfalseDaten-Caching deaktivieren
logo_animationobject oder nullnullLogo-Animationskonfiguration
info_pluginsarray[]Liste der auszufuhrenden Info-Plugins

Standardmodule

Wenn keine Module angegeben sind, verwendet xfetch:

["os", "kernel", "uptime", "packages", "wm", "shell", "disk", "cpu", "gpu", "memory", "battery"]

Modulgruppen

Module konnen fur die Layouts section, tree und side-block in benannte Gruppen organisiert werden:

{
    "type": "group",
    "title": "Hardware",
    "modules": ["cpu", "gpu", "memory"]
}

Gruppen konnen verschachtelt werden:

{
    "type": "group",
    "title": "System",
    "modules": [
        {
            "type": "group",
            "title": "Hardware",
            "modules": ["cpu", "gpu"]
        },
        {
            "type": "group",
            "title": "Software",
            "modules": ["os", "kernel"]
        }
    ]
}

Icons

Icons bilden Modulnamen auf Anzeigezeichenketten ab. Nerd Font Glyphen werden haufig verwendet, aber jede Unicode- oder Textzeichenkette funktioniert.

{
    "icons": {
        "os": "\uf17c",
        "kernel": "\uf17c",
        "hostname": "\uf109",
        "cpu": "\uf2db",
        "gpu": "\uf0b9",
        "memory": "\ue266",
        "swap": "\uf0c5",
        "disk": "\uf0a0",
        "battery": "\uf240",
        "uptime": "\uf253",
        "packages": "\uf187",
        "shell": "\uf0e7",
        "terminal": "\uf0e7",
        "wm": "\uf08e",
        "user": "\uf007",
        "datetime": "\uf017",
        "local_ip": "\uf0ac",
        "palette": "\uf0eb",
        "plugin:<name>": "\uf271"
    }
}

Modulschussel mit dem Prefix plugin: (z. B. plugin:docker) werden fur pluginbereitgestellte Informationen verwendet.

Farben

Farben bilden Modulnamen auf ANSI-Farbnamen ab:

{
    "colors": {
        "os": "Cyan",
        "kernel": "White",
        "wm": "Blue",
        "shell": "Green",
        "cpu": "Green",
        "gpu": "Green",
        "memory": "Green",
        "disk": "Green",
        "battery": "Green",
        "packages": "Yellow",
        "hostname": "Green",
        "uptime": "Yellow",
        "terminal": "Green",
        "user": "Magenta"
    }
}

Verfugbare Farbnamen:

NameANSI-Code
Black30
Red31
Green32
Yellow33
Blue34
Magenta35
Cyan36
White37
Grey oder Gray90

Palettenstile

Das Modul palette zeigt ein Farbmuster an. Verfugbare Stile:

StilBeschreibung
"squares"Hintergrundfarbblocke (Standard)
"circles"Vordergrundfarbkreise
"triangles"Vordergrundfarbdreiecke
"lines"Dicke horizontale Farbbalken
"dots"Kleine Vordergrundfarbpunkte

Animationskonfiguration

Das Feld logo_animation aktiviert ASCII-Logo-Animation uber ein Plugin:

{
    "logo_animation": {
        "plugin": "animate-logo",
        "fps": 12,
        "duration_ms": 1200,
        "loop": false,
        "style": "sweep",
        "frames_path": "~/.config/xfetch/logos/frames.txt"
    }
}
FeldTypBeschreibung
pluginstringPlugin-Name (z. B. "animate-logo")
fpsnumberBilder pro Sekunde (1-60)
duration_msnumberGesamte Animationsdauer in Millisekunden
loopbooleanOb die Animation wiederholt werden soll
stylestringAnimationsstil: "sweep", "wave", "rainbow", "sparkle", "breathing", "frame", "none"
frames_pathstringPfad zu vorgebauten Frame-Sets (fur Stil "frame"). Mehrere Frame-Sets getrennt durch \n===\n

Plugin-Integration

Info-Plugins werden im Array info_plugins konfiguriert:

{
    "info_plugins": [
        {
            "plugin": "github-stats",
            "args": {
                "username": "myuser",
                "max_lines": 3
            }
        },
        {
            "plugin": "docker"
        }
    ]
}
FeldTypBeschreibung
pluginstringPlugin-Name (installiert als xfetch-plugin-<name>)
argsobject oder nullBeliebige JSON-Argumente, die an das Plugin ubergeben werden

Plugin-Daten werden uber Modulschussel mit dem Prefix plugin: abgerufen:

{
    "modules": ["os", "kernel", "plugin:github-stats", "plugin:docker"]
}

Konfigurationsdatei-Speicherorte nach Plattform

PlattformStandard-Konfigurationspfad
Linux~/.config/xfetch/config.jsonc
macOS~/Library/Application Support/xfetch/config.jsonc
Windows%APPDATA%\xfetch\config.jsonc