Fixed #21, blame chromium for their bullshittery

This commit is contained in:
vaxerski 2021-12-23 22:53:20 +01:00
parent 0eb2bbe0ad
commit 2a3a7b6ee0

View file

@ -40,26 +40,20 @@ void EWMH::updateCurrentWindow(xcb_window_t w) {
} }
void EWMH::updateClientList() { void EWMH::updateClientList() {
std::vector<xcb_window_t> tiledWindowsList; std::vector<xcb_window_t> windowsList;
std::vector<xcb_window_t> floatedWindowsList;
for (auto& w : g_pWindowManager->windows) for (auto& w : g_pWindowManager->windows)
if (w.getDrawable() > 0 && !w.getIsFloating()) if (w.getDrawable() > 0 && !w.getIsFloating())
tiledWindowsList.push_back(w.getDrawable()); windowsList.push_back(w.getDrawable());
else if (w.getDrawable() > 0)
floatedWindowsList.push_back(w.getDrawable());
for (auto& w : g_pWindowManager->unmappedWindows)
floatedWindowsList.push_back(w.getDrawable());
// hack // hack
xcb_window_t* ArrTiledWindowList = &tiledWindowsList[0]; xcb_window_t* ArrWindowList = &windowsList[0];
xcb_window_t* ArrFloatedWindowList = &floatedWindowsList[0];
xcb_change_property(g_pWindowManager->DisplayConnection, XCB_PROP_MODE_REPLACE, g_pWindowManager->Screen->root, HYPRATOMS["_NET_CLIENT_LIST"], XCB_ATOM_WINDOW, xcb_change_property(g_pWindowManager->DisplayConnection, XCB_PROP_MODE_REPLACE, g_pWindowManager->Screen->root, HYPRATOMS["_NET_CLIENT_LIST"], XCB_ATOM_WINDOW,
32, tiledWindowsList.size(), ArrTiledWindowList); 32, windowsList.size(), ArrWindowList);
xcb_change_property(g_pWindowManager->DisplayConnection, XCB_PROP_MODE_REPLACE, g_pWindowManager->Screen->root, HYPRATOMS["_NET_CLIENT_LIST_STACKING"], XCB_ATOM_WINDOW, xcb_change_property(g_pWindowManager->DisplayConnection, XCB_PROP_MODE_REPLACE, g_pWindowManager->Screen->root, HYPRATOMS["_NET_CLIENT_LIST_STACKING"], XCB_ATOM_WINDOW,
32, floatedWindowsList.size(), ArrFloatedWindowList); 32, windowsList.size(), ArrWindowList);
} }
void EWMH::refreshAllExtents() { void EWMH::refreshAllExtents() {