27 lines
445 B
C
27 lines
445 B
C
#include <SystrayErrorHandler.h>
|
|
|
|
|
|
static Window lastErrorWindow = 0;
|
|
|
|
|
|
static int systrayErrorHandler (Display *display, XErrorEvent *event)
|
|
{
|
|
if (event->error_code == BadWindow) {
|
|
lastErrorWindow = event->resourceid;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
void setSystrayErrorHandler (void)
|
|
{
|
|
lastErrorWindow = 0;
|
|
XSetErrorHandler(systrayErrorHandler);
|
|
}
|
|
|
|
Window getLastErrorWindow (void)
|
|
{
|
|
Window ret = lastErrorWindow;
|
|
lastErrorWindow = 0;
|
|
return ret;
|
|
}
|