From d1e5f8760741b4b2ad4652f15519f56f52e7e646 Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Thu, 14 Apr 2022 20:11:46 +0200 Subject: fix first workspace being 0 --- src/events/Monitors.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/events/Monitors.cpp') diff --git a/src/events/Monitors.cpp b/src/events/Monitors.cpp index 85b76abd..90617f51 100644 --- a/src/events/Monitors.cpp +++ b/src/events/Monitors.cpp @@ -135,7 +135,7 @@ void Events::listener_newOutput(wl_listener* listener, void* data) { PNEWMONITOR->pWLRWorkspaceGroupHandle = wlr_ext_workspace_group_handle_v1_create(g_pCompositor->m_sWLREXTWorkspaceMgr); // Workspace - const auto WORKSPACEID = monitorRule.defaultWorkspaceID == -1 ? g_pCompositor->m_lWorkspaces.size() : monitorRule.defaultWorkspaceID; + const auto WORKSPACEID = monitorRule.defaultWorkspaceID == -1 ? g_pCompositor->m_lWorkspaces.size() + 1 /* Cuz workspaces doesnt have the new one yet and we start with 1 */ : monitorRule.defaultWorkspaceID; g_pCompositor->m_lWorkspaces.emplace_back(newMonitor.ID); const auto PNEWWORKSPACE = &g_pCompositor->m_lWorkspaces.back(); -- cgit v1.2.3 From 4a966c945bc04982cde1f9ab8f84a67df928c3f1 Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Sun, 17 Apr 2022 10:19:46 +0200 Subject: Add monitor disabled option --- src/events/Monitors.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'src/events/Monitors.cpp') 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 -- cgit v1.2.3