mirror of
https://github.com/hyprwm/Hypr.git
synced 2024-12-24 18:39:47 +01:00
fixed the bar being behind transparent fullscreen windows
This commit is contained in:
parent
5f8634adbb
commit
c0940bddd8
2 changed files with 23 additions and 0 deletions
|
@ -1108,6 +1108,28 @@ void CWindowManager::updateBarInfo() {
|
|||
}
|
||||
|
||||
IPCSendMessage(m_sIPCBarPipeIn.szPipeName, message);
|
||||
|
||||
|
||||
// Also check if the bar should be made invisibel
|
||||
// we make it by moving it far far away
|
||||
// the bar will also stop all updates
|
||||
if (message.fullscreenOnBar) {
|
||||
if (lastKnownBarPosition.x == -1 && lastKnownBarPosition.y == -1) {
|
||||
lastKnownBarPosition = monitors[ConfigManager::getInt("bar:monitor") > monitors.size() ? 0 : ConfigManager::getInt("bar:monitor")].vecPosition;
|
||||
}
|
||||
|
||||
Values[0] = (int)-99999;
|
||||
Values[1] = (int)-99999;
|
||||
xcb_configure_window(DisplayConnection, barWindowID, XCB_CONFIG_WINDOW_X | XCB_CONFIG_WINDOW_Y, Values);
|
||||
} else {
|
||||
if (lastKnownBarPosition.x != -1 && lastKnownBarPosition.y != -1) {
|
||||
Values[0] = (int)lastKnownBarPosition.x;
|
||||
Values[1] = (int)lastKnownBarPosition.y;
|
||||
xcb_configure_window(DisplayConnection, barWindowID, XCB_CONFIG_WINDOW_X | XCB_CONFIG_WINDOW_Y, Values);
|
||||
}
|
||||
|
||||
lastKnownBarPosition = Vector2D(-1, -1);
|
||||
}
|
||||
}
|
||||
|
||||
void CWindowManager::setAllFloatingWindowsTop() {
|
||||
|
|
|
@ -46,6 +46,7 @@ public:
|
|||
SIPCPipe m_sIPCBarPipeIn = {ISDEBUG ? "/tmp/hypr/hyprbarind" : "/tmp/hypr/hyprbarin", 0};
|
||||
SIPCPipe m_sIPCBarPipeOut = {ISDEBUG ? "/tmp/hypr/hyprbaroutd" : "/tmp/hypr/hyprbarout", 0};
|
||||
CStatusBar* statusBar = nullptr;
|
||||
Vector2D lastKnownBarPosition = {-1,-1};
|
||||
uint64_t barWindowID = 0;
|
||||
GThread* barThread; /* Well right now anything but the bar but lol */
|
||||
|
||||
|
|
Loading…
Reference in a new issue