mirror of
https://github.com/hyprwm/Hyprland.git
synced 2026-08-24 02:24:14 -05:00
windows/focus: differentiate fullscreen focus reason into default and layout handled reasons. (#14370)
* differentiate RECALCULATE_REASON_TOGGLE_FULLSCREEN into default and layout handled reasons. * fix * add layout handled fs reason as not a hard focus reason. fullscreen handler fits the col to view anyway * clang-format
This commit is contained in:
+2
-1
@@ -2311,7 +2311,8 @@ void CCompositor::setWindowFullscreenState(const PHLWINDOW PWINDOW, Desktop::Vie
|
||||
// because the windows below fs are not visible obviously but because we update fullscreen fade which sets that
|
||||
// state later, it does it wrong
|
||||
PWORKSPACE->updateWindows();
|
||||
PWORKSPACE->m_space->recalculate();
|
||||
PWORKSPACE->m_space->recalculate(FULLSCREEN_REQUEST_RESULT == Layout::FULLSCREEN_REQUEST_DEFAULT ? Layout::RECALCULATE_REASON_TOGGLE_DEFAULT_HANDLED_FULLSCREEN :
|
||||
Layout::RECALCULATE_REASON_TOGGLE_LAYOUT_HANDLED_FULLSCREEN);
|
||||
PWORKSPACE->forceReportSizesToWindows();
|
||||
|
||||
g_pInputManager->recheckIdleInhibitorStatus();
|
||||
|
||||
@@ -173,7 +173,7 @@ eFullscreenRequestResult CSpace::setFullscreen(SP<ITarget> t, eFullscreenMode cu
|
||||
if (mode == FSMODE_NONE && m_algorithm && t->floating())
|
||||
m_algorithm->recenter(t);
|
||||
|
||||
recalculate(RECALCULATE_REASON_TOGGLE_FULLSCREEN);
|
||||
recalculate(REQUEST_RESULT == FULLSCREEN_REQUEST_DEFAULT ? RECALCULATE_REASON_TOGGLE_DEFAULT_HANDLED_FULLSCREEN : RECALCULATE_REASON_TOGGLE_LAYOUT_HANDLED_FULLSCREEN);
|
||||
|
||||
return REQUEST_RESULT;
|
||||
}
|
||||
@@ -219,7 +219,8 @@ SP<ITarget> CSpace::getNextCandidate(SP<ITarget> old) {
|
||||
}
|
||||
|
||||
bool Layout::isHardRecalculateReason(eRecalculateReason reason) {
|
||||
return reason != RECALCULATE_REASON_WORKSPACE_CHANGE && reason != RECALCULATE_REASON_SPECIAL_WORKSPACE_TOGGLE && reason != RECALCULATE_REASON_TOGGLE_FULLSCREEN &&
|
||||
return reason != RECALCULATE_REASON_WORKSPACE_CHANGE && reason != RECALCULATE_REASON_SPECIAL_WORKSPACE_TOGGLE &&
|
||||
reason != RECALCULATE_REASON_TOGGLE_LAYOUT_HANDLED_FULLSCREEN && reason != RECALCULATE_REASON_TOGGLE_DEFAULT_HANDLED_FULLSCREEN &&
|
||||
reason != RECALCULATE_REASON_INVALIDATE_MONITOR_GEOMETRIES && reason != RECALCULATE_REASON_RENDER_MOINTOR;
|
||||
}
|
||||
|
||||
@@ -232,7 +233,7 @@ eRecalculateReason Layout::recalcMonitorReasonToRecalcReason(CLayoutManager::eRe
|
||||
switch (reason) {
|
||||
case CLayoutManager::RECALCULATE_MONITOR_REASON_TOGGLE_SPECIAL_WORKSPACE: return RECALCULATE_REASON_SPECIAL_WORKSPACE_TOGGLE;
|
||||
case CLayoutManager::RECALCULATE_MONITOR_REASON_WORKSPACE_CHANGE: return RECALCULATE_REASON_WORKSPACE_CHANGE;
|
||||
case CLayoutManager::RECALCULATE_MONITOR_REASON_TOGGLE_FULLSCREEN: return RECALCULATE_REASON_TOGGLE_FULLSCREEN;
|
||||
case CLayoutManager::RECALCULATE_MONITOR_REASON_TOGGLE_FULLSCREEN: return RECALCULATE_REASON_TOGGLE_DEFAULT_HANDLED_FULLSCREEN;
|
||||
default: return RECALCULATE_REASON_UNKNOWN;
|
||||
}
|
||||
}
|
||||
@@ -17,7 +17,8 @@ namespace Layout {
|
||||
RECALCULATE_REASON_UNKNOWN, // when the recalculate reason is unknown or not important to preserve
|
||||
RECALCULATE_REASON_WORKSPACE_CHANGE,
|
||||
RECALCULATE_REASON_SPECIAL_WORKSPACE_TOGGLE,
|
||||
RECALCULATE_REASON_TOGGLE_FULLSCREEN,
|
||||
RECALCULATE_REASON_TOGGLE_DEFAULT_HANDLED_FULLSCREEN,
|
||||
RECALCULATE_REASON_TOGGLE_LAYOUT_HANDLED_FULLSCREEN,
|
||||
RECALCULATE_REASON_INVALIDATE_MONITOR_GEOMETRIES,
|
||||
RECALCULATE_REASON_RENDER_MOINTOR,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user