all: chase hyprland
Some checks are pending
Nix / build (push) Waiting to run

This commit is contained in:
Vaxry 2025-04-29 14:21:14 +01:00
parent 61ab0385c8
commit 2b9a54f21b
No known key found for this signature in database
GPG key ID: 665806380871D640
10 changed files with 90 additions and 90 deletions

View file

@ -8,8 +8,8 @@
#include "globals.hpp"
CBordersPlusPlus::CBordersPlusPlus(PHLWINDOW pWindow) : IHyprWindowDecoration(pWindow), m_pWindow(pWindow) {
m_vLastWindowPos = pWindow->m_vRealPosition->value();
m_vLastWindowSize = pWindow->m_vRealSize->value();
m_vLastWindowPos = pWindow->m_realPosition->value();
m_vLastWindowSize = pWindow->m_realSize->value();
}
CBordersPlusPlus::~CBordersPlusPlus() {
@ -67,7 +67,7 @@ void CBordersPlusPlus::draw(PHLMONITOR pMonitor, const float& a) {
const auto PWINDOW = m_pWindow.lock();
if (!PWINDOW->m_sWindowData.decorate.valueOrDefault())
if (!PWINDOW->m_windowData.decorate.valueOrDefault())
return;
CBorderPPPassElement::SBorderPPData data;
@ -96,8 +96,8 @@ void CBordersPlusPlus::drawPass(PHLMONITOR pMonitor, const float& a) {
if (m_bAssignedGeometry.width < m_seExtents.topLeft.x + 1 || m_bAssignedGeometry.height < m_seExtents.topLeft.y + 1)
return;
const auto PWORKSPACE = PWINDOW->m_pWorkspace;
const auto WORKSPACEOFFSET = PWORKSPACE && !PWINDOW->m_bPinned ? PWORKSPACE->m_renderOffset->value() : Vector2D();
const auto PWORKSPACE = PWINDOW->m_workspace;
const auto WORKSPACEOFFSET = PWORKSPACE && !PWINDOW->m_pinned ? PWORKSPACE->m_renderOffset->value() : Vector2D();
auto rounding = PWINDOW->rounding() == 0 ? 0 : (PWINDOW->rounding() + **PBORDERSIZE) * pMonitor->scale;
const auto ROUNDINGPOWER = PWINDOW->roundingPower();
@ -106,7 +106,7 @@ void CBordersPlusPlus::drawPass(PHLMONITOR pMonitor, const float& a) {
CBox fullBox = m_bAssignedGeometry;
fullBox.translate(g_pDecorationPositioner->getEdgeDefinedPoint(DECORATION_EDGE_BOTTOM | DECORATION_EDGE_LEFT | DECORATION_EDGE_RIGHT | DECORATION_EDGE_TOP, m_pWindow.lock()));
fullBox.translate(PWINDOW->m_vFloatingOffset - pMonitor->vecPosition + WORKSPACEOFFSET);
fullBox.translate(PWINDOW->m_floatingOffset - pMonitor->vecPosition + WORKSPACEOFFSET);
if (fullBox.width < 1 || fullBox.height < 1)
return;
@ -156,8 +156,8 @@ eDecorationType CBordersPlusPlus::getDecorationType() {
}
void CBordersPlusPlus::updateWindow(PHLWINDOW pWindow) {
m_vLastWindowPos = pWindow->m_vRealPosition->value();
m_vLastWindowSize = pWindow->m_vRealSize->value();
m_vLastWindowPos = pWindow->m_realPosition->value();
m_vLastWindowSize = pWindow->m_realSize->value();
damageEntire();
}

View file

@ -48,7 +48,7 @@ APICALL EXPORT PLUGIN_DESCRIPTION_INFO PLUGIN_INIT(HANDLE handle) {
// add deco to existing windows
for (auto& w : g_pCompositor->m_windows) {
if (w->isHidden() || !w->m_bIsMapped)
if (w->isHidden() || !w->m_isMapped)
continue;
HyprlandAPI::addWindowDecoration(PHANDLE, w, makeUnique<CBordersPlusPlus>(w));

View file

@ -32,10 +32,10 @@ void hkNotifyMotion(CSeatManager* thisptr, uint32_t time_msec, const Vector2D& l
Vector2D newCoords = local;
if (**PFIX && !g_pCompositor->m_lastWindow.expired() && g_pCompositor->m_lastWindow->m_szInitialClass == *PCLASS && g_pCompositor->m_lastMonitor) {
if (**PFIX && !g_pCompositor->m_lastWindow.expired() && g_pCompositor->m_lastWindow->m_initialClass == *PCLASS && g_pCompositor->m_lastMonitor) {
// fix the coords
newCoords.x *= (**RESX / g_pCompositor->m_lastMonitor->vecSize.x) / g_pCompositor->m_lastWindow->m_fX11SurfaceScaledBy;
newCoords.y *= (**RESY / g_pCompositor->m_lastMonitor->vecSize.y) / g_pCompositor->m_lastWindow->m_fX11SurfaceScaledBy;
newCoords.x *= (**RESX / g_pCompositor->m_lastMonitor->vecSize.x) / g_pCompositor->m_lastWindow->m_X11SurfaceScaledBy;
newCoords.y *= (**RESY / g_pCompositor->m_lastMonitor->vecSize.y) / g_pCompositor->m_lastWindow->m_X11SurfaceScaledBy;
}
(*(origMotion)g_pMouseMotionHook->m_pOriginal)(thisptr, time_msec, newCoords);
@ -56,7 +56,7 @@ void hkSetWindowSize(CXWaylandSurface* surface, const CBox& box) {
CBox newBox = box;
if (PWINDOW && PWINDOW->m_szInitialClass == *PCLASS) {
if (PWINDOW && PWINDOW->m_initialClass == *PCLASS) {
newBox.w = **RESX;
newBox.h = **RESY;
@ -71,8 +71,8 @@ CRegion hkWLSurfaceDamage(CWLSurface* thisptr) {
static auto* const PCLASS = (Hyprlang::STRING const*)HyprlandAPI::getConfigValue(PHANDLE, "plugin:csgo-vulkan-fix:class")->getDataStaticPtr();
if (thisptr->exists() && thisptr->getWindow() && thisptr->getWindow()->m_szInitialClass == *PCLASS) {
const auto PMONITOR = thisptr->getWindow()->m_pMonitor.lock();
if (thisptr->exists() && thisptr->getWindow() && thisptr->getWindow()->m_initialClass == *PCLASS) {
const auto PMONITOR = thisptr->getWindow()->m_monitor.lock();
if (PMONITOR)
g_pHyprRenderer->damageMonitor(PMONITOR);
else

View file

@ -19,7 +19,7 @@ CHyprBar::CHyprBar(PHLWINDOW pWindow) : IHyprWindowDecoration(pWindow) {
static auto* const PCOLOR = (Hyprlang::INT* const*)HyprlandAPI::getConfigValue(PHANDLE, "plugin:hyprbars:bar_color")->getDataStaticPtr();
const auto PMONITOR = pWindow->m_pMonitor.lock();
const auto PMONITOR = pWindow->m_monitor.lock();
PMONITOR->scheduledRecalc = true;
//button events
@ -57,11 +57,11 @@ SDecorationPositioningInfo CHyprBar::getPositioningInfo() {
static auto* const PPRECEDENCE = (Hyprlang::INT* const*)HyprlandAPI::getConfigValue(PHANDLE, "plugin:hyprbars:bar_precedence_over_border")->getDataStaticPtr();
SDecorationPositioningInfo info;
info.policy = m_bHidden ? DECORATION_POSITION_ABSOLUTE : DECORATION_POSITION_STICKY;
info.policy = m_hidden ? DECORATION_POSITION_ABSOLUTE : DECORATION_POSITION_STICKY;
info.edges = DECORATION_EDGE_TOP;
info.priority = **PPRECEDENCE ? 10005 : 5000;
info.reserved = true;
info.desiredExtents = {{0, m_bHidden ? 0 : **PHEIGHT}, {0, 0}};
info.desiredExtents = {{0, m_hidden ? 0 : **PHEIGHT}, {0, 0}};
return info;
}
@ -77,8 +77,8 @@ std::string CHyprBar::getDisplayName() {
}
bool CHyprBar::inputIsValid() {
if (!m_pWindow->m_pWorkspace || !m_pWindow->m_pWorkspace->isVisible() || !g_pInputManager->m_dExclusiveLSes.empty() ||
(g_pSeatManager->seatGrab && !g_pSeatManager->seatGrab->accepts(m_pWindow->m_pWLSurface->resource())))
if (!m_pWindow->m_workspace || !m_pWindow->m_workspace->isVisible() || !g_pInputManager->m_dExclusiveLSes.empty() ||
(g_pSeatManager->seatGrab && !g_pSeatManager->seatGrab->accepts(m_pWindow->m_wlSurface->resource())))
return false;
const auto WINDOWATCURSOR = g_pCompositor->vectorToWindowUnified(g_pInputManager->getMouseCoordsInternal(), RESERVED_EXTENTS | INPUT_EXTENTS | ALLOW_FLOATING);
@ -168,7 +168,7 @@ void CHyprBar::handleDownEvent(SCallbackInfo& info, std::optional<ITouch::SDownE
if (g_pCompositor->m_lastWindow.lock() != PWINDOW)
g_pCompositor->focusWindow(PWINDOW);
if (PWINDOW->m_bIsFloating)
if (PWINDOW->m_isFloating)
g_pCompositor->changeWindowZOrder(PWINDOW, true);
info.cancelled = true;
@ -495,12 +495,12 @@ void CHyprBar::renderBarButtonsText(CBox* barBox, const float scale, const float
}
void CHyprBar::draw(PHLMONITOR pMonitor, const float& a) {
if (m_bHidden || !validMapped(m_pWindow))
if (m_hidden || !validMapped(m_pWindow))
return;
const auto PWINDOW = m_pWindow.lock();
if (!PWINDOW->m_sWindowData.decorate.valueOrDefault())
if (!PWINDOW->m_windowData.decorate.valueOrDefault())
return;
auto data = CBarPassElement::SBarData{this, a};
@ -533,8 +533,8 @@ void CHyprBar::renderPass(PHLMONITOR pMonitor, const float& a) {
return;
}
const auto PWORKSPACE = PWINDOW->m_pWorkspace;
const auto WORKSPACEOFFSET = PWORKSPACE && !PWINDOW->m_bPinned ? PWORKSPACE->m_renderOffset->value() : Vector2D();
const auto PWORKSPACE = PWINDOW->m_workspace;
const auto WORKSPACEOFFSET = PWORKSPACE && !PWINDOW->m_pinned ? PWORKSPACE->m_renderOffset->value() : Vector2D();
const auto ROUNDING = PWINDOW->rounding() + (*PPRECEDENCE ? 0 : PWINDOW->getRealBorderSize());
@ -549,7 +549,7 @@ void CHyprBar::renderPass(PHLMONITOR pMonitor, const float& a) {
CBox titleBarBox = {DECOBOX.x - pMonitor->vecPosition.x, DECOBOX.y - pMonitor->vecPosition.y, DECOBOX.w,
DECOBOX.h + ROUNDING * 3 /* to fill the bottom cuz we can't disable rounding there */};
titleBarBox.translate(PWINDOW->m_vFloatingOffset).scale(pMonitor->scale).round();
titleBarBox.translate(PWINDOW->m_floatingOffset).scale(pMonitor->scale).round();
if (titleBarBox.w < 1 || titleBarBox.h < 1)
return;
@ -558,9 +558,9 @@ void CHyprBar::renderPass(PHLMONITOR pMonitor, const float& a) {
if (ROUNDING) {
// the +1 is a shit garbage temp fix until renderRect supports an alpha matte
CBox windowBox = {PWINDOW->m_vRealPosition->value().x + PWINDOW->m_vFloatingOffset.x - pMonitor->vecPosition.x + 1,
PWINDOW->m_vRealPosition->value().y + PWINDOW->m_vFloatingOffset.y - pMonitor->vecPosition.y + 1, PWINDOW->m_vRealSize->value().x - 2,
PWINDOW->m_vRealSize->value().y - 2};
CBox windowBox = {PWINDOW->m_realPosition->value().x + PWINDOW->m_floatingOffset.x - pMonitor->vecPosition.x + 1,
PWINDOW->m_realPosition->value().y + PWINDOW->m_floatingOffset.y - pMonitor->vecPosition.y + 1, PWINDOW->m_realSize->value().x - 2,
PWINDOW->m_realSize->value().y - 2};
if (windowBox.w < 1 || windowBox.h < 1)
return;
@ -589,8 +589,8 @@ void CHyprBar::renderPass(PHLMONITOR pMonitor, const float& a) {
g_pHyprOpenGL->renderRect(titleBarBox, color, scaledRounding);
// render title
if (**PENABLETITLE && (m_szLastTitle != PWINDOW->m_szTitle || m_bWindowSizeChanged || m_pTextTex->m_iTexID == 0 || m_bTitleColorChanged)) {
m_szLastTitle = PWINDOW->m_szTitle;
if (**PENABLETITLE && (m_szLastTitle != PWINDOW->m_title || m_bWindowSizeChanged || m_pTextTex->m_iTexID == 0 || m_bTitleColorChanged)) {
m_szLastTitle = PWINDOW->m_title;
renderBarTitle(BARBUF, pMonitor->scale);
}
@ -660,8 +660,8 @@ CBox CHyprBar::assignedBoxGlobal() {
CBox box = m_bAssignedBox;
box.translate(g_pDecorationPositioner->getEdgeDefinedPoint(DECORATION_EDGE_TOP, m_pWindow.lock()));
const auto PWORKSPACE = m_pWindow->m_pWorkspace;
const auto WORKSPACEOFFSET = PWORKSPACE && !m_pWindow->m_bPinned ? PWORKSPACE->m_renderOffset->value() : Vector2D();
const auto PWORKSPACE = m_pWindow->m_workspace;
const auto WORKSPACEOFFSET = PWORKSPACE && !m_pWindow->m_pinned ? PWORKSPACE->m_renderOffset->value() : Vector2D();
return box.translate(WORKSPACEOFFSET);
}
@ -672,32 +672,32 @@ PHLWINDOW CHyprBar::getOwner() {
void CHyprBar::updateRules() {
const auto PWINDOW = m_pWindow.lock();
auto rules = PWINDOW->m_vMatchedRules;
auto prev_m_bHidden = m_bHidden;
auto prev_m_bForcedTitleColor = m_bForcedTitleColor;
auto rules = PWINDOW->m_matchedRules;
auto prevHidden = m_hidden;
auto prevForcedTitleColor = m_bForcedTitleColor;
m_bForcedBarColor = std::nullopt;
m_bForcedTitleColor = std::nullopt;
m_bHidden = false;
m_hidden = false;
for (auto& r : rules) {
applyRule(r);
}
if (prev_m_bHidden != m_bHidden)
if (prevHidden != m_hidden)
g_pDecorationPositioner->repositionDeco(this);
if (prev_m_bForcedTitleColor != m_bForcedTitleColor)
if (prevForcedTitleColor != m_bForcedTitleColor)
m_bTitleColorChanged = true;
}
void CHyprBar::applyRule(const SP<CWindowRule>& r) {
auto arg = r->szRule.substr(r->szRule.find_first_of(' ') + 1);
auto arg = r->m_rule.substr(r->m_rule.find_first_of(' ') + 1);
if (r->szRule == "plugin:hyprbars:nobar")
m_bHidden = true;
else if (r->szRule.starts_with("plugin:hyprbars:bar_color"))
if (r->m_rule == "plugin:hyprbars:nobar")
m_hidden = true;
else if (r->m_rule.starts_with("plugin:hyprbars:bar_color"))
m_bForcedBarColor = CHyprColor(configStringToInt(arg).value_or(0));
else if (r->szRule.starts_with("plugin:hyprbars:title_color"))
else if (r->m_rule.starts_with("plugin:hyprbars:title_color"))
m_bForcedTitleColor = CHyprColor(configStringToInt(arg).value_or(0));
}

View file

@ -57,7 +57,7 @@ class CHyprBar : public IHyprWindowDecoration {
SP<CTexture> m_pButtonsTex;
bool m_bWindowSizeChanged = false;
bool m_bHidden = false;
bool m_hidden = false;
bool m_bTitleColorChanged = false;
bool m_bButtonHovered = false;
std::optional<CHyprColor> m_bForcedBarColor;

View file

@ -22,8 +22,8 @@ static void onNewWindow(void* self, std::any data) {
// data is guaranteed
const auto PWINDOW = std::any_cast<PHLWINDOW>(data);
if (!PWINDOW->m_bX11DoesntWantBorders) {
if (std::ranges::any_of(PWINDOW->m_dWindowDecorations, [](const auto& d) { return d->getDisplayName() == "Hyprbar"; }))
if (!PWINDOW->m_X11DoesntWantBorders) {
if (std::ranges::any_of(PWINDOW->m_windowDecorations, [](const auto& d) { return d->getDisplayName() == "Hyprbar"; }))
return;
auto bar = makeUnique<CHyprBar>(PWINDOW);
@ -147,7 +147,7 @@ APICALL EXPORT PLUGIN_DESCRIPTION_INFO PLUGIN_INIT(HANDLE handle) {
// add deco to existing windows
for (auto& w : g_pCompositor->m_windows) {
if (w->isHidden() || !w->m_bIsMapped)
if (w->isHidden() || !w->m_isMapped)
continue;
onNewWindow(nullptr /* unused */, std::any(w));

View file

@ -122,7 +122,7 @@ APICALL EXPORT PLUGIN_DESCRIPTION_INFO PLUGIN_INIT(HANDLE handle) {
// add deco to existing windows
for (auto& w : g_pCompositor->m_windows) {
if (w->isHidden() || !w->m_bIsMapped)
if (w->isHidden() || !w->m_isMapped)
continue;
HyprlandAPI::addWindowDecoration(PHANDLE, w, makeUnique<CTrail>(w));

View file

@ -16,8 +16,8 @@ void CTrail::onTick() {
const auto PWINDOW = m_pWindow.lock();
if (m_iTimer > **PHISTORYSTEP) {
m_dLastGeoms.push_front({box{(float)PWINDOW->m_vRealPosition->value().x, (float)PWINDOW->m_vRealPosition->value().y, (float)PWINDOW->m_vRealSize->value().x,
(float)PWINDOW->m_vRealSize->value().y},
m_dLastGeoms.push_front({box{(float)PWINDOW->m_realPosition->value().x, (float)PWINDOW->m_realPosition->value().y, (float)PWINDOW->m_realSize->value().x,
(float)PWINDOW->m_realSize->value().y},
std::chrono::system_clock::now()});
while (m_dLastGeoms.size() > **PHISTORYPOINTS)
m_dLastGeoms.pop_back();
@ -32,8 +32,8 @@ void CTrail::onTick() {
}
CTrail::CTrail(PHLWINDOW pWindow) : IHyprWindowDecoration(pWindow), m_pWindow(pWindow) {
m_vLastWindowPos = pWindow->m_vRealPosition->value();
m_vLastWindowSize = pWindow->m_vRealSize->value();
m_vLastWindowPos = pWindow->m_realPosition->value();
m_vLastWindowSize = pWindow->m_realSize->value();
pTickCb = HyprlandAPI::registerCallbackDynamic(PHANDLE, "trailTick", [this](void* self, SCallbackInfo& info, std::any data) { this->onTick(); });
}
@ -86,7 +86,7 @@ void CTrail::draw(PHLMONITOR pMonitor, const float& a) {
const auto PWINDOW = m_pWindow.lock();
if (!PWINDOW->m_sWindowData.decorate.valueOrDefault())
if (!PWINDOW->m_windowData.decorate.valueOrDefault())
return;
auto data = CTrailPassElement::STrailData{this, a};
@ -106,7 +106,7 @@ void CTrail::renderPass(PHLMONITOR pMonitor, const float& a) {
return;
box thisbox =
box{(float)PWINDOW->m_vRealPosition->value().x, (float)PWINDOW->m_vRealPosition->value().y, (float)PWINDOW->m_vRealSize->value().x, (float)PWINDOW->m_vRealSize->value().y};
box{(float)PWINDOW->m_realPosition->value().x, (float)PWINDOW->m_realPosition->value().y, (float)PWINDOW->m_realSize->value().x, (float)PWINDOW->m_realSize->value().y};
CBox wlrbox = {thisbox.x - pMonitor->vecPosition.x, thisbox.y - pMonitor->vecPosition.y, thisbox.w, thisbox.h};
wlrbox.scale(pMonitor->scale).round();
@ -246,10 +246,10 @@ void CTrail::renderPass(PHLMONITOR pMonitor, const float& a) {
}
}
box thisboxopengl = box{(PWINDOW->m_vRealPosition->value().x - pMonitor->vecPosition.x) / pMonitor->vecSize.x,
(PWINDOW->m_vRealPosition->value().y - pMonitor->vecPosition.y) / pMonitor->vecSize.y,
(PWINDOW->m_vRealPosition->value().x + PWINDOW->m_vRealSize->value().x) / pMonitor->vecSize.x,
(PWINDOW->m_vRealPosition->value().y + PWINDOW->m_vRealSize->value().y) / pMonitor->vecSize.y};
box thisboxopengl = box{(PWINDOW->m_realPosition->value().x - pMonitor->vecPosition.x) / pMonitor->vecSize.x,
(PWINDOW->m_realPosition->value().y - pMonitor->vecPosition.y) / pMonitor->vecSize.y,
(PWINDOW->m_realPosition->value().x + PWINDOW->m_realSize->value().x) / pMonitor->vecSize.x,
(PWINDOW->m_realPosition->value().y + PWINDOW->m_realSize->value().y) / pMonitor->vecSize.y};
glUniform4f(g_pGlobalState->trailShader.gradient, thisboxopengl.x, thisboxopengl.y, thisboxopengl.w, thisboxopengl.h);
glUniform4f(g_pGlobalState->trailShader.color, COLOR.r, COLOR.g, COLOR.b, COLOR.a);
@ -325,12 +325,12 @@ eDecorationType CTrail::getDecorationType() {
}
void CTrail::updateWindow(PHLWINDOW pWindow) {
const auto PWORKSPACE = pWindow->m_pWorkspace;
const auto PWORKSPACE = pWindow->m_workspace;
const auto WORKSPACEOFFSET = PWORKSPACE && !pWindow->m_bPinned ? PWORKSPACE->m_renderOffset->value() : Vector2D();
const auto WORKSPACEOFFSET = PWORKSPACE && !pWindow->m_pinned ? PWORKSPACE->m_renderOffset->value() : Vector2D();
m_vLastWindowPos = pWindow->m_vRealPosition->value() + WORKSPACEOFFSET;
m_vLastWindowSize = pWindow->m_vRealSize->value();
m_vLastWindowPos = pWindow->m_realPosition->value() + WORKSPACEOFFSET;
m_vLastWindowSize = pWindow->m_realSize->value();
damageEntire();
}

View file

@ -36,27 +36,27 @@ std::vector<PHLWINDOWREF> bgWindows;
void onNewWindow(PHLWINDOW pWindow) {
static auto* const PCLASS = (Hyprlang::STRING const*)HyprlandAPI::getConfigValue(PHANDLE, "plugin:hyprwinwrap:class")->getDataStaticPtr();
if (pWindow->m_szInitialClass != *PCLASS)
if (pWindow->m_initialClass != *PCLASS)
return;
const auto PMONITOR = pWindow->m_pMonitor.lock();
const auto PMONITOR = pWindow->m_monitor.lock();
if (!PMONITOR)
return;
if (!pWindow->m_bIsFloating)
if (!pWindow->m_isFloating)
g_pLayoutManager->getCurrentLayout()->changeWindowFloatingMode(pWindow);
pWindow->m_vRealSize->setValueAndWarp(PMONITOR->vecSize);
pWindow->m_vRealPosition->setValueAndWarp(PMONITOR->vecPosition);
pWindow->m_vSize = PMONITOR->vecSize;
pWindow->m_vPosition = PMONITOR->vecPosition;
pWindow->m_bPinned = true;
pWindow->m_realSize->setValueAndWarp(PMONITOR->vecSize);
pWindow->m_realPosition->setValueAndWarp(PMONITOR->vecPosition);
pWindow->m_size = PMONITOR->vecSize;
pWindow->m_position = PMONITOR->vecPosition;
pWindow->m_pinned = true;
pWindow->sendWindowSize(true);
bgWindows.push_back(pWindow);
pWindow->m_bHidden = true; // no renderino hyprland pls
pWindow->m_hidden = true; // no renderino hyprland pls
g_pInputManager->refocus();
@ -76,15 +76,15 @@ void onRenderStage(eRenderStage stage) {
for (auto& bg : bgWindows) {
const auto bgw = bg.lock();
if (bgw->m_pMonitor != g_pHyprOpenGL->m_RenderData.pMonitor)
if (bgw->m_monitor != g_pHyprOpenGL->m_RenderData.pMonitor)
continue;
// cant use setHidden cuz that sends suspended and shit too that would be laggy
bgw->m_bHidden = false;
bgw->m_hidden = false;
g_pHyprRenderer->renderWindow(bgw, g_pHyprOpenGL->m_RenderData.pMonitor.lock(), Time::steadyNow(), false, RENDER_PASS_ALL, false, true);
bgw->m_bHidden = true;
bgw->m_hidden = true;
}
}
@ -97,17 +97,17 @@ void onCommitSubsurface(CSubsurface* thisptr) {
}
// cant use setHidden cuz that sends suspended and shit too that would be laggy
PWINDOW->m_bHidden = false;
PWINDOW->m_hidden = false;
((origCommitSubsurface)subsurfaceHook->m_pOriginal)(thisptr);
if (const auto MON = PWINDOW->m_pMonitor.lock(); MON)
if (const auto MON = PWINDOW->m_monitor.lock(); MON)
g_pHyprOpenGL->markBlurDirtyForMonitor(MON);
PWINDOW->m_bHidden = true;
PWINDOW->m_hidden = true;
}
void onCommit(void* owner, void* data) {
const auto PWINDOW = ((CWindow*)owner)->m_pSelf.lock();
const auto PWINDOW = ((CWindow*)owner)->m_self.lock();
if (std::find_if(bgWindows.begin(), bgWindows.end(), [PWINDOW](const auto& ref) { return ref.lock() == PWINDOW; }) == bgWindows.end()) {
((origCommit)commitHook->m_pOriginal)(owner, data);
@ -115,13 +115,13 @@ void onCommit(void* owner, void* data) {
}
// cant use setHidden cuz that sends suspended and shit too that would be laggy
PWINDOW->m_bHidden = false;
PWINDOW->m_hidden = false;
((origCommit)commitHook->m_pOriginal)(owner, data);
if (const auto MON = PWINDOW->m_pMonitor.lock(); MON)
if (const auto MON = PWINDOW->m_monitor.lock(); MON)
g_pHyprOpenGL->markBlurDirtyForMonitor(MON);
PWINDOW->m_bHidden = true;
PWINDOW->m_hidden = true;
}
void onConfigReloaded() {

View file

@ -36,7 +36,7 @@ static SDispatchResult moveOrExec(std::string in) {
if (!PWINDOW)
g_pKeybindManager->spawn(vars[1]);
else {
if (g_pCompositor->m_lastMonitor->activeWorkspace != PWINDOW->m_pWorkspace)
if (g_pCompositor->m_lastMonitor->activeWorkspace != PWINDOW->m_workspace)
g_pCompositor->moveWindowToWorkspaceSafe(PWINDOW, g_pCompositor->m_lastMonitor->activeWorkspace);
else
g_pCompositor->warpCursorTo(PWINDOW->middle());
@ -52,15 +52,15 @@ static SDispatchResult throwUnfocused(std::string in) {
if (id == WORKSPACE_INVALID)
return SDispatchResult{.success = false, .error = "Failed to find workspace"};
if (!g_pCompositor->m_lastWindow || !g_pCompositor->m_lastWindow->m_pWorkspace)
if (!g_pCompositor->m_lastWindow || !g_pCompositor->m_lastWindow->m_workspace)
return SDispatchResult{.success = false, .error = "No valid last window"};
auto pWorkspace = g_pCompositor->getWorkspaceByID(id);
if (!pWorkspace)
pWorkspace = g_pCompositor->createNewWorkspace(id, g_pCompositor->m_lastWindow->m_pWorkspace->monitorID(), name, false);
pWorkspace = g_pCompositor->createNewWorkspace(id, g_pCompositor->m_lastWindow->m_workspace->monitorID(), name, false);
for (const auto& w : g_pCompositor->m_windows) {
if (w == g_pCompositor->m_lastWindow || w->m_pWorkspace != g_pCompositor->m_lastWindow->m_pWorkspace)
if (w == g_pCompositor->m_lastWindow || w->m_workspace != g_pCompositor->m_lastWindow->m_workspace)
continue;
g_pCompositor->moveWindowToWorkspaceSafe(w, pWorkspace);
@ -85,7 +85,7 @@ static SDispatchResult bringAllFrom(std::string in) {
const auto PLASTWINDOW = g_pCompositor->m_lastWindow.lock();
for (const auto& w : g_pCompositor->m_windows) {
if (w->m_pWorkspace != pWorkspace)
if (w->m_workspace != pWorkspace)
continue;
g_pCompositor->moveWindowToWorkspaceSafe(w, g_pCompositor->m_lastMonitor->activeWorkspace);
@ -104,7 +104,7 @@ static SDispatchResult closeUnfocused(std::string in) {
return SDispatchResult{.success = false, .error = "No focused monitor"};
for (const auto& w : g_pCompositor->m_windows) {
if (w->m_pWorkspace != g_pCompositor->m_lastMonitor->activeWorkspace || w->m_pMonitor != g_pCompositor->m_lastMonitor || !w->m_bIsMapped)
if (w->m_workspace != g_pCompositor->m_lastMonitor->activeWorkspace || w->m_monitor != g_pCompositor->m_lastMonitor || !w->m_isMapped)
continue;
g_pCompositor->closeWindow(w);