1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-01-24 21:42:51 -05:00

Fractional scaling fixes + bar border settings

This commit is contained in:
bbedward
2025-10-10 12:25:00 -04:00
parent 27885c8ac3
commit 3014fd8095
8 changed files with 512 additions and 106 deletions

View File

@@ -23,6 +23,7 @@ Singleton {
property var outputs: ({})
property var windows: []
property var displayScales: ({})
property bool inOverview: false
@@ -68,6 +69,7 @@ Singleton {
const outputsData = JSON.parse(text)
outputs = outputsData
console.log("NiriService: Loaded", Object.keys(outputsData).length, "outputs")
updateDisplayScales()
if (windows.length > 0) {
windows = sortWindowsByLayout(windows)
}
@@ -169,6 +171,20 @@ Singleton {
outputsProcess.running = true
}
function updateDisplayScales() {
if (!outputs || Object.keys(outputs).length === 0) return
const scales = {}
for (const outputName in outputs) {
const output = outputs[outputName]
if (output.logical && output.logical.scale !== undefined) {
scales[outputName] = output.logical.scale
}
}
displayScales = scales
}
function sortWindowsByLayout(windowList) {
return [...windowList].sort((a, b) => {
const aWorkspace = workspaces[a.workspace_id]
@@ -395,6 +411,7 @@ Singleton {
function handleOutputsChanged(data) {
if (!data.outputs) return
outputs = data.outputs
updateDisplayScales()
windows = sortWindowsByLayout(windows)
}
@@ -410,6 +427,7 @@ Singleton {
if (ToastService.toastVisible && ToastService.currentLevel === ToastService.levelError) {
ToastService.hideToast()
}
fetchOutputs()
if (hasInitialConnection && !suppressConfigToast && !suppressNextConfigToast && !matugenSuppression) {
ToastService.showInfo("niri: config reloaded")
} else if (suppressNextConfigToast) {