Merge pull request 'Ptyxis für Ubuntu 26 und Wayland' (#7) from feat/ptyxis-wayland-ubuntu26 into main
Ptyxis fuer Ubuntu 26 und Wayland
This commit was merged in pull request #7.
This commit is contained in:
commit
b7259601df
7 files changed
+175
-5
No files matched your search
@@ -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
|
sie verstreut (Marke in `brand/`, Dokument-CSS im Open-WebUI-Skill) und wurde nicht
|
||||||
versioniert.
|
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
|
## 1.3.1 — 2026-11-02
|
||||||
|
|
||||||
- **zsh ist Pflicht, und das Skript sagt es jetzt auch.** `shell/install.sh` installiert zsh
|
- **zsh ist Pflicht, und das Skript sagt es jetzt auch.** `shell/install.sh` installiert zsh
|
||||||
|
|||||||
@@ -75,6 +75,28 @@ und **xterm**. Schalter:
|
|||||||
`--shell-only`, `--terminal-only`, `--no-chsh`. Details und die Fallen beim Ausrollen stehen in
|
`--shell-only`, `--terminal-only`, `--no-chsh`. Details und die Fallen beim Ausrollen stehen in
|
||||||
[`shell/README.md`](shell/README.md).
|
[`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.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
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
|
## Wie Agenten das nutzen
|
||||||
|
|
||||||
Zwei Wege, gleicher Inhalt:
|
Zwei Wege, gleicher Inhalt:
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
name: kalina-ci
|
name: kalina-ci
|
||||||
description: Use when a PDF, page or slide must carry the KALINA corporate identity. One CSS, one CLI, one source.
|
description: Use when a PDF, page or slide must carry the KALINA corporate identity. One CSS, one CLI, one source.
|
||||||
metadata:
|
metadata:
|
||||||
version: "1.3.1"
|
version: "1.3.2"
|
||||||
stand: "2026-11-02"
|
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.
|
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.
|
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
|
Das Skript ist idempotent, sichert jede Datei und erkennt foot, ptyxis, qterminal,
|
||||||
sowie xterm. Die Paletten sind gemessen, nicht geraten — die drei Fallen (qtermwidget6
|
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/<uuid>/" 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]`)
|
kennt kein Benutzerverzeichnis, xfconf überstimmt `terminalrc`, foot will `[colors-dark]`)
|
||||||
stehen in `shell/README.md`.
|
stehen in `shell/README.md`.
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 54 KiB |
@@ -72,6 +72,29 @@ weil qtermwidget6 nur `XDG_DATA_DIRS` durchsucht), **xfce4-terminal**
|
|||||||
(`~/.config/xfce4/terminal/terminalrc` **und** `xfconf-query`, sonst gewinnt
|
(`~/.config/xfce4/terminal/terminalrc` **und** `xfconf-query`, sonst gewinnt
|
||||||
das GTK-Theme) sowie **xterm** (`~/.Xresources`, aktiv nach `xrdb -merge`).
|
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/<uuid>/" 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
|
## Schalter im Prompt
|
||||||
|
|
||||||
| Variable | Wirkung |
|
| 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
|
- **p10k wird abgeloest, nicht umgef aerbt.** Wer `~/.p10k.zsh` behaelt, muss
|
||||||
`ZSH_THEME=""` setzen und die Instant-Prompt-Zeilen samt `fi` auskommentieren —
|
`ZSH_THEME=""` setzen und die Instant-Prompt-Zeilen samt `fi` auskommentieren —
|
||||||
sonst startet jede Shell mit `parse error near 'fi'`.
|
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/<uuid>/`
|
||||||
|
heissen, sonst bricht er mit „is relocatable and needs a :path" ab.
|
||||||
- **Login-Shell-Wechsel:** nicht-interaktive zsh-Aufrufe (`ssh host '…'`) brechen bei
|
- **Login-Shell-Wechsel:** nicht-interaktive zsh-Aufrufe (`ssh host '…'`) brechen bei
|
||||||
leerem Glob ab, bash nicht. Das Modul setzt deshalb `no_nomatch` in `~/.zshenv`.
|
leerem Glob ab, bash nicht. Das Modul setzt deshalb `no_nomatch` in `~/.zshenv`.
|
||||||
+78
-2
@@ -233,12 +233,88 @@ do_terminal() {
|
|||||||
chosen=xfce4-terminal; xfce_setup
|
chosen=xfce4-terminal; xfce_setup
|
||||||
fi
|
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.
|
# xterm-Ressourcen zusaetzlich, wenn xterm daneben installiert ist.
|
||||||
if command -v xterm >/dev/null && [ "$chosen" != xterm ]; then
|
if command -v xterm >/dev/null && [ "$chosen" != xterm ]; then
|
||||||
chosen="${chosen:-xterm}"; xterm_setup
|
chosen="${chosen:-xterm}"; xterm_setup
|
||||||
fi
|
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() {
|
foot_setup() {
|
||||||
@@ -492,7 +568,7 @@ RC=0
|
|||||||
|
|
||||||
say ""
|
say ""
|
||||||
step "Fertig"
|
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)"
|
ok "neu starten: exec zsh — oder einmal neu einloggen (Login-Shell greift erst dann)"
|
||||||
elif [ "$RC" = 0 ]; then
|
elif [ "$RC" = 0 ]; then
|
||||||
warn "ohne zsh kein Prompt — im echten Lauf bricht der Shell-Teil hier ab"
|
warn "ohne zsh kein Prompt — im echten Lauf bricht der Shell-Teil hier ab"
|
||||||
|
|||||||
@@ -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
|
||||||
Reference in new issue
Block a user