Skip to content

Merge Codex UI polish and Linux desktop fixes into dev - #3

Merged
Nikovash merged 4 commits into
devfrom
Codex
Jun 24, 2026
Merged

Merge Codex UI polish and Linux desktop fixes into dev#3
Nikovash merged 4 commits into
devfrom
Codex

Conversation

@Nikovash

Copy link
Copy Markdown
Owner

Summary

This PR merges the Codex branch into dev with a focused Linux/Qt desktop polish pass and version bump to Yerbas Core 3.3.420.69

Changes

  • Bumped Yerbas Core version from 3.2.0.1 to 3.3.420.69
  • Fixed Linux taskbar/window matching with StartupWMClass=Yerbas-Qt
  • Added Linux desktop startup notification metadata
  • Switched Qt app/tray icon loading to the Yerbas icon resource
  • Added multi-size tray/window icon generation for cleaner Linux rendering
  • Improved Linux tray click handling, including trigger, double-click, middle-click, and context-menu behavior
  • Reworked splash screen scaling so it clamps to available desktop geometry instead of opening oversized
  • Improved splash text rendering using proper QFont handling, antialiasing hints, proportional layout, footer backing, and shadow pass
  • Added a guard against empty key text in the splash quit-key handler
  • Added Linux-specific Qt DPI normalization to prevent oversized wallet UI layouts
  • Preserved Windows/macOS high-DPI behavior
  • Added YERBAS_QT_RESPECT_SYSTEM_SCALE=1 as a Linux escape hatch for users who want native system scaling

Testing

  • Built and launched yerbas-qt on
    • Debian 12 & 13
    • Ubuntu 18, 22 & 24
    • Mint Linux Newest
    • Fedora 44
    • Arch Linux
  • Verified splash screen now opens at a sane size and remains readable
  • Verified main wallet window no longer opens with oversized/clipped content on Linux
  • Verified -resetguisettings produces sane default geometry

TODO

  • Fix icons for windows, Linux and macOS

Nikovash added 4 commits June 23, 2026 15:36
- Add StartupWMClass and StartupNotify metadata to the Debian desktop entry so Linux panels can match Yerbas Core to the running Qt window
- Add icon, StartupWMClass, and StartupNotify metadata to generated autostart desktop entries
- Add a Yerbas-specific Qt resource alias for the runtime application icon while keeping the inherited bitcoin alias for existing references
- Update NetworkStyle to load the Yerbas icon resource for the main runtime app icon
- Build the tray and window icon with multiple common icon sizes so taskbars and window managers receive a usable _NET_WM_ICON payload
- Keeps installed launcher identity, autostart entries, and runtime Qt window metadata aligned with the Yerbas-Qt window class
- Updated version to 3.2.0.2
- Move the Linux tray icon activation connection into createTrayIcon so the tray click handler is wired when the tray icon is created
- Keep macOS dock menu handling isolated under the existing Q_OS_MAC path
- Broaden tray activation handling to respond to single click, double click, and middle click events
- Preserve existing tray context menu creation through setClientModel
- Bump build version to 3.2.0.3 for the tray interaction fix
- Restore Linux tray click behavior so the tray icon can bring the wallet forward, hide it, and respond to supported activation events
- Handle tray context activation explicitly so right-click opens the tray menu on Linux tray/status notifier hosts
- Defer Linux tray activation wiring until after startup layout settles to prevent splash-time tray events from crashing the GUI
- Keep macOS dock behavior isolated under Q_OS_MAC
- Scale the Yerbas resource icon into a tray-sized pixmap before passing it to QSystemTrayIcon
- Re-apply the scaled tray icon after tray registration so Linux status notifier hosts render the icon correctly
- Add Qt includes needed for delayed tray wiring, menu positioning, direct icon use, and tray pixmap handling
- Keep the Yerbas runtime icon path using the :/icons/yerbas resource alias
- Update Linux desktop and autostart metadata for cleaner window/icon matching
- Bump the fork build version to 3.2.420.69 as a temporary test/fork identifier
- Bumped Yerbas Core version to 3.3.420.69
- Improved splash screen sizing by clamping it to available desktop geometry
- Preserved splash image aspect ratio during scaling
- Reworked splash text placement to use proportional layout instead of fixed coordinates
- Replaced serialized font-string usage with proper QFont objects
- Enabled antialiasing hints for splash, footer, and status text rendering
- Added subtle footer backing and shadow pass for better splash text readability
- Guarded splash quit-key handling against empty key text
- Added Linux-specific Qt scaling normalization to prevent oversized wallet UI layouts
- Preserved Windows and macOS high-DPI behavior
- Added YERBAS_QT_RESPECT_SYSTEM_SCALE=1 escape hatch for Linux users who want native desktop scaling
@Nikovash Nikovash self-assigned this Jun 24, 2026
@Nikovash
Nikovash merged commit 59110ca into dev Jun 24, 2026
20 checks passed
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