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:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user