fontra / fontra/fontra-flatpak

[Fedora / Wayland] Non-native window decorations & missing libxcb-cursor / Qt GTK plugins

Open
#32 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Shell
Stars
4
Forks
2
Avg merge
15h 16m
Merged PRs (30d)
1

Description

### Environment
- **OS:** Fedora 44 (GNOME Desktop)
- **Display Server:** Wayland (with XWayland disabled)
- **Flatpak App ID:** `xyz.fontra.FontraPak`

---

### Issue Description
When running `xyz.fontra.FontraPak` under GNOME on Wayland, the window title bar and control buttons (minimize, maximize, close) do not follow system settings or native GNOME/Adwaita styling.

Image

Upon investigating via terminal overrides, a few underlying issues with the PyInstaller Qt bundle were identified:

1. **Missing Qt GTK/Adwaita Platform Plugins:**
Attempting to pass `QT_STYLE_OVERRIDE=adwaita` outputs:
`QApplication: invalid style override 'adwaita' passed, ignoring it. Available styles: Windows, Fusion`
Because the bundle only includes `Windows` and `Fusion`, Qt cannot render native GTK/Adwaita window controls or themes.

2. **Missing `libxcb-cursor0` Dependency for XCB Mode:**
When forcing X11/XCB mode (`QT_QPA_PLATFORM=xcb`), the app fails to launch with:
`qt.qpa.plugin: From 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin.`

3. **Unhandled Exception on Release Check:**
During launch, the update checker thread throws a non-fatal exception:
`RuntimeError: wrapped C/C++ object of type CallInMainThreadScheduler has been deleted`

---

### Suggested Fix
- Include `adwaita-qt` or `qgnomeplatform` (or standard Qt GTK platform integration modules) inside the PyInstaller/Flatpak build pipeline so native GNOME window decorations render properly under Wayland.
- Ensure `libxcb-cursor.so.0` is bundled or present in the base runtime to support fallback under X11/XCB.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the launch under Fedora GNOME on Wayland and reviewing the PyInstaller/Flatpak build pipeline mentioned in the issue. Check the bundled Qt styles and XCB dependency, then investigate the release-check exception during startup. Done means native-looking window controls work, XCB fallback launches when required, and the non-fatal exception no longer appears.

Written by the indexing model from the issue text.

Assessment

Tech stack
fedora, linux, python, shell
Domain
build-system, desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.