Anpassung

xfetch bietet umfangreiche visuelle Anpassungsmöglichkeiten durch Logos, Icons, Farben und Animationseffekte. Die gesamte Anpassung wird in der JSONC-Konfigurationsdatei konfiguriert.

Logos

xfetch unterstützt drei Arten von Logos: ASCII-Kunst, Bilddateien und das eingebaute Standard-Logo.

Standard-ASCII-Logo

Wenn kein benutzerdefiniertes Logo angegeben ist, zeigt xfetch seine eingebaute ASCII-Kunst an:

__  __
  \ \/ /
   \  /
   /  \
  /_/\_\
 /____/linux
---------BEGIN PUBLIC KEY----------
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMII
...
----------END PUBLIC KEY-----------

Benutzerdefiniertes ASCII-Logo

Um ein benutzerdefiniertes ASCII-Logo zu verwenden, setzen Sie das Feld logo_path oder ascii:

{
    "logo_path": "~/.config/xfetch/logos/arch.txt"
}

ASCII-Logo-Dateien sind reine Textdateien. ANSI-Escape-Codes können zur Farbgebung verwendet werden:

\x1b[34m    /\            /\
\x1b[34m   /  \          /  \
\x1b[34m  /\   \        /   /\
\x1b[34m /  \   \      /   /  \
\x1b[34m/   /\   \    /   /\   \
\x1b[34m   /  \   \  /   /  \
\x1b[34m  /    \   \/   /    \
\x1b[34m /______\      /______\
\x1b[0m

Beispiel-Logos sind in der xfetch-Installation unter ~/.config/xfetch/logos/ enthalten:

DateiBeschreibung
arch.txtBlaues ASCII-Arch-Linux-Logo (7 Zeilen)
x_logo.txtCyan-zu-Grun-Verlauf "X"-Form (9 Zeilen)
minimal.txtEin einfaches [ xfetch ]-Label (1 Zeile)

Bildlogos

xfetch kann PNG-, JPG- und SVG-Bilder als Logos mit der Bibliothek viuer rendern. Dies erfordert Terminalunterstützung für Bildanzeige (iTerm2, Kitty oder Sixel-kompatible Terminals):

{
    "logo_path": "~/.config/xfetch/logos/my-logo.png"
}

Das Bild-Rendering verwendet das native Bildprotokoll des Terminals:

  • iTerm2: Inline-Bildprotokoll
  • Kitty: Kittys natives Bildprotokoll
  • Sixel: Sixel-Grafiken (kompatible Terminals wie xterm, mlterm)

Wenn das Terminal keine Bildanzeige unterstützt, fallt xfetch auf ASCII zurück.

Logo-Animation

ASCII-Logos können mit dem Plugin animate-logo animiert werden. Animationsstile transformieren das Logo im Laufe der Zeit mit Farbeffekten.

Konfiguration

{
    "logo_animation": {
        "plugin": "animate-logo",
        "fps": 12,
        "duration_ms": 1200,
        "loop": false,
        "style": "sweep"
    }
}

Animationsstile

StilBeschreibung
sweepFarben streichen von links nach rechts mit einer 6-Farben-ANSI-Palette (rot, grun, gelb, blau, magenta, cyan)
waveSinuswellen-Farbmuster bewegt sich uber das Logo
rainbowVoller RGB-Verlauf verschiebt sich uber das Logo mit interpolierten 24-Bit-Farben
sparkleZufallige Zeichen leuchten kurz in hellen Farben auf
breathingAlle Zeichen pulsieren in warmen Amber-Tonen (sinusbasierte Helligkeit)
frameDurchlauft vorab geladene ASCII-Frame-Sets aus einer Frame-Datei
noneStatische Anzeige, keine Farbtransformation

Frame-basierte Animation

Der Stil frame durchlauft vordefinierte ASCII-Frame-Sets. Frame-Sets werden aus einer in frames_path angegebenen Datei geladen:

{
    "logo_animation": {
        "plugin": "animate-logo",
        "style": "frame",
        "fps": 60,
        "duration_ms": 7500,
        "loop": true,
        "frames_path": "~/.config/xfetch/logos/frames.txt"
    }
}

Das Frame-Datei-Format verwendet === als Trennzeichen zwischen Frame-Sets:

frame 1 line 1
frame 1 line 2

===

frame 2 line 1
frame 2 line 2

===

frame 3 line 1
frame 3 line 2

Icons

Jedes Modul kann ein benutzerdefiniertes Icon haben. Icons werden im Objekt icons der Konfigurationsdatei konfiguriert:

{
    "icons": {
        "os": "\u2302",
        "kernel": "\u2699",
        "hostname": "\u2394",
        "cpu": "\u269b",
        "gpu": "\u26a1",
        "memory": "\u2261",
        "disk": "\u2b23",
        "battery": "\u26a1",
        "uptime": "\u23f1",
        "packages": "\u2b1a",
        "shell": "\u276f",
        "terminal": "\u2b21",
        "wm": "\u25c6",
        "user": "\u263a",
        "datetime": "\u23f0",
        "local_ip": "\u25c9",
        "palette": "\u2588",
        "plugin:<name>": "\u25c8"
    }
}

Icons konnen sein:

  • Nerd Font Glyphen: Unicode-Zeichen aus dem Nerd Fonts gepatchten Schriftsatz
  • Unicode-Symbole: Standard-Unicode-Zeichen
  • Textzeichenketten: Beliebiger kurzer Text (z. B. ">>", "+", "OS:")
  • Leere Zeichenkette: Um das Icon vollstandig auszublenden

Standard-Icons

Wenn nicht in der Konfiguration angegeben, verwendet xfetch eingebaute Standard-Icon-Zuordnungen fur alle Standardmodule.

Farben

Modulfarben werden im Objekt colors konfiguriert:

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

Verfugbare Farben

NameANSI-CodeBeschreibung
Black30Standard Schwarz
Red31Standard Rot
Green32Standard Grun
Yellow33Standard Gelb
Blue34Standard Blau
Magenta35Standard Magenta
Cyan36Standard Cyan
White37Standard Wei
Grey / Gray90Helles Schwarz

Farbmodi

Die Farbausgabe kann vollstandig deaktiviert werden:

{
    "show_colors": false
}

Palettenanzeige

Das Modul palette rendert ein ANSI-Farbmuster. Der Stil wird durch das Feld palette_style gesteuert:

{
    "palette_style": "squares"
}

Palettenstile

StilVorschau
squaresAusgefllte Hintergrundfarbblocke
circlesFarbige Kreissymbole
trianglesFarbige Dreiecksymbole
linesDicke horizontale Farbbalken
dotsKleine farbige Punkte

Die Palette zeigt 8 Farben entsprechend der ANSI-Standardpalette: Schwarz, Rot, Grun, Gelb, Blau, Magenta, Cyan, Wei.

Preset-Konfigurationen

xfetch wird mit zahlreichen Preset-Konfigurationen ausgeliefert, die verschiedene visuelle Stile demonstrieren.

Showcase-Presets (23 Beispiele)

Befindlich in configs/xfetch/presets/showcase/, demonstrieren diese Presets verschiedene Icon-, Farb- und Logo-Kombinationen:

PresetLayoutHauptmerkmale
arch_compact_cyan.jsoncclassicArch-Logo, ganz Cyan
arch_full_blue.jsoncclassicArch-Logo, ganz Blau
green_chevrons_core.jsoncclassic>>-Icons, ganz Grun
minimal_plus_monochrome.jsoncclassicMinimal-Logo, +-Icons, Dunkelgrau
minimal_red_compact.jsoncclassicText-Icons wie "OS:", ganz Rot
monochrome_no_icons.jsoncclassicKeine Icons, ganz Wei
neon_hardware_compact.jsoncclassicCyan+Magenta-Neon-Theme
rainbow_letters.jsoncclassicR-O-Y-G-B-I-V-Icons, Regenbogenfarben
x_logo_full_system.jsoncclassicX-Logo, Regenbogenfarbgebung
x_logo_red_hardware.jsoncclassicX-Logo, Punkt-Icons, ganz Rot
pacman_full_white.jsoncpacmanX-Logo, meist Wei
pacman_system_compact.jsoncpacman3 Module, Cyan
pacman_abc_shell.jsoncpacmanA-B-C-Kopf
pacman_minus_uptime.jsoncpacmanMinuszeichen-Kopf
pacman_numeric_hardware.jsoncpacman1-2-3-Kopf
pacman_plus_os.jsoncpacmanPluszeichen-Kopf
pacman_question_packages.jsoncpacmanFragezeichen-Kopf
pacman_star_uptime.jsoncpacmanStern-Kopf
pacman_symbols_portable.jsoncpacman!-@-#-Kopf
pacman_xox_kernel.jsoncpacmanX-O-X-Kopf
pacman_palette_dots.jsoncpacmanPunkte-Palettenstil
pacman_palette_lines.jsoncpacmanLinien-Palettenstil
pacman_palette_triangles.jsoncpacmanDreiecke-Palettenstil

Layout-Presets (6 Beispiele)

Befindlich in configs/xfetch/presets/layouts/:

PresetLayoutHinweise
layout_box_full.jsoncboxVollstandiges Modulset mit sep-Trennern
layout_dots_full.jsoncdotsFarbige Modulgruppen
layout_pacman_full.jsoncpacmanPac-Man-Icons und "GAME OVER"-Fußzeile
layout_section.jsoncsectionDrei Gruppen: Hardware, Software, Sitzung
layout_side_block.jsoncside-blockTextlabels als Icons
layout_tree.jsonctreeVerschachtelte OS/DE/PC-Gruppen

Presets verwenden

# Mit einem bestimmten Preset ausfuhren
xfetch --config /pfad/zu/presets/showcase/arch_compact_cyan.jsonc

Oder kopieren Sie ein Preset, um es als Standard zu verwenden:

cp configs/xfetch/presets/showcase/neon_hardware_compact.jsonc ~/.config/xfetch/config.jsonc