Improve GUI appearance on macOS 26 #962

pull Portles wants to merge 1 commits into bitcoin-core:master from Portles:30-08-2026-macos-liquid-glass changing 11 files +228 −1
  1. Portles commented at 3:48 PM on August 30, 2026: none

    On macOS 26, Bitcoin Core’s existing Qt widgets retain the appearance used on earlier macOS releases. This makes text fields, spin boxes, the main toolbar, and the Node window tabs look liquid glass design with the updated system interface. This change applies macOS 26-specific liquid glass styling to these controls. It rounds text and spin boxes, unifies the main title bar and toolbar, and styles the Node window tabs using qt palette colors. The liquid glass styling is enabled only at runtime on macOS 26 or later and is not activated on earlier releases. Spin-box arrows are provided as 1x and 2x png resources to avoid introducing a QtSvg runtime dependency.

    Cool note: Not manually tested on macOS versions earlier than 26.

  2. DrahtBot commented at 3:48 PM on August 30, 2026: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline and AI policy for information on the review process. A summary of reviews will appear here.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

  3. qt: Improve GUI appearance on macOS 26 9292f1e015
  4. Portles force-pushed on Aug 30, 2026
  5. DrahtBot added the label CI failed on Aug 30, 2026
  6. DrahtBot commented at 8:06 PM on August 30, 2026: contributor

    <!--85328a0da195eb286784d51f73fa0af9-->

    🚧 At least one of the CI tasks failed. <sub>Task lint: https://github.com/bitcoin-core/gui/actions/runs/33320671988/job/99287843470</sub> <sub>LLM reason (✨ experimental): CI failed because the lint “includes_build_config” check detected usage of symbols from bitcoin-build-config.h without directly including the header (in src/qt/test/apptests.cpp).</sub>

    <details><summary>Hints</summary>

    Try to run the tests locally, according to the documentation. However, a CI failure may still happen due to a number of reasons, for example:

    • Possibly due to a silent merge conflict (the changes in this pull request being incompatible with the current code in the target branch). If so, make sure to rebase on the latest commit of the target branch.

    • A sanitizer issue, which can only be found by compiling with the sanitizer and running the affected test.

    • An intermittent issue.

    Leave a comment here, if you need help tracking down a confusing failure.

    </details>

  7. hebasto renamed this:
    qt: Improve GUI appearance on macOS 26
    Improve GUI appearance on macOS 26
    on Sep 1, 2026
  8. hebasto commented at 3:15 PM on September 1, 2026: member

    @Portles

    Thank you for your contribution!

    However, we usually rely solely on the themes provided by Qt and do not attempt to adjust the GUI appearance to match the native style of any particular OS. Otherwise, that would impose an extra burden on code review, testing, and maintenance.

  9. DrahtBot removed the label CI failed on Sep 1, 2026
  10. Portles commented at 10:15 AM on September 3, 2026: none

    @hebasto

    Thank you for your reply

    I understand the maintenance concern. To clarify, this change is not intended to make the application look more like native macOS. It only ensures that the existing Qt components continue to behave correctly on newer macOS versions, without changing the intended design. These behaviors are being enforced by newer macOS SDKs and toolchains, so this PR proactively prevents the UI issues that would otherwise appear in future builds.

    And here is the proof: https://developer.apple.com/documentation/bundleresources/information-property-list/uidesignrequirescompatibility


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin-core/gui. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-09-08 07:57 UTC