diff --git a/CHANGELOG.md b/CHANGELOG.md index 50287f1..ec86a07 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,19 @@ Format: Datum — was — warum. Die CI beginnt versioniert am 2026-10-23; davor sie verstreut (Marke in `brand/`, Dokument-CSS im Open-WebUI-Skill) und wurde nicht versioniert. +## 1.3.2 — 2026-11-02 + +- **Ubuntu 26 und Wayland: Ptyxis wird eingerichtet.** Seit Ubuntu 26.04 ist Ptyxis das + Standard-Terminal (GNOME 50, Wayland-nativ). `install.sh` legt die Palette als + `~/.local/share/org.gnome.Ptyxis/palettes/KalinaCI.palette` ab und haengt sie per + `gsettings` an jedes vorhandene Profil — kein `sudo`, kein Paket. Fehlt das Profil noch, + sagt es das statt still nichts zu tun. +- Neue Vorlage `shell/palettes/KalinaCI.palette` — die Palette einzeln, ohne Skript + installierbar. +- Startseite: Abschnitt „Ubuntu 26 und Wayland" mit echtem Wayland-Screenshot + (`assets/vorschau-ptyxis.png`): 74,9 % `#0B0F14`, 11,9 % Titelbar `#0E131A`, ANSI-Rot und + -Gruen innerhalb 2/255. + ## 1.3.1 — 2026-11-02 - **zsh ist Pflicht, und das Skript sagt es jetzt auch.** `shell/install.sh` installiert zsh diff --git a/README.md b/README.md index 8317b87..42ac084 100644 --- a/README.md +++ b/README.md @@ -75,6 +75,28 @@ und **xterm**. Schalter: `--shell-only`, `--terminal-only`, `--no-chsh`. Details und die Fallen beim Ausrollen stehen in [`shell/README.md`](shell/README.md). +### Ubuntu 26 und Wayland + +Ubuntu 26.04 bringt GNOME 50 und damit **Ptyxis** als Standard-Terminal: Wayland-nativ, ohne +X11-Rueckfall. Der Prompt laeuft dort unveraendert (zsh ist in Ubuntu dabei), die Palette kommt +als Datei ins Benutzerverzeichnis — kein `sudo`, kein Paket, kein Kompilieren: + +```bash +mkdir -p ~/.local/share/org.gnome.Ptyxis/palettes +curl -fsSLo ~/.local/share/org.gnome.Ptyxis/palettes/KalinaCI.palette \ + https://gitea.m-m.bio/mm/kalina-ci/raw/branch/main/shell/palettes/KalinaCI.palette +``` + +Danach in Ptyxis: **Einstellungen → Aussehen → Palette „Kalina CI"** (gegebenenfalls +„Alle Paletten anzeigen"). `install.sh` macht beides — Datei ablegen und die Palette am Profil +eintragen (dconf-Schluessel `org.gnome.Ptyxis.Profile:…/palette`), samt `DejaVu Sans Mono 12`. +Gibt es noch kein Profil, sagt es das und nennt den Weg von Hand. + +![Ptyxis unter Wayland mit der CI-Palette](assets/vorschau-ptyxis.png) + +Gemessen an einem echten Wayland-Screenshot (Ptyxis 50.1, VTE 0.84): 74,9 % der Flaeche +`#0B0F14`, 11,9 % Titelbar `#0E131A`, ANSI-Rot und -Gruen innerhalb 2/255 der Vorgabe. + ## Wie Agenten das nutzen Zwei Wege, gleicher Inhalt: diff --git a/SKILL.md b/SKILL.md index 8ab2b17..8f925b0 100644 --- a/SKILL.md +++ b/SKILL.md @@ -2,7 +2,7 @@ name: kalina-ci description: Use when a PDF, page or slide must carry the KALINA corporate identity. One CSS, one CLI, one source. metadata: - version: "1.3.1" + version: "1.3.2" stand: "2026-11-02" --- @@ -169,8 +169,12 @@ selbst; kann es das nicht (kein Paketmanager, `sudo` ohne Passwort), bricht der Exit 1 ab und nennt den Befehl, statt einen wirkungslosen `~/.zshrc`-Eintrag zu hinterlassen. Danach `exec zsh` oder neu einloggen, sonst greift die Login-Shell nicht. -Das Skript ist idempotent, sichert jede Datei und erkennt foot, qterminal, xfce4-terminal -sowie xterm. Die Paletten sind gemessen, nicht geraten — die drei Fallen (qtermwidget6 +Das Skript ist idempotent, sichert jede Datei und erkennt foot, ptyxis, qterminal, +xfce4-terminal sowie xterm. **Ubuntu 26** bringt GNOME 50 und damit **Ptyxis** als +Standard-Terminal (Wayland): Palette als +`~/.local/share/org.gnome.Ptyxis/palettes/KalinaCI.palette` ablegen und per +`gsettings set "org.gnome.Ptyxis.Profile:/org/gnome/Ptyxis/Profiles//" palette "KalinaCI"` +am Profil eintragen — die Datei allein genuegt nicht. Die Paletten sind gemessen, nicht geraten — die drei Fallen (qtermwidget6 kennt kein Benutzerverzeichnis, xfconf überstimmt `terminalrc`, foot will `[colors-dark]`) stehen in `shell/README.md`. diff --git a/assets/vorschau-ptyxis.png b/assets/vorschau-ptyxis.png new file mode 100644 index 0000000..d4f99e8 Binary files /dev/null and b/assets/vorschau-ptyxis.png differ diff --git a/shell/README.md b/shell/README.md index d8977c6..83b44ee 100644 --- a/shell/README.md +++ b/shell/README.md @@ -72,6 +72,29 @@ weil qtermwidget6 nur `XDG_DATA_DIRS` durchsucht), **xfce4-terminal** (`~/.config/xfce4/terminal/terminalrc` **und** `xfconf-query`, sonst gewinnt das GTK-Theme) sowie **xterm** (`~/.Xresources`, aktiv nach `xrdb -merge`). +**Ptyxis** — seit Ubuntu 26.04 das Standard-Terminal (GNOME 50, Wayland-nativ) — wird zusaetzlich +eingerichtet, wenn es neben einem der anderen liegt: Palette als Datei nach +`~/.local/share/org.gnome.Ptyxis/palettes/KalinaCI.palette`, dann per `gsettings` an jedes +vorhandene Profil gehaengt: + +```sh +gsettings set "org.gnome.Ptyxis.Profile:/org/gnome/Ptyxis/Profiles//" palette "KalinaCI" +``` + +Die UUIDs stehen in `gsettings get org.gnome.Ptyxis profile-uuids`. Vor dem ersten Start von +Ptyxis gibt es kein Profil — dann legt das Skript nur die Datei ab und nennt den Weg von Hand +(Einstellungen → Aussehen → Palette, gegebenenfalls „Alle Paletten anzeigen"). Die Vorlage +allein, ohne Skript: + +```sh +mkdir -p ~/.local/share/org.gnome.Ptyxis/palettes +curl -fsSLo ~/.local/share/org.gnome.Ptyxis/palettes/KalinaCI.palette \ + https://gitea.m-m.bio/mm/kalina-ci/raw/branch/main/shell/palettes/KalinaCI.palette +``` + +`shell/palettes/KalinaCI.palette` ist die Vorlage; der Heredoc-Block in `install.sh` traegt +dieselben Werte und muss beim Aendern mitgezogen werden. + ## Schalter im Prompt | Variable | Wirkung | @@ -89,5 +112,10 @@ das GTK-Theme) sowie **xterm** (`~/.Xresources`, aktiv nach `xrdb -merge`). - **p10k wird abgeloest, nicht umgef aerbt.** Wer `~/.p10k.zsh` behaelt, muss `ZSH_THEME=""` setzen und die Instant-Prompt-Zeilen samt `fi` auskommentieren — sonst startet jede Shell mit `parse error near 'fi'`. +- **Ubuntu 26: Ptyxis statt GNOME Terminal.** Die Palette ist eine GKeyFile-Datei im + Benutzerverzeichnis, die Auswahl haengt aber am Profil (dconf) — Datei allein aendert nichts. +- **`gsettings` braucht das relocatable Schema.** `org.gnome.Ptyxis.Profile` ist ohne Pfad + nicht adressierbar; der Aufruf muss `org.gnome.Ptyxis.Profile:/org/gnome/Ptyxis/Profiles//` + heissen, sonst bricht er mit „is relocatable and needs a :path" ab. - **Login-Shell-Wechsel:** nicht-interaktive zsh-Aufrufe (`ssh host '…'`) brechen bei leerem Glob ab, bash nicht. Das Modul setzt deshalb `no_nomatch` in `~/.zshenv`. diff --git a/shell/install.sh b/shell/install.sh index f1db0b7..31ab682 100755 --- a/shell/install.sh +++ b/shell/install.sh @@ -233,12 +233,88 @@ do_terminal() { chosen=xfce4-terminal; xfce_setup fi + # Ptyxis ist seit Ubuntu 26.04 das Standard-Terminal (GNOME 50, Wayland). Es wird + # zusaetzlich eingerichtet, weil es neben foot/qterminal liegen kann. + if command -v ptyxis >/dev/null && [ "$chosen" != ptyxis ]; then + chosen="${chosen:-ptyxis}"; ptyxis_setup + fi + # xterm-Ressourcen zusaetzlich, wenn xterm daneben installiert ist. if command -v xterm >/dev/null && [ "$chosen" != xterm ]; then chosen="${chosen:-xterm}"; xterm_setup fi - [ -n "$chosen" ] || warn "kein bekanntes Terminal gefunden (foot, qterminal, xfce4-terminal, xterm)" + [ -n "$chosen" ] || warn "kein bekanntes Terminal gefunden (foot, ptyxis, qterminal, xfce4-terminal, xterm)" +} + +ptyxis_setup() { + local dir="$HOME/.local/share/org.gnome.Ptyxis/palettes" + local file="$dir/KalinaCI.palette" + + if [ -f "$file" ] && grep -qF "Name=Kalina CI" "$file"; then + ok "ptyxis: Palette liegt schon in ~/.local/share/org.gnome.Ptyxis/palettes" + else + [ -d "$dir" ] || run mkdir -p "$dir" + backup "$file" + if [ "$DRY" = 0 ]; then + cat > "$file" <<'PTYXIS' +# Kalina CI — Palette fuer Ptyxis (Ubuntu 26 Standard-Terminal, Wayland). +# Kein sudo noetig: diese Datei im Benutzerverzeichnis genuegt. +# Quelle im Repo: shell/palettes/KalinaCI.palette — bitte gleich halten. +[Palette] +Name=Kalina CI +Primary=false + +Foreground=#F5F5EF +Background=#0B0F14 +Cursor=#C1121F +CursorForeground=#0B0F14 +TitlebarBackground=#0E131A +TitlebarForeground=#8A94A2 + +Color0=#1A212A +Color1=#E0454F +Color2=#7FA88C +Color3=#C7A46B +Color4=#7E93AD +Color5=#BE8FA0 +Color6=#8FB3B3 +Color7=#F5F5EF +Color8=#5C6675 +Color9=#FF6B75 +Color10=#9CC2A8 +Color11=#E0C08A +Color12=#A3B6CB +Color13=#D3A8B8 +Color14=#AECBCB +Color15=#FFFFFF +PTYXIS + fi + ok "ptyxis: KalinaCI.palette geschrieben" + fi + + # Palette muss noch am Profil haengen; das ist ein dconf-Schluessel, keine Datei. + if ! command -v gsettings >/dev/null; then + warn "ptyxis: gsettings fehlt — Palette von Hand waehlen: Einstellungen -> Aussehen -> Palette" + return 0 + fi + local uuids uuid + # gsettings liefert '@as []' als leere Liste — das darf kein Profilpfad werden. + uuids="$(gsettings get org.gnome.Ptyxis profile-uuids 2>/dev/null \ + | sed "s/^@as //; s/[][]//g; s/[ ,]//g; s/'//g")" + if [ -z "$uuids" ]; then + warn "ptyxis: noch kein Profil vorhanden — Ptyxis einmal oeffnen, dann dieses Skript erneut starten" + say " Einstellungen -> Aussehen -> Palette 'Kalina CI' (ggf. 'Alle Paletten anzeigen')" + return 0 + fi + for uuid in $uuids; do + printf "%s" "$uuid" | grep -qE "^[0-9a-f]{32}$" || { warn "ptyxis: unerwartete Profilkennung '$uuid' — Palette von Hand waehlen"; continue; } + run gsettings set "org.gnome.Ptyxis.Profile:/org/gnome/Ptyxis/Profiles/$uuid/" palette "KalinaCI" \ + && ok "ptyxis: Palette am Profil ${uuid:0:8} gesetzt" + done + run gsettings set org.gnome.Ptyxis use-system-font false + run gsettings set org.gnome.Ptyxis font-name "DejaVu Sans Mono 12" + ok "ptyxis: DejaVu Sans Mono 12 (Systemschrift aus)" } foot_setup() { @@ -492,7 +568,7 @@ RC=0 say "" step "Fertig" -if [ "$RC" = 0 ] && [ "$ZSH_OK" = 1 ]; then +if [ "$RC" = 0 ] && { [ "$DO_SHELL" = 0 ] || [ "$ZSH_OK" = 1 ]; }; then ok "neu starten: exec zsh — oder einmal neu einloggen (Login-Shell greift erst dann)" elif [ "$RC" = 0 ]; then warn "ohne zsh kein Prompt — im echten Lauf bricht der Shell-Teil hier ab" diff --git a/shell/palettes/KalinaCI.palette b/shell/palettes/KalinaCI.palette new file mode 100644 index 0000000..b0f00b3 --- /dev/null +++ b/shell/palettes/KalinaCI.palette @@ -0,0 +1,27 @@ +[Palette] +Name=Kalina CI +Primary=false + +Foreground=#F5F5EF +Background=#0B0F14 +Cursor=#C1121F +CursorForeground=#0B0F14 +TitlebarBackground=#0E131A +TitlebarForeground=#8A94A2 + +Color0=#1A212A +Color1=#E0454F +Color2=#7FA88C +Color3=#C7A46B +Color4=#7E93AD +Color5=#BE8FA0 +Color6=#8FB3B3 +Color7=#F5F5EF +Color8=#5C6675 +Color9=#FF6B75 +Color10=#9CC2A8 +Color11=#E0C08A +Color12=#A3B6CB +Color13=#D3A8B8 +Color14=#AECBCB +Color15=#FFFFFF