Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions quickshell/DMSShell.qml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import qs.Modules.ProcessList
import qs.Modules.DankBar
import qs.Modules.DankBar.Popouts
import qs.Modules.WorkspaceOverlays
import qs.Modules.Settings.DisplayConfig
import qs.Services

Item {
Expand Down Expand Up @@ -271,6 +272,8 @@ Item {
dockRecreateDebounce.start();
// Force PolkitService singleton to initialize
PolkitService.polkitAvailable;
// Force DisplayConfigState singleton to initialize so auto-config runs at startup
DisplayConfigState.hasOutputBackend;
loginSoundTimer.start();
}

Expand Down
11 changes: 7 additions & 4 deletions quickshell/DMSShellIPC.qml
Original file line number Diff line number Diff line change
Expand Up @@ -1643,7 +1643,7 @@ Item {
if (id === matchedId)
flags.push("matched");
const flagStr = flags.length > 0 ? " [" + flags.join(",") + "]" : "";
lines.push(p.name + flagStr + " -> " + JSON.stringify(p.outputSet));
lines.push(p.name + flagStr + " -> " + JSON.stringify(Object.keys(p.outputs)));
}

if (lines.length === 0)
Expand Down Expand Up @@ -1675,13 +1675,16 @@ Item {
return `PROFILE_SET_SUCCESS: ${profileName}`;
}

// ! TODO - auto profile switching is buggy on niri and other compositors
function toggleAuto(): string {
return "ERROR: Auto profile selection is temporarily disabled due to compositor bugs";
SettingsData.displayProfileAutoSelect = !SettingsData.displayProfileAutoSelect;
SettingsData.saveSettings();
if (SettingsData.displayProfileAutoSelect)
DisplayConfigState.autoSelectProfile();
return `Auto profile selection: ${SettingsData.displayProfileAutoSelect ? "enabled" : "disabled"}`;
}

function status(): string {
const auto = "off"; // disabled for now
const auto = SettingsData.displayProfileAutoSelect ? "on" : "off";
const activeId = SettingsData.getActiveDisplayProfile(CompositorService.compositor);
const matchedId = DisplayConfigState.matchedProfile;
const profiles = DisplayConfigState.validatedProfiles;
Expand Down
Loading
Loading