Skip to content

Commit 84659a2

Browse files
authored
all: chase hyprland for 40d8fa8 (#549)
* hyprexpo: Fixes for 40d8fa8 * csgo-vulkan-fix: Fixes for 40d8fa8 * hyprbars: Fixes for 40d8fa8 I am not entirely sure whether I was supposed to use fullWindowFocus() or rawWindowFocus() in hyprbars/barDeco.cpp at line 220 * xtra-dispatchers: Fixes for 40d8fa8 I am not entirely sure whether I was supposed to use fullWindowFocus() or rawWindowFocus() in xtra-dispatchers/main.cpp at lines 47 and 106 * hyprscrolling: Fixes for 40d8fa8 A lot of repeated code can be removed if it's safe to store `Desktop::focusState()`, `Desktop::focusState()->monitor()` and `Desktop::focusState()->window()` at the top of the `CScrollingLayout::findBestNeighbor` function. This change requires further review as I don't know if any of those change during this function so I didn't wanna introduce any unexpected issues. I am not entirely sure whether I was supposed to use fullWindowFocus() or rawWindowFocus() in xtra-dispatchers/main.cpp at lines 786, 789 and 1344
1 parent 7ffc0b3 commit 84659a2

File tree

7 files changed

+83
-55
lines changed

7 files changed

+83
-55
lines changed

csgo-vulkan-fix/main.cpp

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
#include <unistd.h>
44

55
#include <hyprland/src/Compositor.hpp>
6+
#include <hyprland/src/desktop/state/FocusState.hpp>
67
#include <hyprland/src/desktop/Window.hpp>
78
#include <hyprland/src/config/ConfigManager.hpp>
89
#include <hyprland/src/xwayland/XSurface.hpp>
@@ -46,14 +47,17 @@ static const SAppConfig* getAppConfig(const std::string& appClass) {
4647
void hkNotifyMotion(CSeatManager* thisptr, uint32_t time_msec, const Vector2D& local) {
4748
static auto* const PFIX = (Hyprlang::INT* const*)HyprlandAPI::getConfigValue(PHANDLE, "plugin:csgo-vulkan-fix:fix_mouse")->getDataStaticPtr();
4849

49-
Vector2D newCoords = local;
50+
Vector2D newCoords = local;
51+
auto focusState = Desktop::focusState();
52+
auto window = focusState->window();
53+
auto monitor = focusState->monitor();
5054

51-
const auto CONFIG = g_pCompositor->m_lastWindow && g_pCompositor->m_lastMonitor ? getAppConfig(g_pCompositor->m_lastWindow->m_initialClass) : nullptr;
55+
const auto CONFIG = window && monitor ? getAppConfig(window->m_initialClass) : nullptr;
5256

5357
if (**PFIX && CONFIG) {
5458
// fix the coords
55-
newCoords.x *= (CONFIG->res.x / g_pCompositor->m_lastMonitor->m_size.x) / g_pCompositor->m_lastWindow->m_X11SurfaceScaledBy;
56-
newCoords.y *= (CONFIG->res.y / g_pCompositor->m_lastMonitor->m_size.y) / g_pCompositor->m_lastWindow->m_X11SurfaceScaledBy;
59+
newCoords.x *= (CONFIG->res.x / monitor->m_size.x) / window->m_X11SurfaceScaledBy;
60+
newCoords.y *= (CONFIG->res.y / monitor->m_size.y) / window->m_X11SurfaceScaledBy;
5761
}
5862

5963
(*(origMotion)g_pMouseMotionHook->m_original)(thisptr, time_msec, newCoords);

hyprbars/barDeco.cpp

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#include "barDeco.hpp"
22

33
#include <hyprland/src/Compositor.hpp>
4+
#include <hyprland/src/desktop/state/FocusState.hpp>
45
#include <hyprland/src/desktop/Window.hpp>
56
#include <hyprland/src/helpers/MiscFunctions.hpp>
67
#include <hyprland/src/managers/SeatManager.hpp>
@@ -90,11 +91,15 @@ bool CHyprBar::inputIsValid() {
9091

9192
const auto WINDOWATCURSOR = g_pCompositor->vectorToWindowUnified(g_pInputManager->getMouseCoordsInternal(), RESERVED_EXTENTS | INPUT_EXTENTS | ALLOW_FLOATING);
9293

93-
if (WINDOWATCURSOR != m_pWindow && m_pWindow != g_pCompositor->m_lastWindow)
94+
auto focusState = Desktop::focusState();
95+
auto window = focusState->window();
96+
auto monitor = focusState->monitor();
97+
98+
if (WINDOWATCURSOR != m_pWindow && m_pWindow != window)
9499
return false;
95100

96101
// check if input is on top or overlay shell layers
97-
auto PMONITOR = g_pCompositor->m_lastMonitor.lock();
102+
auto PMONITOR = monitor;
98103
PHLLS foundSurface = nullptr;
99104
Vector2D surfaceCoords;
100105

@@ -158,7 +163,7 @@ void CHyprBar::onTouchMove(SCallbackInfo& info, ITouch::SMotionEvent e) {
158163
return;
159164

160165
auto PMONITOR = m_pWindow->m_monitor.lock();
161-
PMONITOR = PMONITOR ? PMONITOR : g_pCompositor->m_lastMonitor.lock();
166+
PMONITOR = PMONITOR ? PMONITOR : Desktop::focusState()->monitor();
162167
const auto COORDS = Vector2D(PMONITOR->m_position.x + e.pos.x * PMONITOR->m_size.x, PMONITOR->m_position.y + e.pos.y * PMONITOR->m_size.y);
163168

164169
if (!m_bDraggingThis) {
@@ -183,7 +188,7 @@ void CHyprBar::handleDownEvent(SCallbackInfo& info, std::optional<ITouch::SDownE
183188
if (m_bTouchEv) {
184189
ITouch::SDownEvent e = touchEvent.value();
185190
auto PMONITOR = g_pCompositor->getMonitorFromName(!e.device->m_boundOutput.empty() ? e.device->m_boundOutput : "");
186-
PMONITOR = PMONITOR ? PMONITOR : g_pCompositor->m_lastMonitor.lock();
191+
PMONITOR = PMONITOR ? PMONITOR : Desktop::focusState()->monitor();
187192
COORDS = Vector2D(PMONITOR->m_position.x + e.pos.x * PMONITOR->m_size.x, PMONITOR->m_position.y + e.pos.y * PMONITOR->m_size.y) - assignedBoxGlobal().pos();
188193
}
189194

@@ -211,8 +216,8 @@ void CHyprBar::handleDownEvent(SCallbackInfo& info, std::optional<ITouch::SDownE
211216
return;
212217
}
213218

214-
if (g_pCompositor->m_lastWindow.lock() != PWINDOW)
215-
g_pCompositor->focusWindow(PWINDOW);
219+
if (Desktop::focusState()->window() != PWINDOW)
220+
Desktop::focusState()->fullWindowFocus(PWINDOW);
216221

217222
if (PWINDOW->m_isFloating)
218223
g_pCompositor->changeWindowZOrder(PWINDOW, true);
@@ -234,7 +239,7 @@ void CHyprBar::handleDownEvent(SCallbackInfo& info, std::optional<ITouch::SDownE
234239
}
235240

236241
void CHyprBar::handleUpEvent(SCallbackInfo& info) {
237-
if (m_pWindow.lock() != g_pCompositor->m_lastWindow.lock())
242+
if (m_pWindow.lock() != Desktop::focusState()->window())
238243
return;
239244

240245
if (m_bCancelledDown)
@@ -593,7 +598,7 @@ void CHyprBar::renderPass(PHLMONITOR pMonitor, const float& a) {
593598
static auto* const PINACTIVECOLOR = (Hyprlang::INT* const*)HyprlandAPI::getConfigValue(PHANDLE, "plugin:hyprbars:inactive_button_color")->getDataStaticPtr();
594599

595600
if (**PINACTIVECOLOR > 0) {
596-
bool currentWindowFocus = PWINDOW == g_pCompositor->m_lastWindow.lock();
601+
bool currentWindowFocus = PWINDOW == Desktop::focusState()->window();
597602
if (currentWindowFocus != m_bWindowHasFocus) {
598603
m_bWindowHasFocus = currentWindowFocus;
599604
m_bButtonsDirty = true;

hyprexpo/ExpoGesture.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
#include "overview.hpp"
44

55
#include <hyprland/src/Compositor.hpp>
6+
#include <hyprland/src/desktop/state/FocusState.hpp>
67
#include <hyprland/src/helpers/Monitor.hpp>
78

89
void CExpoGesture::begin(const ITrackpadGesture::STrackpadGestureBegin& e) {
@@ -12,7 +13,7 @@ void CExpoGesture::begin(const ITrackpadGesture::STrackpadGestureBegin& e) {
1213
m_firstUpdate = true;
1314

1415
if (!g_pOverview)
15-
g_pOverview = std::make_unique<COverview>(g_pCompositor->m_lastMonitor->m_activeWorkspace);
16+
g_pOverview = std::make_unique<COverview>(Desktop::focusState()->monitor()->m_activeWorkspace);
1617
else {
1718
g_pOverview->selectHoveredWorkspace();
1819
g_pOverview->setClosing(true);

hyprexpo/main.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
#include <unistd.h>
44

55
#include <hyprland/src/Compositor.hpp>
6+
#include <hyprland/src/desktop/state/FocusState.hpp>
67
#include <hyprland/src/desktop/Window.hpp>
78
#include <hyprland/src/config/ConfigManager.hpp>
89
#include <hyprland/src/desktop/DesktopTypes.hpp>
@@ -81,7 +82,7 @@ static SDispatchResult onExpoDispatcher(std::string arg) {
8182
g_pOverview->close();
8283
else {
8384
renderingOverview = true;
84-
g_pOverview = std::make_unique<COverview>(g_pCompositor->m_lastMonitor->m_activeWorkspace);
85+
g_pOverview = std::make_unique<COverview>(Desktop::focusState()->monitor()->m_activeWorkspace);
8586
renderingOverview = false;
8687
}
8788
return {};
@@ -97,7 +98,7 @@ static SDispatchResult onExpoDispatcher(std::string arg) {
9798
return {};
9899

99100
renderingOverview = true;
100-
g_pOverview = std::make_unique<COverview>(g_pCompositor->m_lastMonitor->m_activeWorkspace);
101+
g_pOverview = std::make_unique<COverview>(Desktop::focusState()->monitor()->m_activeWorkspace);
101102
renderingOverview = false;
102103
return {};
103104
}

hyprexpo/overview.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
#define private public
44
#include <hyprland/src/render/Renderer.hpp>
55
#include <hyprland/src/Compositor.hpp>
6+
#include <hyprland/src/desktop/state/FocusState.hpp>
67
#include <hyprland/src/config/ConfigValue.hpp>
78
#include <hyprland/src/config/ConfigManager.hpp>
89
#include <hyprland/src/managers/animation/AnimationManager.hpp>
@@ -29,7 +30,7 @@ COverview::~COverview() {
2930
}
3031

3132
COverview::COverview(PHLWORKSPACE startedOn_, bool swipe_) : startedOn(startedOn_), swipe(swipe_) {
32-
const auto PMONITOR = g_pCompositor->m_lastMonitor.lock();
33+
const auto PMONITOR = Desktop::focusState()->monitor();
3334
pMonitor = PMONITOR;
3435

3536
static auto* const* PCOLUMNS = (Hyprlang::INT* const*)HyprlandAPI::getConfigValue(PHANDLE, "plugin:hyprexpo:columns")->getDataStaticPtr();

hyprscrolling/Scrolling.cpp

Lines changed: 27 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
#include <algorithm>
44

55
#include <hyprland/src/Compositor.hpp>
6+
#include <hyprland/src/desktop/state/FocusState.hpp>
67
#include <hyprland/src/managers/input/InputManager.hpp>
78
#include <hyprland/src/managers/eventLoop/EventLoopManager.hpp>
89
#include <hyprland/src/config/ConfigManager.hpp>
@@ -534,7 +535,7 @@ void CScrollingLayout::onWindowCreatedTiling(PHLWINDOW window, eDirection direct
534535
workspaceData->self = workspaceData;
535536
}
536537

537-
auto droppingOn = g_pCompositor->m_lastWindow.lock();
538+
auto droppingOn = Desktop::focusState()->window();
538539

539540
if (droppingOn == window)
540541
droppingOn = g_pCompositor->vectorToWindowUnified(g_pInputManager->getMouseCoordsInternal(), RESERVED_EXTENTS | INPUT_EXTENTS);
@@ -630,7 +631,7 @@ void CScrollingLayout::onBeginDragWindow() {
630631
}
631632

632633
void CScrollingLayout::resizeActiveWindow(const Vector2D& delta, eRectCorner corner, PHLWINDOW pWindow) {
633-
const auto PWINDOW = pWindow ? pWindow : g_pCompositor->m_lastWindow.lock();
634+
const auto PWINDOW = pWindow ? pWindow : Desktop::focusState()->window();
634635
Vector2D modDelta = delta;
635636

636637
if (!validMapped(PWINDOW))
@@ -782,10 +783,10 @@ void CScrollingLayout::fullscreenRequestForWindow(PHLWINDOW pWindow, const eFull
782783

783784
void CScrollingLayout::focusWindowUpdate(PHLWINDOW pWindow) {
784785
if (!validMapped(pWindow)) {
785-
g_pCompositor->focusWindow(nullptr);
786+
Desktop::focusState()->fullWindowFocus(nullptr);
786787
return;
787788
}
788-
g_pCompositor->focusWindow(pWindow);
789+
Desktop::focusState()->fullWindowFocus(pWindow);
789790
const auto WINDOWDATA = dataFor(pWindow);
790791
if (WINDOWDATA) {
791792
if (auto col = WINDOWDATA->column.lock())
@@ -841,7 +842,7 @@ std::any CScrollingLayout::layoutMessage(SLayoutMessageHeader header, std::strin
841842
return {};
842843

843844
if (ARGS[1] == "+col" || ARGS[1] == "col") {
844-
const auto WDATA = dataFor(g_pCompositor->m_lastWindow.lock());
845+
const auto WDATA = dataFor(Desktop::focusState()->window());
845846
if (!WDATA)
846847
return {};
847848

@@ -862,7 +863,7 @@ std::any CScrollingLayout::layoutMessage(SLayoutMessageHeader header, std::strin
862863

863864
return {};
864865
} else if (ARGS[1] == "-col") {
865-
const auto WDATA = dataFor(g_pCompositor->m_lastWindow.lock());
866+
const auto WDATA = dataFor(Desktop::focusState()->window());
866867
if (!WDATA) {
867868
if (DATA->leftOffset <= DATA->maxWidth() && DATA->columns.size() > 0) {
868869
DATA->centerCol(DATA->columns.back());
@@ -899,7 +900,7 @@ std::any CScrollingLayout::layoutMessage(SLayoutMessageHeader header, std::strin
899900

900901
focusWindowUpdate(ATCENTER ? (*ATCENTER->windowDatas.begin())->window.lock() : nullptr);
901902
} else if (ARGS[0] == "colresize") {
902-
const auto WDATA = dataFor(g_pCompositor->m_lastWindow.lock());
903+
const auto WDATA = dataFor(Desktop::focusState()->window());
903904

904905
if (!WDATA)
905906
return {};
@@ -968,13 +969,13 @@ std::any CScrollingLayout::layoutMessage(SLayoutMessageHeader header, std::strin
968969
WDATA->column->columnWidth = abs;
969970
}
970971
} else if (ARGS[0] == "movewindowto") {
971-
moveWindowTo(g_pCompositor->m_lastWindow.lock(), ARGS[1], false);
972+
moveWindowTo(Desktop::focusState()->window(), ARGS[1], false);
972973
} else if (ARGS[0] == "fit") {
973974

974975
if (ARGS[1] == "active") {
975976
// fit the current column to 1.F
976-
const auto WDATA = dataFor(g_pCompositor->m_lastWindow.lock());
977-
const auto WORKDATA = dataFor(g_pCompositor->m_lastWindow->m_workspace);
977+
const auto WDATA = dataFor(Desktop::focusState()->window());
978+
const auto WORKDATA = dataFor(Desktop::focusState()->window()->m_workspace);
978979

979980
if (!WDATA || !WORKDATA || WORKDATA->columns.size() == 0)
980981
return {};
@@ -985,7 +986,7 @@ std::any CScrollingLayout::layoutMessage(SLayoutMessageHeader header, std::strin
985986

986987
WORKDATA->leftOffset = 0;
987988
for (size_t i = 0; i < WORKDATA->columns.size(); ++i) {
988-
if (WORKDATA->columns[i]->has(g_pCompositor->m_lastWindow.lock()))
989+
if (WORKDATA->columns[i]->has(Desktop::focusState()->window()))
989990
break;
990991

991992
WORKDATA->leftOffset += USABLE.w * WORKDATA->columns[i]->columnWidth;
@@ -994,7 +995,7 @@ std::any CScrollingLayout::layoutMessage(SLayoutMessageHeader header, std::strin
994995
WDATA->column->workspace->recalculate();
995996
} else if (ARGS[1] == "all") {
996997
// fit all columns on screen
997-
const auto WDATA = dataFor(g_pCompositor->m_lastWindow->m_workspace);
998+
const auto WDATA = dataFor(Desktop::focusState()->window()->m_workspace);
998999

9991000
if (!WDATA || WDATA->columns.size() == 0)
10001001
return {};
@@ -1007,15 +1008,15 @@ std::any CScrollingLayout::layoutMessage(SLayoutMessageHeader header, std::strin
10071008
WDATA->recalculate();
10081009
} else if (ARGS[1] == "toend") {
10091010
// fit all columns on screen that start from the current and end on the last
1010-
const auto WDATA = dataFor(g_pCompositor->m_lastWindow->m_workspace);
1011+
const auto WDATA = dataFor(Desktop::focusState()->window()->m_workspace);
10111012

10121013
if (!WDATA || WDATA->columns.size() == 0)
10131014
return {};
10141015

10151016
bool begun = false;
10161017
size_t foundAt = 0;
10171018
for (size_t i = 0; i < WDATA->columns.size(); ++i) {
1018-
if (!begun && !WDATA->columns[i]->has(g_pCompositor->m_lastWindow.lock()))
1019+
if (!begun && !WDATA->columns[i]->has(Desktop::focusState()->window()))
10191020
continue;
10201021

10211022
if (!begun) {
@@ -1039,15 +1040,15 @@ std::any CScrollingLayout::layoutMessage(SLayoutMessageHeader header, std::strin
10391040
WDATA->recalculate();
10401041
} else if (ARGS[1] == "tobeg") {
10411042
// fit all columns on screen that start from the current and end on the last
1042-
const auto WDATA = dataFor(g_pCompositor->m_lastWindow->m_workspace);
1043+
const auto WDATA = dataFor(Desktop::focusState()->window()->m_workspace);
10431044

10441045
if (!WDATA || WDATA->columns.size() == 0)
10451046
return {};
10461047

10471048
bool begun = false;
10481049
size_t foundAt = 0;
10491050
for (int64_t i = (int64_t)WDATA->columns.size() - 1; i >= 0; --i) {
1050-
if (!begun && !WDATA->columns[i]->has(g_pCompositor->m_lastWindow.lock()))
1051+
if (!begun && !WDATA->columns[i]->has(Desktop::focusState()->window()))
10511052
continue;
10521053

10531054
if (!begun) {
@@ -1066,7 +1067,7 @@ std::any CScrollingLayout::layoutMessage(SLayoutMessageHeader header, std::strin
10661067
WDATA->recalculate();
10671068
} else if (ARGS[1] == "visible") {
10681069
// fit all columns on screen that start from the current and end on the last
1069-
const auto WDATA = dataFor(g_pCompositor->m_lastWindow->m_workspace);
1070+
const auto WDATA = dataFor(Desktop::focusState()->window()->m_workspace);
10701071

10711072
if (!WDATA || WDATA->columns.size() == 0)
10721073
return {};
@@ -1109,7 +1110,7 @@ std::any CScrollingLayout::layoutMessage(SLayoutMessageHeader header, std::strin
11091110
WDATA->recalculate();
11101111
}
11111112
} else if (ARGS[0] == "focus") {
1112-
const auto WDATA = dataFor(g_pCompositor->m_lastWindow.lock());
1113+
const auto WDATA = dataFor(Desktop::focusState()->window());
11131114
static const auto PNOFALLBACK = CConfigValue<Hyprlang::INT>("general:no_focus_fallback");
11141115

11151116
if (!WDATA || ARGS[1].empty())
@@ -1193,7 +1194,7 @@ std::any CScrollingLayout::layoutMessage(SLayoutMessageHeader header, std::strin
11931194
default: return {};
11941195
}
11951196
} else if (ARGS[0] == "promote") {
1196-
const auto WDATA = dataFor(g_pCompositor->m_lastWindow.lock());
1197+
const auto WDATA = dataFor(Desktop::focusState()->window());
11971198

11981199
if (!WDATA)
11991200
return {};
@@ -1210,7 +1211,7 @@ std::any CScrollingLayout::layoutMessage(SLayoutMessageHeader header, std::strin
12101211
if (ARGS.size() < 2)
12111212
return {};
12121213

1213-
const auto WDATA = dataFor(g_pCompositor->m_lastWindow.lock());
1214+
const auto WDATA = dataFor(Desktop::focusState()->window());
12141215
if (!WDATA)
12151216
return {};
12161217

@@ -1245,7 +1246,7 @@ std::any CScrollingLayout::layoutMessage(SLayoutMessageHeader header, std::strin
12451246
if (ARGS.size() < 2)
12461247
return {};
12471248

1248-
const auto WDATA = dataFor(g_pCompositor->m_lastWindow.lock());
1249+
const auto WDATA = dataFor(Desktop::focusState()->window());
12491250
if (!WDATA)
12501251
return {};
12511252

@@ -1257,7 +1258,7 @@ std::any CScrollingLayout::layoutMessage(SLayoutMessageHeader header, std::strin
12571258
if (!SOURCE_WS_DATA)
12581259
return {};
12591260

1260-
const auto PMONITOR = g_pCompositor->m_lastWindow->m_monitor.lock();
1261+
const auto PMONITOR = Desktop::focusState()->monitor();
12611262
if (!PMONITOR)
12621263
return {};
12631264

@@ -1340,7 +1341,7 @@ std::any CScrollingLayout::layoutMessage(SLayoutMessageHeader header, std::strin
13401341
g_pCompositor->moveWindowToWorkspaceSafe(win, PWORKSPACE);
13411342
}
13421343

1343-
g_pCompositor->focusWindow(windowsToMove.front());
1344+
Desktop::focusState()->fullWindowFocus(windowsToMove.front());
13441345
g_pCompositor->warpCursorTo(windowsToMove.front()->middle());
13451346
} else if (ARGS[0] == "togglefit") {
13461347
static const auto PFITMETHOD = CConfigValue<Hyprlang::INT>("plugin:hyprscrolling:focus_fit_method");
@@ -1349,7 +1350,7 @@ std::any CScrollingLayout::layoutMessage(SLayoutMessageHeader header, std::strin
13491350

13501351
fitMethod = toggled;
13511352

1352-
const auto focusedData = dataFor(g_pCompositor->m_lastWindow.lock());
1353+
const auto focusedData = dataFor(Desktop::focusState()->window());
13531354
static const auto PFSONONE = CConfigValue<Hyprlang::INT>("plugin:hyprscrolling:fullscreen_on_one_column");
13541355

13551356
for (const auto& ws : m_workspaceDatas) {
@@ -1528,12 +1529,12 @@ SP<SScrollingWindowData> CScrollingLayout::dataFor(PHLWINDOW w) {
15281529
}
15291530

15301531
SP<SWorkspaceData> CScrollingLayout::currentWorkspaceData() {
1531-
if (!g_pCompositor->m_lastMonitor || !g_pCompositor->m_lastMonitor->m_activeWorkspace)
1532+
if (!Desktop::focusState()->monitor() || !Desktop::focusState()->monitor()->m_activeWorkspace)
15321533
return nullptr;
15331534

15341535
// FIXME: special
15351536

1536-
return dataFor(g_pCompositor->m_lastMonitor->m_activeWorkspace);
1537+
return dataFor(Desktop::focusState()->monitor()->m_activeWorkspace);
15371538
}
15381539

15391540
CBox CScrollingLayout::usableAreaFor(PHLMONITOR m) {

0 commit comments

Comments
 (0)