Suppress duplicate ScreenChange events.

This commit is contained in:
Kris Maglione 2012-04-13 22:37:30 -04:00
parent abc4b2e285
commit 8cc2df7ab8
4 changed files with 13 additions and 6 deletions

View File

@ -4,11 +4,12 @@ enum DebugOpt {
D9p = 1<<0, D9p = 1<<0,
DDnd = 1<<1, DDnd = 1<<1,
DEvent = 1<<2, DEvent = 1<<2,
DEwmh = 1<<3, DEvents = 1<<3,
DFocus = 1<<4, DEwmh = 1<<4,
DGeneric= 1<<5, DFocus = 1<<5,
DStack = 1<<6, DGeneric= 1<<6,
NDebugOpt = 7, DStack = 1<<7,
NDebugOpt = 8,
}; };
#define Debug(x) if(((debugflag|debugfile)&(x)) && setdebug(x)) #define Debug(x) if(((debugflag|debugfile)&(x)) && setdebug(x))

View File

@ -155,6 +155,7 @@ event(const char *format, ...) {
va_end(ap); va_end(ap);
ixp_pending_write(&events, buffer, strlen(buffer)); ixp_pending_write(&events, buffer, strlen(buffer));
Dprint(DEvents, "%s", buffer);
} }
static int dflags; static int dflags;

View File

@ -160,6 +160,7 @@ regerror(char *err) {
void void
init_screens(void) { init_screens(void) {
static int old_n, old_nscreens;
Rectangle *rects; Rectangle *rects;
View *v; View *v;
int i, n, m; int i, n, m;
@ -216,7 +217,10 @@ init_screens(void) {
if(selview) if(selview)
view_update(selview); view_update(selview);
event("ScreenChange %d %d\n", n, nscreens); if (old_n != n || old_nscreens != nscreens)
event("ScreenChange %d %d\n", n, nscreens);
old_n = n;
old_nscreens = nscreens;
} }
static void static void

View File

@ -113,6 +113,7 @@ char* debugtab[] = {
"9p", "9p",
"dnd", "dnd",
"event", "event",
"events",
"ewmh", "ewmh",
"focus", "focus",
"generic", "generic",