Skip to content

chore: improve Linux desktop compatibility diagnostics#42

Merged
TimInTech merged 1 commit into
mainfrom
chore/compatibility-matrix-diagnostics
Jul 4, 2026
Merged

chore: improve Linux desktop compatibility diagnostics#42
TimInTech merged 1 commit into
mainfrom
chore/compatibility-matrix-diagnostics

Conversation

@TimInTech

Copy link
Copy Markdown
Owner

Summary

This PR improves Blitztext Linux compatibility diagnostics for different Linux desktop/session environments without expanding official support promises.

Changes:

  • adds session/desktop diagnostics to scripts/verify.sh
  • aligns clipboard backend checks with the actual app behavior:
    • X11 requires xclip
    • Wayland requires wl-copy
  • treats missing ydotool as a warning instead of a hard failure, because transcription and clipboard-only mode still work
  • documents a diagnostic compatibility matrix for Kubuntu, Ubuntu, Linux Mint, and Lubuntu in docs/setup.md
  • adds regression tests for verify-script behavior

Verification

  • python3 -m compileall app tests
  • QT_QPA_PLATFORM=offscreen WHISPER_GUI_TESTS=1 python -m pytest -q
  • git diff --check
  • bash -n scripts/verify.sh
  • bash -n scripts/install.sh
  • shellcheck scripts/verify.sh scripts/install.sh

Result before push:

  • 447 passed
  • ShellCheck clean
  • working tree clean
  • ROADMAP.md not tracked
  • no secrets
  • no Vault changes
  • no README/screenshot/asset changes
  • no Vocalinux-derived code, tests, text, or structure

Scope

This is diagnostics/documentation/test hardening only.

Not changed:

  • Hotkey worker logic
  • Transcription pipeline
  • LLMService
  • ComposeWindow
  • TTSWindow
  • PasteService security model
  • Installer/systemd behavior
  • Releases/tags/versioning

Support note

The compatibility matrix is diagnostic, not a support guarantee. Mint and Lubuntu are documented as untested VM targets for follow-up validation.

Merge note

Do not merge before CI is green and final approval is given.

- verify.sh: neue Info-Sektion Session & Desktop (XDG_SESSION_TYPE,
  XDG_CURRENT_DESKTOP, WAYLAND_DISPLAY, DISPLAY), rein informativ
- Clipboard-Checks session-abhängig: reine X11-Session verlangt xclip
  (wl-copy nur WARN), Wayland/headless verlangt wl-copy (xclip nur WARN)
- ydotool fehlt: WARN statt FAIL — konsistent mit install.sh und dem
  Clipboard-only-Fallback der App
- Hinweis, dass Fenster/Tray auch ohne input-Gruppe funktioniert
- docs/setup.md: Kompatibilitätsmatrix (Kubuntu/Ubuntu/Mint/Lubuntu) als
  Diagnose-Referenz, ausdrücklich kein Supportversprechen
- tests: 4 neue verify.sh-Tests (Session-Info, X11- vs. Wayland-Pflicht-
  Backend, ydotool-WARN)

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e55ac5c9a2

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread scripts/verify.sh
# Die App wählt das Clipboard-Backend nach Umgebung: wl-copy, wenn
# WAYLAND_DISPLAY gesetzt ist oder gar kein DISPLAY existiert; nur in einer
# reinen X11-Session (DISPLAY ohne WAYLAND_DISPLAY) ist xclip das Pflicht-Backend.
if [[ -z "${WAYLAND_DISPLAY:-}" && -n "${DISPLAY:-}" ]]; then

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Check Wayland socket before requiring wl-copy

When WAYLAND_DISPLAY is set but points to no socket while DISPLAY is set, the launcher falls back to X11 by unsetting WAYLAND_DISPLAY in app/blitztext_linux.py, and PasteService then needs xclip. This new detection treats any non-empty WAYLAND_DISPLAY as Wayland, so verify.sh can fail on missing wl-copy and only warn on missing xclip even though the app will run in X11; mirror the startup normalization or validate the socket before choosing CLIPBOARD_REQUIRED.

Useful? React with 👍 / 👎.

@TimInTech
TimInTech merged commit aed98d6 into main Jul 4, 2026
7 checks passed
@TimInTech
TimInTech deleted the chore/compatibility-matrix-diagnostics branch July 4, 2026 13:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant