#pragma once #include #include #include #include #include #include #include inline HANDLE OMARCHY_FLOATING_PHANDLE = nullptr; struct SOmarchyFloatingHyprButton { std::string cmd = ""; bool userfg = false; CHyprColor fgcol = CHyprColor(0, 0, 0, 0); CHyprColor bgcol = CHyprColor(0, 0, 0, 0); float size = 10; std::string icon = ""; SP iconTex; }; class COmarchyFloatingHyprBar; struct SOmarchyFloatingGlobalState { std::vector buttons; std::vector> bars; uint32_t nobarRuleIdx = 0; uint32_t barColorRuleIdx = 0; uint32_t titleColorRuleIdx = 0; struct { SP barColor, textColor, inactiveBarColor, inactiveButtonColor, buttonBorderColor; SP barHeight; SP barTextSize; SP barTextWeight; SP barPadding; SP barButtonPadding; SP buttonRounding; SP buttonBorderSize; SP edgeThreshold, snapGap; SP barBlur, barTitleEnabled, barPartOfWindow, barPrecedenceOverBorder, enabled, iconOnHover, edgeSnap; SP barTextFont, barTextAlign, barButtonsAlignment, onDoubleClick, workspaceTag; } config; }; inline UP g_pOmarchyFloatingGlobalState;