From 7b7cd3e575302d6d9a027e063c99c1b2472a8bb2 Mon Sep 17 00:00:00 2001 From: Nils Pukropp Date: Sun, 4 Oct 2026 23:38:46 +0200 Subject: [PATCH] style: one sans and one mono, and no stretched text GTK, Qt and Hyprland's own text move to the shell's pair: Noto Sans for interface text and JetBrainsMono Nerd Font for figures and code. They had been Adwaita Sans, Sans Serif and FiraCode. The tray menu now slides and fades in without scaling, and a pressed button sinks one pixel instead of shrinking, so no label is ever stretched mid-animation. --- gtk-3.0/settings.ini | 2 +- gtk-4.0/settings.ini | 2 +- hypr/lua/look.lua | 2 +- qt6ct/qt6ct.conf | 4 ++-- quickshell/README.md | 4 ++++ quickshell/components/P5Button.qml | 7 +++---- quickshell/popouts/TrayMenu.qml | 13 ++----------- 7 files changed, 14 insertions(+), 20 deletions(-) diff --git a/gtk-3.0/settings.ini b/gtk-3.0/settings.ini index a9b7766..b346698 100644 --- a/gtk-3.0/settings.ini +++ b/gtk-3.0/settings.ini @@ -1,7 +1,7 @@ [Settings] gtk-theme-name=adw-gtk3-dark gtk-icon-theme-name=Papirus-Dark -gtk-font-name=Adwaita Sans 11 +gtk-font-name=Noto Sans 11 gtk-cursor-theme-name=Bibata-Modern-Classic gtk-cursor-theme-size=24 gtk-application-prefer-dark-theme=1 diff --git a/gtk-4.0/settings.ini b/gtk-4.0/settings.ini index a9b7766..b346698 100644 --- a/gtk-4.0/settings.ini +++ b/gtk-4.0/settings.ini @@ -1,7 +1,7 @@ [Settings] gtk-theme-name=adw-gtk3-dark gtk-icon-theme-name=Papirus-Dark -gtk-font-name=Adwaita Sans 11 +gtk-font-name=Noto Sans 11 gtk-cursor-theme-name=Bibata-Modern-Classic gtk-cursor-theme-size=24 gtk-application-prefer-dark-theme=1 diff --git a/hypr/lua/look.lua b/hypr/lua/look.lua index abc23cb..c326ae7 100644 --- a/hypr/lua/look.lua +++ b/hypr/lua/look.lua @@ -71,7 +71,7 @@ hl.config({ disable_hyprland_logo = true, -- 0 = off, 1 = always, 2 = fullscreen only (G7 is a 240Hz VRR panel) vrr = 0, - font_family = "FiraCode Nerd Font", + font_family = "JetBrainsMono Nerd Font", background_color = c.base, focus_on_activate = true, -- The shell powers displays down after idle (quickshell/services/Idle.qml) diff --git a/qt6ct/qt6ct.conf b/qt6ct/qt6ct.conf index 4e54836..a747460 100644 --- a/qt6ct/qt6ct.conf +++ b/qt6ct/qt6ct.conf @@ -6,8 +6,8 @@ standard_dialogs=default style=Darkly [Fonts] -fixed="Sans Serif,9,-1,5,400,0,0,0,0,0,0,0,0,0,0,1" -general="Adwaita Sans,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1" +fixed="JetBrainsMono Nerd Font,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1" +general="Noto Sans,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1" [Interface] activate_item_on_single_click=1 diff --git a/quickshell/README.md b/quickshell/README.md index ca792cc..c2dea3b 100644 --- a/quickshell/README.md +++ b/quickshell/README.md @@ -405,6 +405,10 @@ network and bluetooth, but keep running as the secret and pairing agents. Selection is the light slab with ink text; only destructive actions are red. The theme name is also in `xsettingsd/xsettingsd.conf` and has to be set with `gsettings` for portal-aware apps. +- **Type** — one sans and one mono everywhere: Noto Sans for interface text + and JetBrainsMono Nerd Font for figures and code, in the shell + (`Theme.fontDisplay` / `fontMono`), GTK (`settings.ini` and the gsettings + `font-name` / `monospace-font-name`), qt6ct and Hyprland's own text. - **Qt** — qt6ct with `qt6ct/colors/yorha.conf`, the same palette in `QPalette` roles, drawn with the Darkly style (package `darkly-bin`) for rounded controls. Fusion is the fallback if Darkly is missing. diff --git a/quickshell/components/P5Button.qml b/quickshell/components/P5Button.qml index fd3a071..b08b508 100644 --- a/quickshell/components/P5Button.qml +++ b/quickshell/components/P5Button.qml @@ -142,8 +142,11 @@ FocusScope { } } + // A press sinks the button one whole pixel instead of shrinking it, so + // its label stays on the pixel grid. transform: Translate { x: root.pressed ? 0 : (root.highlighted ? root.lunge : 0) + y: root.pressed ? 1 : 0 Behavior on x { NumberAnimation { @@ -153,10 +156,6 @@ FocusScope { } } - scale: root.pressed ? 0.97 : 1.0 - Behavior on scale { - NumberAnimation { duration: Theme.durFast; easing.type: Easing.OutExpo } - } HoverHandler { id: hover diff --git a/quickshell/popouts/TrayMenu.qml b/quickshell/popouts/TrayMenu.qml index d3cfdb7..f34a912 100644 --- a/quickshell/popouts/TrayMenu.qml +++ b/quickshell/popouts/TrayMenu.qml @@ -79,7 +79,6 @@ PopupWindow { closeAnim.stop(); shown = false; holder.opacity = 0; - holder.scale = 0.94; holder.x = root.bleed; PopupCoordinator.release(root); } @@ -106,9 +105,9 @@ PopupWindow { width: root.contentWidth height: root.contentHeight + // It slides in from the tray and fades, and never scales: scaling + // stretches the menu's text while it moves. opacity: 0 - scale: 0.94 - transformOrigin: Item.Right PopoutSurface { anchors.fill: parent @@ -136,10 +135,6 @@ PopupWindow { target: holder; property: "opacity" to: 1.0; duration: Theme.durBase; easing.type: Easing.OutExpo } - NumberAnimation { - target: holder; property: "scale" - to: 1.0; duration: Theme.durSlow; easing.type: Easing.OutCubic - } NumberAnimation { target: holder; property: "x" from: root.bleed + 14; to: root.bleed @@ -153,10 +148,6 @@ PopupWindow { target: holder; property: "opacity" to: 0.0; duration: Theme.durFast; easing.type: Easing.InQuad } - NumberAnimation { - target: holder; property: "scale" - to: 0.96; duration: Theme.durFast; easing.type: Easing.InQuad - } onFinished: { root.shown = false; holder.x = root.bleed;