1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-04-11 00:02:28 -04:00

displays: add full screen only for hyprland and convert vrr to dropdown

fixes #1649
fixes #1548
This commit is contained in:
bbedward
2026-02-11 09:31:35 -05:00
parent 535d0bb0f0
commit 5839a5de30
4 changed files with 115 additions and 17 deletions

View File

@@ -98,8 +98,10 @@ Singleton {
if (transform !== 0)
monitorLine += ", transform, " + transform;
if (output.vrr_supported)
monitorLine += ", vrr, " + (output.vrr_enabled ? "1" : "0");
if (output.vrr_supported) {
const vrrMode = outputSettings.vrrFullscreenOnly ? 2 : (output.vrr_enabled ? 1 : 0);
monitorLine += ", vrr, " + vrrMode;
}
if (output.mirror && output.mirror.length > 0)
monitorLine += ", mirror, " + output.mirror;

View File

@@ -1359,7 +1359,12 @@ Singleton {
return;
let kdlContent = `// Auto-generated by DMS - do not edit manually\n\n`;
for (const outputName in data) {
const sortedNames = Object.keys(data).sort((a, b) => {
const la = data[a].logical || {};
const lb = data[b].logical || {};
return (la.x ?? 0) - (lb.x ?? 0) || (la.y ?? 0) - (lb.y ?? 0);
});
for (const outputName of sortedNames) {
const output = data[outputName];
const identifier = getOutputIdentifier(output, outputName);
const niriSettings = SettingsData.getNiriOutputSettings(identifier);
@@ -1397,7 +1402,7 @@ Singleton {
}
}
if (output.vrr_enabled) {
if (output.vrr_enabled || niriSettings.vrrOnDemand) {
const vrrOnDemand = niriSettings.vrrOnDemand ?? false;
kdlContent += vrrOnDemand ? ` variable-refresh-rate on-demand=true\n` : ` variable-refresh-rate\n`;
}