0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 13:08:50 +02:00

Mark windows changed on Expose

On i3wm, windows aren't unmapped when switching away from a window's
workspace, but it does cause OBS to lose the capture. Because
switching back will not trigger a MapNotify, the capture fails to
restart unless you resize or move the window (ConfigureNotify). An
Expose event is fired by the wm, however, so catching this correctly
restarts the capture.
This commit is contained in:
raincomplex 2014-12-24 15:08:02 -05:00
parent d710726e6e
commit 01491a96d3
2 changed files with 4 additions and 1 deletions

View File

@ -186,6 +186,9 @@ namespace XCompcap
if (ev.type == MapNotify)
changedWindows.insert(ev.xmap.event);
if (ev.type == Expose)
changedWindows.insert(ev.xexpose.window);
if (ev.type == DestroyNotify)
changedWindows.insert(ev.xdestroywindow.event);
}

View File

@ -296,7 +296,7 @@ void XCompcapMain::updateSettings(obs_data_t *settings)
return;
}
XSelectInput(xdisp, p->win, StructureNotifyMask);
XSelectInput(xdisp, p->win, StructureNotifyMask | ExposureMask);
XSync(xdisp, 0);
XWindowAttributes attr;