Skip to content

config: add per-output (monitor) overrides#87

Open
eam wants to merge 1 commit into
hyprwm:mainfrom
eam:main
Open

config: add per-output (monitor) overrides#87
eam wants to merge 1 commit into
hyprwm:mainfrom
eam:main

Conversation

@eam

@eam eam commented Mar 31, 2026

Copy link
Copy Markdown

Adds an output config category that allows setting temperature, gamma, and identity per output by name. Outputs not matched by an override continue using the global settings.

For my use, I want to darken one monitor while not changing the other so my hyprsunset.conf is:

output {
    name = DP-2
    gamma = 0.2
}

Upgrades wl_output binding to v4 to receive output name events.

Fixes #78

Adds an `output` config category that allows setting temperature,
gamma, and identity per output by name. Outputs not matched by an
override continue using the global settings.

Upgrades wl_output binding to v4 to receive output name events.
Comment thread src/Hyprsunset.cpp

for (auto& o : state.outputs) {
o->applyCTM(&state);
auto it = std::find_if(outputOverrides.begin(), outputOverrides.end(), [&o](const auto& ov) { return ov.name == o->name; });

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use ranges::

Comment thread src/Hyprsunset.cpp
if (it != outputOverrides.end()) {
Debug::log(NONE, "┣ Applying override for output {}", o->name);
o->applyCTM(&state, matrixForOverride(*it));
} else {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no {} around short else / if

@salfel

salfel commented Apr 27, 2026

Copy link
Copy Markdown
Contributor

don't think this integrates that well into the previous system with the profiles. Maybe adding a monitor setting to the profile group setting would be better, because your solution completely disregards the profiles settings.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Per-Monitor control

3 participants