diff --git a/Modules/MainScreen/BarExclusionZone.qml b/Modules/MainScreen/BarExclusionZone.qml index 44bab77bc..a8a44afb6 100644 --- a/Modules/MainScreen/BarExclusionZone.qml +++ b/Modules/MainScreen/BarExclusionZone.qml @@ -24,7 +24,11 @@ PanelWindow { readonly property real barMarginH: (barFloating && edge === Settings.getBarPositionForScreen(screen?.name)) ? Math.ceil(Settings.data.bar.marginHorizontal) : 0 readonly property real barMarginV: (barFloating && edge === Settings.getBarPositionForScreen(screen?.name)) ? Math.ceil(Settings.data.bar.marginVertical) : 0 // Reduce exclusion zone by 1 physical pixel so app windows blend flush against the bar edge - readonly property real bleedInset: 1.0 / (CompositorService.getDisplayScale(screen?.name) || 1.0) + readonly property real bleedInset: { + const info = CompositorService.displayScales[screen?.name]; + const scale = (info && info.scale) ? info.scale : 1.0; + return 1.0 / scale; + } // Invisible - just reserves space color: "transparent" diff --git a/Modules/Panels/Brightness/BrightnessPanel.qml b/Modules/Panels/Brightness/BrightnessPanel.qml index f0fdd99d0..4093345bc 100644 --- a/Modules/Panels/Brightness/BrightnessPanel.qml +++ b/Modules/Panels/Brightness/BrightnessPanel.qml @@ -218,6 +218,10 @@ SmartPanel { Layout.preferredHeight: outputColumn.implicitHeight + Style.margin2M property var brightnessMonitor: BrightnessService.getMonitorForScreen(modelData) + readonly property real compositorScale: { + const info = CompositorService.displayScales[modelData.name]; + return (info && info.scale) ? info.scale : 1.0; + } ColumnLayout { id: outputColumn @@ -231,7 +235,6 @@ SmartPanel { label: modelData.name || "Unknown" labelColor: Color.mPrimary description: { - const compositorScale = CompositorService.getDisplayScale(modelData.name); I18n.tr("system.monitor-description", { "model": modelData.model, "width": modelData.width * compositorScale, diff --git a/Modules/Panels/Settings/Tabs/Bar/MonitorsSubTab.qml b/Modules/Panels/Settings/Tabs/Bar/MonitorsSubTab.qml index 1ec6c73b6..c6ad3806c 100644 --- a/Modules/Panels/Settings/Tabs/Bar/MonitorsSubTab.qml +++ b/Modules/Panels/Settings/Tabs/Bar/MonitorsSubTab.qml @@ -33,6 +33,10 @@ ColumnLayout { required property var modelData readonly property string screenName: modelData.name || "Unknown" + readonly property real compositorScale: { + const info = CompositorService.displayScales[screenName]; + return (info && info.scale) ? info.scale : 1.0; + } readonly property bool barEnabled: (Settings.data.bar.monitors || []).indexOf(screenName) !== -1 readonly property bool hasOverride: Settings.hasScreenOverride(screenName) @@ -67,12 +71,11 @@ ColumnLayout { NText { text: { - const compositorScale = CompositorService.getDisplayScale(monitorCard.screenName); return I18n.tr("system.monitor-description", { "model": monitorCard.modelData.model || I18n.tr("common.unknown"), - "width": Math.round(monitorCard.modelData.width * compositorScale), - "height": Math.round(monitorCard.modelData.height * compositorScale), - "scale": compositorScale + "width": Math.round(monitorCard.modelData.width * monitorCard.compositorScale), + "height": Math.round(monitorCard.modelData.height * monitorCard.compositorScale), + "scale": monitorCard.compositorScale }); } pointSize: Style.fontSizeS diff --git a/Modules/Panels/Settings/Tabs/DesktopWidgetsTab.qml b/Modules/Panels/Settings/Tabs/DesktopWidgetsTab.qml index 4a35be05c..ae1fa10e7 100644 --- a/Modules/Panels/Settings/Tabs/DesktopWidgetsTab.qml +++ b/Modules/Panels/Settings/Tabs/DesktopWidgetsTab.qml @@ -80,11 +80,14 @@ ColumnLayout { NSectionEditor { required property var modelData + readonly property real compositorScale: { + const info = CompositorService.displayScales[modelData.name]; + return (info && info.scale) ? info.scale : 1.0; + } Layout.fillWidth: true sectionName: modelData.name sectionSubtitle: { - var compositorScale = CompositorService.getDisplayScale(modelData.name); // Format scale to 2 decimal places to prevent overly long text var formattedScale = compositorScale.toFixed(2); return "(" + modelData.width + "x" + modelData.height + " @ " + formattedScale + "x)"; diff --git a/Modules/Panels/Settings/Tabs/Display/BrightnessSubTab.qml b/Modules/Panels/Settings/Tabs/Display/BrightnessSubTab.qml index 17d3b5fa4..63e6725c3 100644 --- a/Modules/Panels/Settings/Tabs/Display/BrightnessSubTab.qml +++ b/Modules/Panels/Settings/Tabs/Display/BrightnessSubTab.qml @@ -107,8 +107,11 @@ ColumnLayout { NText { Layout.fillWidth: true + readonly property real compositorScale: { + const info = CompositorService.displayScales[modelData.name]; + return (info && info.scale) ? info.scale : 1.0; + } text: { - const compositorScale = CompositorService.getDisplayScale(modelData.name); I18n.tr("system.monitor-description", { "model": modelData.model, "width": modelData.width * compositorScale, diff --git a/Modules/Panels/Settings/Tabs/Dock/MonitorsSubTab.qml b/Modules/Panels/Settings/Tabs/Dock/MonitorsSubTab.qml index 96be22ada..a0e08d947 100644 --- a/Modules/Panels/Settings/Tabs/Dock/MonitorsSubTab.qml +++ b/Modules/Panels/Settings/Tabs/Dock/MonitorsSubTab.qml @@ -35,9 +35,12 @@ ColumnLayout { model: Quickshell.screens || [] delegate: NCheckbox { Layout.fillWidth: true + readonly property real compositorScale: { + const info = CompositorService.displayScales[modelData.name]; + return (info && info.scale) ? info.scale : 1.0; + } label: modelData.name || "Unknown" description: { - const compositorScale = CompositorService.getDisplayScale(modelData.name); I18n.tr("system.monitor-description", { "model": modelData.model, "width": modelData.width * compositorScale, diff --git a/Modules/Panels/Settings/Tabs/LockScreen/MonitorsSubTab.qml b/Modules/Panels/Settings/Tabs/LockScreen/MonitorsSubTab.qml index d85346ed3..13239ab54 100644 --- a/Modules/Panels/Settings/Tabs/LockScreen/MonitorsSubTab.qml +++ b/Modules/Panels/Settings/Tabs/LockScreen/MonitorsSubTab.qml @@ -35,9 +35,12 @@ ColumnLayout { model: Quickshell.screens || [] delegate: NCheckbox { Layout.fillWidth: true + readonly property real compositorScale: { + const info = CompositorService.displayScales[modelData.name]; + return (info && info.scale) ? info.scale : 1.0; + } label: modelData.name || "Unknown" description: { - const compositorScale = CompositorService.getDisplayScale(modelData.name); I18n.tr("system.monitor-description", { "model": modelData.model, "width": modelData.width * compositorScale, diff --git a/Modules/Panels/Settings/Tabs/Notifications/GeneralSubTab.qml b/Modules/Panels/Settings/Tabs/Notifications/GeneralSubTab.qml index 73b5c1dba..3d48cd867 100644 --- a/Modules/Panels/Settings/Tabs/Notifications/GeneralSubTab.qml +++ b/Modules/Panels/Settings/Tabs/Notifications/GeneralSubTab.qml @@ -122,9 +122,12 @@ ColumnLayout { model: Quickshell.screens || [] delegate: NCheckbox { Layout.fillWidth: true + readonly property real compositorScale: { + const info = CompositorService.displayScales[modelData.name]; + return (info && info.scale) ? info.scale : 1.0; + } label: modelData.name || I18n.tr("common.unknown") description: { - const compositorScale = CompositorService.getDisplayScale(modelData.name); I18n.tr("system.monitor-description", { "model": modelData.model, "width": modelData.width * compositorScale, diff --git a/Modules/Panels/Settings/Tabs/Osd/GeneralSubTab.qml b/Modules/Panels/Settings/Tabs/Osd/GeneralSubTab.qml index 22fb65a7b..3b9ff786f 100644 --- a/Modules/Panels/Settings/Tabs/Osd/GeneralSubTab.qml +++ b/Modules/Panels/Settings/Tabs/Osd/GeneralSubTab.qml @@ -114,9 +114,12 @@ ColumnLayout { model: Quickshell.screens || [] delegate: NCheckbox { Layout.fillWidth: true + readonly property real compositorScale: { + const info = CompositorService.displayScales[modelData.name]; + return (info && info.scale) ? info.scale : 1.0; + } label: modelData.name || I18n.tr("common.unknown") description: { - const compositorScale = CompositorService.getDisplayScale(modelData.name); I18n.tr("system.monitor-description", { "model": modelData.model, "width": modelData.width * compositorScale, diff --git a/Modules/Panels/SetupWizard/SetupDockStep.qml b/Modules/Panels/SetupWizard/SetupDockStep.qml index 3edc85fa2..103e47f81 100644 --- a/Modules/Panels/SetupWizard/SetupDockStep.qml +++ b/Modules/Panels/SetupWizard/SetupDockStep.qml @@ -177,10 +177,13 @@ ColumnLayout { model: Quickshell.screens || [] delegate: NCheckbox { Layout.fillWidth: true + readonly property real compositorScale: { + const info = CompositorService.displayScales[modelData.name]; + return (info && info.scale) ? info.scale : 1.0; + } label: modelData.name || "Unknown" visible: Settings.data.dock.enabled description: { - const compositorScale = CompositorService.getDisplayScale(modelData.name); I18n.tr("system.monitor-description", { "model": modelData.model, "width": modelData.width * compositorScale,