summaryrefslogtreecommitdiff
path: root/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Widgets/StyledTextMetrics.qml
diff options
context:
space:
mode:
Diffstat (limited to 'raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Widgets/StyledTextMetrics.qml')
-rw-r--r--raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Widgets/StyledTextMetrics.qml24
1 files changed, 24 insertions, 0 deletions
diff --git a/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Widgets/StyledTextMetrics.qml b/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Widgets/StyledTextMetrics.qml
new file mode 100644
index 0000000..b297385
--- /dev/null
+++ b/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Widgets/StyledTextMetrics.qml
@@ -0,0 +1,24 @@
+import QtQuick
+import qs.Common
+import qs.Services
+
+TextMetrics {
+ property bool isMonospace: false
+
+ readonly property string resolvedFontFamily: {
+ const requestedFont = isMonospace ? SettingsData.monoFontFamily : SettingsData.fontFamily;
+ const defaultFont = isMonospace ? Theme.defaultMonoFontFamily : Theme.defaultFontFamily;
+
+ if (requestedFont === defaultFont) {
+ const availableFonts = Qt.fontFamilies();
+ if (!availableFonts.includes(requestedFont)) {
+ return isMonospace ? "Monospace" : "DejaVu Sans";
+ }
+ }
+ return requestedFont;
+ }
+
+ font.pixelSize: Appearance.fontSize.normal
+ font.family: resolvedFontFamily
+ font.weight: SettingsData.fontWeight
+}