diff --git a/src/bar/Bar.cpp b/src/bar/Bar.cpp index 92b1a16..3ba8dd5 100644 --- a/src/bar/Bar.cpp +++ b/src/bar/Bar.cpp @@ -525,12 +525,16 @@ int CStatusBar::drawTrayModule(SBarModule* mod, int off) { int i = 0; for (auto& tray : g_pWindowManager->trayclients) { - - if (tray.hidden) - continue; - uint32_t values[] = {(int)(position.x + (i * (ELEMENTWIDTH + PAD)) + PAD / 2.f), (int)position.y + 1, (int)XCB_STACK_MODE_ABOVE}; + if (tray.hidden) { + values[0] = -999; + values[1] = -999; + xcb_configure_window(g_pWindowManager->DisplayConnection, tray.window, + XCB_CONFIG_WINDOW_X | XCB_CONFIG_WINDOW_Y | XCB_CONFIG_WINDOW_STACK_MODE, values); + continue; + } + xcb_configure_window(g_pWindowManager->DisplayConnection, tray.window, XCB_CONFIG_WINDOW_X | XCB_CONFIG_WINDOW_Y | XCB_CONFIG_WINDOW_STACK_MODE, values);