mirror of
https://github.com/hyprwm/Hyprland.git
synced 2025-05-19 00:20:23 -07:00
socket2: fix order of window events on map (#10341)
This commit is contained in:
parent
f01e3043b8
commit
239cdd67fd
@ -417,6 +417,10 @@ void Events::listener_mapWindow(void* owner, void* data) {
|
|||||||
if (PWINDOW->m_swallowed)
|
if (PWINDOW->m_swallowed)
|
||||||
PWINDOW->m_swallowed->m_currentlySwallowed = true;
|
PWINDOW->m_swallowed->m_currentlySwallowed = true;
|
||||||
|
|
||||||
|
// emit the IPC event before the layout might focus the window to avoid a focus event first
|
||||||
|
g_pEventManager->postEvent(
|
||||||
|
SHyprIPCEvent{"openwindow", std::format("{:x},{},{},{}", PWINDOW, requestedWorkspace != "" ? requestedWorkspace : PWORKSPACE->m_name, PWINDOW->m_class, PWINDOW->m_title)});
|
||||||
|
|
||||||
if (PWINDOW->m_isFloating) {
|
if (PWINDOW->m_isFloating) {
|
||||||
g_pLayoutManager->getCurrentLayout()->onWindowCreated(PWINDOW);
|
g_pLayoutManager->getCurrentLayout()->onWindowCreated(PWINDOW);
|
||||||
PWINDOW->m_createdOverFullscreen = true;
|
PWINDOW->m_createdOverFullscreen = true;
|
||||||
@ -673,8 +677,7 @@ void Events::listener_mapWindow(void* owner, void* data) {
|
|||||||
|
|
||||||
Debug::log(LOG, "Map request dispatched, monitor {}, window pos: {:5j}, window size: {:5j}", PMONITOR->m_name, PWINDOW->m_realPosition->goal(), PWINDOW->m_realSize->goal());
|
Debug::log(LOG, "Map request dispatched, monitor {}, window pos: {:5j}, window size: {:5j}", PMONITOR->m_name, PWINDOW->m_realPosition->goal(), PWINDOW->m_realSize->goal());
|
||||||
|
|
||||||
auto workspaceID = requestedWorkspace != "" ? requestedWorkspace : PWORKSPACE->m_name;
|
// emit the hook event here after basic stuff has been initialized
|
||||||
g_pEventManager->postEvent(SHyprIPCEvent{"openwindow", std::format("{:x},{},{},{}", PWINDOW, workspaceID, PWINDOW->m_class, PWINDOW->m_title)});
|
|
||||||
EMIT_HOOK_EVENT("openWindow", PWINDOW);
|
EMIT_HOOK_EVENT("openWindow", PWINDOW);
|
||||||
|
|
||||||
// apply data from default decos. Borders, shadows.
|
// apply data from default decos. Borders, shadows.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user