diff options
author | MightyPlaza <[email protected]> | 2023-10-10 16:42:45 +0000 |
---|---|---|
committer | GitHub <[email protected]> | 2023-10-10 17:42:45 +0100 |
commit | d537815d43c74a4e9214c4e7480c20047d297307 (patch) | |
tree | e2962e127b7093afd0d42a0c97f71da07d2c7fbc | |
parent | ac1bd47653f7d07a77fb3e0e32c0863bb0dced2e (diff) | |
download | Hyprland-d537815d43c74a4e9214c4e7480c20047d297307.tar.gz Hyprland-d537815d43c74a4e9214c4e7480c20047d297307.zip |
groups: create group and groupbar config sections (#3522)
* config: create group section
modified: src/Compositor.cpp
modified: src/config/ConfigManager.cpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/MasterLayout.cpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/input/InputManager.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* separate group border and groupbar colors
modified: src/Compositor.cpp
modified: src/config/ConfigManager.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* add new line
modified: config/ConfigManager.cpp
-rw-r--r-- | src/Compositor.cpp | 8 | ||||
-rw-r--r-- | src/config/ConfigManager.cpp | 52 | ||||
-rw-r--r-- | src/layout/DwindleLayout.cpp | 2 | ||||
-rw-r--r-- | src/layout/MasterLayout.cpp | 2 | ||||
-rw-r--r-- | src/managers/KeybindManager.cpp | 5 | ||||
-rw-r--r-- | src/managers/input/InputManager.cpp | 2 | ||||
-rw-r--r-- | src/render/decorations/CHyprGroupBarDecoration.cpp | 34 |
7 files changed, 59 insertions, 46 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp index 42c2ab35..b9be9f18 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -1744,10 +1744,10 @@ void CCompositor::updateWindowAnimatedDecorationValues(CWindow* pWindow) { static auto* const INACTIVECOL = (CGradientValueData*)g_pConfigManager->getConfigValuePtr("general:col.inactive_border")->data.get(); static auto* const NOGROUPACTIVECOL = (CGradientValueData*)g_pConfigManager->getConfigValuePtr("general:col.nogroup_border_active")->data.get(); static auto* const NOGROUPINACTIVECOL = (CGradientValueData*)g_pConfigManager->getConfigValuePtr("general:col.nogroup_border")->data.get(); - static auto* const GROUPACTIVECOL = (CGradientValueData*)g_pConfigManager->getConfigValuePtr("general:col.group_border_active")->data.get(); - static auto* const GROUPINACTIVECOL = (CGradientValueData*)g_pConfigManager->getConfigValuePtr("general:col.group_border")->data.get(); - static auto* const GROUPACTIVELOCKEDCOL = (CGradientValueData*)g_pConfigManager->getConfigValuePtr("general:col.group_border_locked_active")->data.get(); - static auto* const GROUPINACTIVELOCKEDCOL = (CGradientValueData*)g_pConfigManager->getConfigValuePtr("general:col.group_border_locked")->data.get(); + static auto* const GROUPACTIVECOL = (CGradientValueData*)g_pConfigManager->getConfigValuePtr("group:col.border_active")->data.get(); + static auto* const GROUPINACTIVECOL = (CGradientValueData*)g_pConfigManager->getConfigValuePtr("group:col.border_inactive")->data.get(); + static auto* const GROUPACTIVELOCKEDCOL = (CGradientValueData*)g_pConfigManager->getConfigValuePtr("group:col.border_locked_active")->data.get(); + static auto* const GROUPINACTIVELOCKEDCOL = (CGradientValueData*)g_pConfigManager->getConfigValuePtr("group:col.border_locked_inactive")->data.get(); static auto* const PINACTIVEALPHA = &g_pConfigManager->getConfigValuePtr("decoration:inactive_opacity")->floatValue; static auto* const PACTIVEALPHA = &g_pConfigManager->getConfigValuePtr("decoration:active_opacity")->floatValue; static auto* const PFULLSCREENALPHA = &g_pConfigManager->getConfigValuePtr("decoration:fullscreen_opacity")->floatValue; diff --git a/src/config/ConfigManager.cpp b/src/config/ConfigManager.cpp index 4e039ee0..2d19389e 100644 --- a/src/config/ConfigManager.cpp +++ b/src/config/ConfigManager.cpp @@ -15,14 +15,20 @@ extern "C" char** environ; CConfigManager::CConfigManager() { - configValues["general:col.active_border"].data = std::make_shared<CGradientValueData>(0xffffffff); - configValues["general:col.inactive_border"].data = std::make_shared<CGradientValueData>(0xff444444); - configValues["general:col.nogroup_border"].data = std::make_shared<CGradientValueData>(0xffffaaff); - configValues["general:col.nogroup_border_active"].data = std::make_shared<CGradientValueData>(0xffff00ff); - configValues["general:col.group_border"].data = std::make_shared<CGradientValueData>(0x66777700); - configValues["general:col.group_border_active"].data = std::make_shared<CGradientValueData>(0x66ffff00); - configValues["general:col.group_border_locked"].data = std::make_shared<CGradientValueData>(0x66775500); - configValues["general:col.group_border_locked_active"].data = std::make_shared<CGradientValueData>(0x66ff5500); + configValues["general:col.active_border"].data = std::make_shared<CGradientValueData>(0xffffffff); + configValues["general:col.inactive_border"].data = std::make_shared<CGradientValueData>(0xff444444); + configValues["general:col.nogroup_border"].data = std::make_shared<CGradientValueData>(0xffffaaff); + configValues["general:col.nogroup_border_active"].data = std::make_shared<CGradientValueData>(0xffff00ff); + + configValues["group:col.border_active"].data = std::make_shared<CGradientValueData>(0x66ffff00); + configValues["group:col.border_inactive"].data = std::make_shared<CGradientValueData>(0x66777700); + configValues["group:col.border_locked_active"].data = std::make_shared<CGradientValueData>(0x66ff5500); + configValues["group:col.border_locked_inactive"].data = std::make_shared<CGradientValueData>(0x66775500); + + configValues["group:groupbar:col.active"].data = std::make_shared<CGradientValueData>(0x66ffff00); + configValues["group:groupbar:col.inactive"].data = std::make_shared<CGradientValueData>(0x66777700); + configValues["group:groupbar:col.locked_active"].data = std::make_shared<CGradientValueData>(0x66ff5500); + configValues["group:groupbar:col.locked_inactive"].data = std::make_shared<CGradientValueData>(0x66775500); setDefaultVars(); setDefaultAnimationVars(); @@ -76,10 +82,6 @@ void CConfigManager::setDefaultVars() { ((CGradientValueData*)configValues["general:col.inactive_border"].data.get())->reset(0xff444444); ((CGradientValueData*)configValues["general:col.nogroup_border"].data.get())->reset(0xff444444); ((CGradientValueData*)configValues["general:col.nogroup_border_active"].data.get())->reset(0xffff00ff); - ((CGradientValueData*)configValues["general:col.group_border"].data.get())->reset(0x66777700); - ((CGradientValueData*)configValues["general:col.group_border_active"].data.get())->reset(0x66ffff00); - ((CGradientValueData*)configValues["general:col.group_border_locked"].data.get())->reset(0x66775500); - ((CGradientValueData*)configValues["general:col.group_border_locked_active"].data.get())->reset(0x66ff5500); configValues["general:cursor_inactive_timeout"].intValue = 0; configValues["general:no_cursor_warps"].intValue = 0; configValues["general:no_focus_fallback"].intValue = 0; @@ -114,17 +116,29 @@ void CConfigManager::setDefaultVars() { configValues["misc:cursor_zoom_factor"].floatValue = 1.f; configValues["misc:cursor_zoom_rigid"].intValue = 0; configValues["misc:allow_session_lock_restore"].intValue = 0; - configValues["misc:groupbar_scrolling"].intValue = 1; - configValues["misc:group_insert_after_current"].intValue = 1; - configValues["misc:group_focus_removed_window"].intValue = 1; - configValues["misc:render_titles_in_groupbar"].intValue = 1; - configValues["misc:groupbar_titles_font_size"].intValue = 8; - configValues["misc:groupbar_gradients"].intValue = 1; configValues["misc:close_special_on_empty"].intValue = 1; - configValues["misc:groupbar_text_color"].intValue = 0xffffffff; configValues["misc:background_color"].intValue = 0xff111111; configValues["misc:new_window_takes_over_fullscreen"].intValue = 0; + ((CGradientValueData*)configValues["group:col.border_active"].data.get())->reset(0x66ffff00); + ((CGradientValueData*)configValues["group:col.border_inactive"].data.get())->reset(0x66777700); + ((CGradientValueData*)configValues["group:col.border_locked_active"].data.get())->reset(0x66ff5500); + ((CGradientValueData*)configValues["group:col.border_locked_inactive"].data.get())->reset(0x66775500); + + configValues["group:insert_after_current"].intValue = 1; + configValues["group:focus_removed_window"].intValue = 1; + + configValues["group:groupbar:font_size"].intValue = 8; + configValues["group:groupbar:gradients"].intValue = 1; + configValues["group:groupbar:render_titles"].intValue = 1; + configValues["group:groupbar:scrolling"].intValue = 1; + configValues["group:groupbar:text_color"].intValue = 0xffffffff; + + ((CGradientValueData*)configValues["group:groupbar:col.active"].data.get())->reset(0x66ffff00); + ((CGradientValueData*)configValues["group:groupbar:col.inactive"].data.get())->reset(0x66777700); + ((CGradientValueData*)configValues["group:groupbar:col.locked_active"].data.get())->reset(0x66ff5500); + ((CGradientValueData*)configValues["group:groupbar:col.locked_inactive"].data.get())->reset(0x66775500); + configValues["debug:int"].intValue = 0; configValues["debug:log_damage"].intValue = 0; configValues["debug:overlay"].intValue = 0; diff --git a/src/layout/DwindleLayout.cpp b/src/layout/DwindleLayout.cpp index a0482ba8..b034557e 100644 --- a/src/layout/DwindleLayout.cpp +++ b/src/layout/DwindleLayout.cpp @@ -336,7 +336,7 @@ void CHyprDwindleLayout::onWindowCreatedTiling(CWindow* pWindow, eDirection dire if (INDEX == -1) std::swap(pWindow->m_sGroupData.pNextWindow->m_sGroupData.head, pWindow->m_sGroupData.head); } else { - static const auto* USECURRPOS = &g_pConfigManager->getConfigValuePtr("misc:group_insert_after_current")->intValue; + static const auto* USECURRPOS = &g_pConfigManager->getConfigValuePtr("group:insert_after_current")->intValue; (*USECURRPOS ? OPENINGON->pWindow : OPENINGON->pWindow->getGroupTail())->insertWindowToGroup(pWindow); } diff --git a/src/layout/MasterLayout.cpp b/src/layout/MasterLayout.cpp index 0eeea16e..2de43d04 100644 --- a/src/layout/MasterLayout.cpp +++ b/src/layout/MasterLayout.cpp @@ -118,7 +118,7 @@ void CHyprMasterLayout::onWindowCreatedTiling(CWindow* pWindow, eDirection direc if (INDEX == -1) std::swap(pWindow->m_sGroupData.pNextWindow->m_sGroupData.head, pWindow->m_sGroupData.head); } else { - static const auto* USECURRPOS = &g_pConfigManager->getConfigValuePtr("misc:group_insert_after_current")->intValue; + static const auto* USECURRPOS = &g_pConfigManager->getConfigValuePtr("group:insert_after_current")->intValue; (*USECURRPOS ? OPENINGON->pWindow : OPENINGON->pWindow->getGroupTail())->insertWindowToGroup(pWindow); } diff --git a/src/managers/KeybindManager.cpp b/src/managers/KeybindManager.cpp index eb100870..52581b62 100644 --- a/src/managers/KeybindManager.cpp +++ b/src/managers/KeybindManager.cpp @@ -1968,7 +1968,7 @@ void CKeybindManager::moveWindowIntoGroup(CWindow* pWindow, CWindow* pWindowInDi g_pLayoutManager->getCurrentLayout()->onWindowRemoved(pWindow); // This removes groupped property! - static const auto* USECURRPOS = &g_pConfigManager->getConfigValuePtr("misc:group_insert_after_current")->intValue; + static const auto* USECURRPOS = &g_pConfigManager->getConfigValuePtr("group:insert_after_current")->intValue; pWindowInDirection = *USECURRPOS ? pWindowInDirection : pWindowInDirection->getGroupTail(); pWindowInDirection->insertWindowToGroup(pWindow); @@ -1980,8 +1980,7 @@ void CKeybindManager::moveWindowIntoGroup(CWindow* pWindow, CWindow* pWindowInDi } void CKeybindManager::moveWindowOutOfGroup(CWindow* pWindow, const std::string& dir) { - - static auto* const BFOCUSREMOVEDWINDOW = &g_pConfigManager->getConfigValuePtr("misc:group_focus_removed_window")->intValue; + static auto* const BFOCUSREMOVEDWINDOW = &g_pConfigManager->getConfigValuePtr("group:focus_removed_window")->intValue; const auto PWINDOWPREV = pWindow->getGroupPrevious(); eDirection direction; diff --git a/src/managers/input/InputManager.cpp b/src/managers/input/InputManager.cpp index 1b89f8fc..f79278e3 100644 --- a/src/managers/input/InputManager.cpp +++ b/src/managers/input/InputManager.cpp @@ -621,7 +621,7 @@ void CInputManager::processMouseDownKill(wlr_pointer_button_event* e) { void CInputManager::onMouseWheel(wlr_pointer_axis_event* e) { static auto* const PSCROLLFACTOR = &g_pConfigManager->getConfigValuePtr("input:touchpad:scroll_factor")->floatValue; - static auto* const PGROUPBARSCROLLING = &g_pConfigManager->getConfigValuePtr("misc:groupbar_scrolling")->intValue; + static auto* const PGROUPBARSCROLLING = &g_pConfigManager->getConfigValuePtr("group:groupbar:scrolling")->intValue; auto factor = (*PSCROLLFACTOR <= 0.f || e->source != WLR_AXIS_SOURCE_FINGER ? 1.f : *PSCROLLFACTOR); diff --git a/src/render/decorations/CHyprGroupBarDecoration.cpp b/src/render/decorations/CHyprGroupBarDecoration.cpp index 70d4ed93..4d3200a6 100644 --- a/src/render/decorations/CHyprGroupBarDecoration.cpp +++ b/src/render/decorations/CHyprGroupBarDecoration.cpp @@ -34,8 +34,8 @@ void CHyprGroupBarDecoration::updateWindow(CWindow* pWindow) { const auto WORKSPACEOFFSET = PWORKSPACE && !pWindow->m_bPinned ? PWORKSPACE->m_vRenderOffset.vec() : Vector2D(); - static auto* const PRENDERTITLES = &g_pConfigManager->getConfigValuePtr("misc:render_titles_in_groupbar")->intValue; - static auto* const PTITLEFONTSIZE = &g_pConfigManager->getConfigValuePtr("misc:groupbar_titles_font_size")->intValue; + static auto* const PRENDERTITLES = &g_pConfigManager->getConfigValuePtr("group:groupbar:render_titles")->intValue; + static auto* const PTITLEFONTSIZE = &g_pConfigManager->getConfigValuePtr("group:groupbar:font_size")->intValue; if (pWindow->m_vRealPosition.vec() + WORKSPACEOFFSET != m_vLastWindowPos || pWindow->m_vRealSize.vec() != m_vLastWindowSize) { // we draw 3px above the window's border with 3px @@ -84,9 +84,9 @@ void CHyprGroupBarDecoration::draw(CMonitor* pMonitor, float a, const Vector2D& // get how many bars we will draw int barsToDraw = m_dwGroupMembers.size(); - static auto* const PRENDERTITLES = &g_pConfigManager->getConfigValuePtr("misc:render_titles_in_groupbar")->intValue; - static auto* const PTITLEFONTSIZE = &g_pConfigManager->getConfigValuePtr("misc:groupbar_titles_font_size")->intValue; - static auto* const PGRADIENTS = &g_pConfigManager->getConfigValuePtr("misc:groupbar_gradients")->intValue; + static auto* const PRENDERTITLES = &g_pConfigManager->getConfigValuePtr("group:groupbar:render_titles")->intValue; + static auto* const PTITLEFONTSIZE = &g_pConfigManager->getConfigValuePtr("group:groupbar:font_size")->intValue; + static auto* const PGRADIENTS = &g_pConfigManager->getConfigValuePtr("group:groupbar:gradients")->intValue; const int BORDERSIZE = m_pWindow->getRealBorderSize(); @@ -108,10 +108,10 @@ void CHyprGroupBarDecoration::draw(CMonitor* pMonitor, float a, const Vector2D& scaleBox(&rect, pMonitor->scale); - static auto* const PGROUPCOLACTIVE = &g_pConfigManager->getConfigValuePtr("general:col.group_border_active")->data; - static auto* const PGROUPCOLINACTIVE = &g_pConfigManager->getConfigValuePtr("general:col.group_border")->data; - static auto* const PGROUPCOLACTIVELOCKED = &g_pConfigManager->getConfigValuePtr("general:col.group_border_locked_active")->data; - static auto* const PGROUPCOLINACTIVELOCKED = &g_pConfigManager->getConfigValuePtr("general:col.group_border_locked")->data; + static auto* const PGROUPCOLACTIVE = &g_pConfigManager->getConfigValuePtr("group:groupbar:col.active")->data; + static auto* const PGROUPCOLINACTIVE = &g_pConfigManager->getConfigValuePtr("group:groupbar:col.inactive")->data; + static auto* const PGROUPCOLACTIVELOCKED = &g_pConfigManager->getConfigValuePtr("group:groupbar:col.locked_active")->data; + static auto* const PGROUPCOLINACTIVELOCKED = &g_pConfigManager->getConfigValuePtr("group:groupbar:col.locked_inactive")->data; const bool GROUPLOCKED = m_pWindow->getGroupHead()->m_sGroupData.locked; const auto* const PCOLACTIVE = GROUPLOCKED ? PGROUPCOLACTIVELOCKED : PGROUPCOLACTIVE; @@ -156,8 +156,8 @@ void CHyprGroupBarDecoration::draw(CMonitor* pMonitor, float a, const Vector2D& } SWindowDecorationExtents CHyprGroupBarDecoration::getWindowDecorationReservedArea() { - static auto* const PRENDERTITLES = &g_pConfigManager->getConfigValuePtr("misc:render_titles_in_groupbar")->intValue; - static auto* const PTITLEFONTSIZE = &g_pConfigManager->getConfigValuePtr("misc:groupbar_titles_font_size")->intValue; + static auto* const PRENDERTITLES = &g_pConfigManager->getConfigValuePtr("group:groupbar:render_titles")->intValue; + static auto* const PTITLEFONTSIZE = &g_pConfigManager->getConfigValuePtr("group:groupbar:font_size")->intValue; return SWindowDecorationExtents{{0, BAR_INDICATOR_HEIGHT + BAR_PADDING_OUTER_VERT * 2 + (*PRENDERTITLES ? *PTITLEFONTSIZE : 0)}, {}}; } @@ -180,8 +180,8 @@ CTitleTex::CTitleTex(CWindow* pWindow, const Vector2D& bufferSize) { const auto CAIROSURFACE = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, bufferSize.x, bufferSize.y); const auto CAIRO = cairo_create(CAIROSURFACE); - static auto* const PTITLEFONTSIZE = &g_pConfigManager->getConfigValuePtr("misc:groupbar_titles_font_size")->intValue; - static auto* const PTEXTCOLOR = &g_pConfigManager->getConfigValuePtr("misc:groupbar_text_color")->intValue; + static auto* const PTITLEFONTSIZE = &g_pConfigManager->getConfigValuePtr("group:groupbar:font_size")->intValue; + static auto* const PTEXTCOLOR = &g_pConfigManager->getConfigValuePtr("group:groupbar:text_color")->intValue; const CColor COLOR = CColor(*PTEXTCOLOR); @@ -289,10 +289,10 @@ void CHyprGroupBarDecoration::refreshGradients() { if (m_tGradientActive.m_iTexID > 0) return; - static auto* const PGROUPCOLACTIVE = &g_pConfigManager->getConfigValuePtr("general:col.group_border_active")->data; - static auto* const PGROUPCOLINACTIVE = &g_pConfigManager->getConfigValuePtr("general:col.group_border")->data; - static auto* const PGROUPCOLACTIVELOCKED = &g_pConfigManager->getConfigValuePtr("general:col.group_border_locked_active")->data; - static auto* const PGROUPCOLINACTIVELOCKED = &g_pConfigManager->getConfigValuePtr("general:col.group_border_locked")->data; + static auto* const PGROUPCOLACTIVE = &g_pConfigManager->getConfigValuePtr("group:groupbar:col.active")->data; + static auto* const PGROUPCOLINACTIVE = &g_pConfigManager->getConfigValuePtr("group:groupbar:col.inactive")->data; + static auto* const PGROUPCOLACTIVELOCKED = &g_pConfigManager->getConfigValuePtr("group:groupbar:col.locked_active")->data; + static auto* const PGROUPCOLINACTIVELOCKED = &g_pConfigManager->getConfigValuePtr("group:groupbar:col.locked_inactive")->data; const bool GROUPLOCKED = m_pWindow->getGroupHead()->m_sGroupData.locked; const auto* const PCOLACTIVE = GROUPLOCKED ? PGROUPCOLACTIVELOCKED : PGROUPCOLACTIVE; |