diff --git a/.gitignore b/.gitignore index 34e1249f..e80ea00b 100644 --- a/.gitignore +++ b/.gitignore @@ -110,6 +110,9 @@ bin/ # Core dumps core.* +# prek-installed local git hooks (generated from .pre-commit-config.yaml) +.githooks/ + # direnv .envrc .direnv/ diff --git a/quickshell/Widgets/DankPopoutConnected.qml b/quickshell/Widgets/DankPopoutConnected.qml index 54025239..b2a041f5 100644 --- a/quickshell/Widgets/DankPopoutConnected.qml +++ b/quickshell/Widgets/DankPopoutConnected.qml @@ -576,7 +576,8 @@ Item { readonly property real screenWidth: screen ? screen.width : 0 readonly property real screenHeight: screen ? screen.height : 0 - readonly property real dpr: screen ? screen.devicePixelRatio : 1 + // devicePixelRatio rounds to integer under fractional scaling; use the real scale Qt renders at. + readonly property real dpr: screen ? (CompositorService.getScreenScale(screen) || screen.devicePixelRatio) : 1 readonly property bool closeFrameGapsActive: SettingsData.frameCloseGaps && frameOwnsConnectedChrome readonly property real frameInset: { if (!root.frameOwnsConnectedChrome) @@ -1271,7 +1272,7 @@ Item { layer.enabled: _animating || (_fadeWithOpacity && publishedOpacity < 1) layer.smooth: false - layer.textureSize: root.dpr > 1 ? Qt.size(Math.ceil(width * root.dpr), Math.ceil(height * root.dpr)) : Qt.size(0, 0) + layer.textureSize: Qt.size(0, 0) Behavior on opacity { enabled: contentWrapper._fadeWithOpacity diff --git a/quickshell/Widgets/DankPopoutStandalone.qml b/quickshell/Widgets/DankPopoutStandalone.qml index 4fd3f3fa..180b6b41 100644 --- a/quickshell/Widgets/DankPopoutStandalone.qml +++ b/quickshell/Widgets/DankPopoutStandalone.qml @@ -404,7 +404,8 @@ Item { readonly property real screenWidth: screen ? screen.width : 0 readonly property real screenHeight: screen ? screen.height : 0 - readonly property real dpr: screen ? screen.devicePixelRatio : 1 + // devicePixelRatio rounds to integer under fractional scaling; use the real scale Qt renders at. + readonly property real dpr: screen ? (CompositorService.getScreenScale(screen) || screen.devicePixelRatio) : 1 readonly property var shadowLevel: Theme.elevationLevel3 readonly property real shadowFallbackOffset: 6 @@ -845,7 +846,7 @@ Item { layer.enabled: !Theme.isDirectionalEffect && publishedOpacity < 1 layer.smooth: false - layer.textureSize: root.dpr > 1 ? Qt.size(Math.ceil(width * root.dpr), Math.ceil(height * root.dpr)) : Qt.size(0, 0) + layer.textureSize: Qt.size(0, 0) Behavior on opacity { enabled: !Theme.isDirectionalEffect