From 9296e1bed79ce11bffd61ecd0fc3e842a65f5199 Mon Sep 17 00:00:00 2001 From: enricobuehler Date: Sun, 19 Jul 2026 20:00:21 +0200 Subject: [PATCH] =?UTF-8?q?feat(client/linux):=20preferences=20at=20830=20?= =?UTF-8?q?px=20=E2=80=94=20category=20tabs=20in=20the=20header=20bar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit AdwPreferencesDialog parks its view switcher in a bottom bar whenever the dialog is narrower than 110pt × page count (≈ 733 px for our five pages), and the default float width (~640 px) is always under that — so the tabs could never reach the header. 830 px puts them there for good (the tabbed look the Apple and Windows clients share) with margin to spare, and gives the caption-bearing rows room to breathe. A window too small to grant the width still collapses the switcher to the bottom bar on its own. Co-Authored-By: Claude Fable 5 --- clients/linux/src/ui_settings.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/clients/linux/src/ui_settings.rs b/clients/linux/src/ui_settings.rs index 583aac5b..de9f319c 100644 --- a/clients/linux/src/ui_settings.rs +++ b/clients/linux/src/ui_settings.rs @@ -365,6 +365,11 @@ pub fn show( let dialog = adw::PreferencesDialog::new(); dialog.set_title("Preferences"); dialog.set_search_enabled(true); + // Wide enough that the category switcher sits in the HEADER BAR (the tabbed look the + // Apple/Windows clients have): AdwPreferencesDialog moves it to a bottom bar below a + // breakpoint of 110pt × page count (≈ 733 px for our five pages). In a window that + // can't give the dialog this width it still collapses to the bottom bar on its own. + dialog.set_content_width(830); let inline = gamescope_session(); // ---- Display: Resolution ----