summaryrefslogtreecommitdiff
path: root/src/events/Monitors.cpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-04-17 10:19:46 +0200
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-04-17 10:19:46 +0200
commit4a966c945bc04982cde1f9ab8f84a67df928c3f1 (patch)
tree8784f1e249b11297b3548a20f4556db58789e74c /src/events/Monitors.cpp
parent2118628d586456e1173cfbd69add792b20f6c11f (diff)
Add monitor disabled option
Diffstat (limited to 'src/events/Monitors.cpp')
-rw-r--r--src/events/Monitors.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/events/Monitors.cpp b/src/events/Monitors.cpp
index 90617f51..5fa6b67b 100644
--- a/src/events/Monitors.cpp
+++ b/src/events/Monitors.cpp
@@ -45,6 +45,16 @@ void Events::listener_newOutput(wl_listener* listener, void* data) {
// new monitor added, let's accomodate for that.
const auto OUTPUT = (wlr_output*)data;
+ // get monitor rule that matches
+ SMonitorRule monitorRule = g_pConfigManager->getMonitorRuleFor(OUTPUT->name);
+
+ // if it's disabled, disable and ignore
+ if (monitorRule.disabled) {
+ wlr_output_enable(OUTPUT, 0);
+ wlr_output_commit(OUTPUT);
+ return;
+ }
+
SMonitor newMonitor;
newMonitor.output = OUTPUT;
newMonitor.ID = g_pCompositor->m_lMonitors.size();
@@ -52,9 +62,6 @@ void Events::listener_newOutput(wl_listener* listener, void* data) {
wlr_output_init_render(OUTPUT, g_pCompositor->m_sWLRAllocator, g_pCompositor->m_sWLRRenderer);
- // get monitor rule that matches
- SMonitorRule monitorRule = g_pConfigManager->getMonitorRuleFor(OUTPUT->name);
-
wlr_output_set_scale(OUTPUT, monitorRule.scale);
wlr_xcursor_manager_load(g_pCompositor->m_sWLRXCursorMgr, monitorRule.scale);
wlr_output_set_transform(OUTPUT, WL_OUTPUT_TRANSFORM_NORMAL); // TODO: support other transforms