mirror of
https://github.com/Trensa-Organization/hy3.git
synced 2025-03-15 10:43:40 +01:00
Fix starting with a horizontal layout on vertical monitors
This commit is contained in:
parent
107cb86304
commit
7f1989689d
1 changed files with 16 additions and 4 deletions
|
@ -156,8 +156,10 @@ void Hy3Layout::insertNode(Hy3Node& node) {
|
|||
{
|
||||
opening_after = this->getNodeFromWindow(g_pCompositor->m_pLastWindow);
|
||||
} else {
|
||||
auto* mouse_window =
|
||||
g_pCompositor->vectorToWindowUnified(g_pInputManager->getMouseCoordsInternal(), RESERVED_EXTENTS | INPUT_EXTENTS);
|
||||
auto* mouse_window = g_pCompositor->vectorToWindowUnified(
|
||||
g_pInputManager->getMouseCoordsInternal(),
|
||||
RESERVED_EXTENTS | INPUT_EXTENTS
|
||||
);
|
||||
|
||||
if (mouse_window != nullptr && mouse_window->m_iWorkspaceID == node.workspace_id) {
|
||||
opening_after = this->getNodeFromWindow(mouse_window);
|
||||
|
@ -180,8 +182,13 @@ void Hy3Layout::insertNode(Hy3Node& node) {
|
|||
static const auto* tab_first_window =
|
||||
&HyprlandAPI::getConfigValue(PHANDLE, "plugin:hy3:tab_first_window")->intValue;
|
||||
|
||||
auto width =
|
||||
monitor->vecSize.x - monitor->vecReservedBottomRight.x - monitor->vecReservedTopLeft.x;
|
||||
auto height =
|
||||
monitor->vecSize.y - monitor->vecReservedBottomRight.y - monitor->vecReservedTopLeft.y;
|
||||
|
||||
this->nodes.push_back({
|
||||
.data = Hy3GroupLayout::SplitH,
|
||||
.data = height > width ? Hy3GroupLayout::SplitV : Hy3GroupLayout::SplitH,
|
||||
.position = monitor->vecPosition + monitor->vecReservedTopLeft,
|
||||
.size = monitor->vecSize - monitor->vecReservedTopLeft - monitor->vecReservedBottomRight,
|
||||
.workspace_id = node.workspace_id,
|
||||
|
@ -1228,7 +1235,12 @@ void Hy3Layout::focusTab(
|
|||
|
||||
if (target == TabFocus::MouseLocation || mouse != TabFocusMousePriority::Ignore) {
|
||||
auto mouse_pos = g_pInputManager->getMouseCoordsInternal();
|
||||
if (g_pCompositor->vectorToWindowUnified(mouse_pos, RESERVED_EXTENTS | INPUT_EXTENTS | ALLOW_FLOATING | FLOATING_ONLY) == nullptr) {
|
||||
if (g_pCompositor->vectorToWindowUnified(
|
||||
mouse_pos,
|
||||
RESERVED_EXTENTS | INPUT_EXTENTS | ALLOW_FLOATING | FLOATING_ONLY
|
||||
)
|
||||
== nullptr)
|
||||
{
|
||||
tab_node = findTabBarAt(*node, mouse_pos, &tab_focused_node);
|
||||
if (tab_node != nullptr) goto hastab;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue