Files
ddidderr 30863e1f0b test(gtk): live D-Bus/portal comparison against the original Ghostty
Adds scripts/live-dbus-test.sh (`just live-dbus`): each scenario runs
the installed Ghostty 1.3.1 and the Rust build on a private
dbus-run-session bus inside a private headless weston (the user's
session bus is never written to), with Python/Gio mocks for
org.freedesktop.Notifications, the GlobalShortcuts/Settings portal and
org.freedesktop.systemd1, plus a real xdg-desktop-portal run. Scenarios:
single-instance (+detect), +new-window with arguments, notifications,
global shortcuts, color-scheme settings, cgroup scope creation, URL
opening. tests/live_dbus.rs compares the Rust build against goldens
recorded from the original (skips when tools or a fresh production
build are missing).

Two Rust bugs found and fixed (no upstream deviation):
- GlobalShortcuts CreateSession/BindShortcuts payloads used the wrong
  D-Bus signatures ((v), double-boxed values), which a real portal
  rejects; signature tests added.
- CreateSession was sent twice at startup; the config is now bound only
  after the D-Bus connection is set, as in Zig.

All nine scenarios now behave identically to the original
(docs/rewrite/notes/live-dbus.md).

Test Plan:
- just live-dbus
- cargo test --test live_dbus (needs target/vp/production/ghostty)
2026-10-12 18:49:53 +02:00

13 lines
817 B
Plaintext

== facts ==
tty: startup: 997 reports=1 last bg=rgb:1111/2222/3333
tty: after portal color-scheme=2: 997 reports=1,2 last bg=rgb:ffff/eeee/dddd
tty: after portal color-scheme=1: 997 reports=2,1 last bg=rgb:1111/2222/3333
tty: after portal color-scheme=0: 997 reports=1,2 last bg=rgb:ffff/eeee/dddd
tty: after portal color-scheme=2: 997 reports=- last bg=rgb:ffff/eeee/dddd
tty: after reload window-theme=dark: 997 reports=2 last bg=rgb:ffff/eeee/dddd
tty: after portal color-scheme=2 with window-theme=dark: 997 reports=- last bg=rgb:ffff/eeee/dddd
== mock received ==
org.freedesktop.portal.Settings.Read ["org.freedesktop.appearance", "color-scheme"]
org.freedesktop.portal.Settings.Read ["org.freedesktop.appearance", "contrast"]
org.freedesktop.portal.Settings.Read ["org.freedesktop.appearance", "accent-color"]