From 6ad02169f1d4f723719c891ce6450e454f256246 Mon Sep 17 00:00:00 2001 From: lucy Date: Fri, 23 Jan 2026 20:12:42 +0100 Subject: [PATCH] add qt font picker, install adwaita-qt to make it not look ugly + have a nice qt theme --- modules/bar/Title.qml | 20 +++++++++++++++++++ modules/ipc/Ipc.qml | 6 ++++++ modules/widgets/wallswitcher/WallSwitcher.qml | 4 ++++ settings/Settings.qml | 2 +- shell.qml | 1 + 5 files changed, 32 insertions(+), 1 deletion(-) diff --git a/modules/bar/Title.qml b/modules/bar/Title.qml index 61ae21a..82e2302 100644 --- a/modules/bar/Title.qml +++ b/modules/bar/Title.qml @@ -3,6 +3,7 @@ import Quickshell.Wayland import qs import qs.settings import qs.reusables +import QtQuick.Dialogs Rectangle { id: container @@ -23,5 +24,24 @@ Rectangle { text: root.activeWindow ? root.activeWindow.activated ? root.activeWindow.appId : "Desktop" : "Desktop" elide: Text.ElideRight } + MouseArea { + id: fontOpener + FontDialog { + id: fontPicker + title: "qs-fontpicker" + flags: FontDialog.NoButtons + onAccepted: { + Settings.config.font = selectedFont.family; + Settings.config.fontSize = selectedFont.pointSize; + } + } + anchors.fill: parent + acceptedButtons: Qt.LeftButton + cursorShape: Qt.PointingHandCursor + onClicked: { + fontPicker.open(); + console.log(fontPicker.selectedFont.family); + } + } } } diff --git a/modules/ipc/Ipc.qml b/modules/ipc/Ipc.qml index 8c2ddf8..37cd653 100644 --- a/modules/ipc/Ipc.qml +++ b/modules/ipc/Ipc.qml @@ -1,8 +1,14 @@ import QtQuick import Quickshell.Io import qs.settings +import QtQuick.Dialogs Item { + FontDialog { + id: fontPicker + flags: FontDialog.NoButtons + } + IpcHandler { id: ipcHandler target: "settings" diff --git a/modules/widgets/wallswitcher/WallSwitcher.qml b/modules/widgets/wallswitcher/WallSwitcher.qml index c9b04b7..4ca4be0 100644 --- a/modules/widgets/wallswitcher/WallSwitcher.qml +++ b/modules/widgets/wallswitcher/WallSwitcher.qml @@ -1,4 +1,5 @@ pragma ComponentBehavior: Bound +import QtQuick.Dialogs import Quickshell import qs.settings import Quickshell.Widgets @@ -85,6 +86,9 @@ FloatingWindow { folder: Settings.config.wallDir nameFilters: ["*.png", "*.jpg"] } + FontDialog { + id: fontPicker + } Component { id: fileDelegate diff --git a/settings/Settings.qml b/settings/Settings.qml index 1d8994f..ba25888 100644 --- a/settings/Settings.qml +++ b/settings/Settings.qml @@ -25,7 +25,7 @@ Singleton { property var margins: 10 property var currentWall: "" property var barHeight: 28 - property var font: "Google Sans" + property var font: "" property var fontSize: 14 property var rounding: 10 property var wallDir: "file:///home/lucy/.walls/" diff --git a/shell.qml b/shell.qml index 160a80a..b6eb458 100644 --- a/shell.qml +++ b/shell.qml @@ -6,6 +6,7 @@ import qs.modules.bar import qs.modules.overlays import qs.modules.notifications import qs.modules.widgets.wallswitcher +import QtQuick.Dialogs ShellRoot { id: root