diff --git a/src/config/ConfigDescriptions.hpp b/src/config/ConfigDescriptions.hpp index 28cd29c4525..ac6e62f6281 100644 --- a/src/config/ConfigDescriptions.hpp +++ b/src/config/ConfigDescriptions.hpp @@ -907,7 +907,7 @@ inline static const std::vector CONFIG_OPTIONS = { .value = "group:groupbar:priority", .description = "sets the decoration priority for groupbars", .type = CONFIG_OPTION_INT, - .data = SConfigOptionDescription::SRangeData{3, 0, 6}, //##TODO RANGE? + .data = SConfigOptionDescription::SRangeData{3, 0, 6}, }, SConfigOptionDescription{ .value = "group:groupbar:render_titles", diff --git a/src/render/decorations/CHyprGroupBarDecoration.cpp b/src/render/decorations/CHyprGroupBarDecoration.cpp index 32422e14be8..5708455818b 100644 --- a/src/render/decorations/CHyprGroupBarDecoration.cpp +++ b/src/render/decorations/CHyprGroupBarDecoration.cpp @@ -20,6 +20,9 @@ constexpr int BAR_PADDING_OUTER_HORZ = 2; constexpr int BAR_TEXT_PAD = 2; constexpr int BAR_HORIZONTAL_PADDING = 2; +constexpr int MIN_PRIORITY = 0; +constexpr int MAX_PRIORITY = 6; + CHyprGroupBarDecoration::CHyprGroupBarDecoration(PHLWINDOW pWindow) : IHyprWindowDecoration(pWindow), m_pWindow(pWindow) { static auto PGRADIENTS = CConfigValue("group:groupbar:enabled"); static auto PENABLED = CConfigValue("group:groupbar:gradients"); @@ -40,7 +43,7 @@ SDecorationPositioningInfo CHyprGroupBarDecoration::getPositioningInfo() { SDecorationPositioningInfo info; info.policy = DECORATION_POSITION_STICKY; info.edges = DECORATION_EDGE_TOP; - info.priority = *PPRIORITY; + info.priority = static_cast(std::clamp(static_cast(*PPRIORITY), MIN_PRIORITY, MAX_PRIORITY)); info.reserved = true; if (*PENABLED && m_pWindow->m_sWindowData.decorate.valueOrDefault()) {