mirror of
https://github.com/leahneukirchen/cwm.git
synced 2023-08-10 21:13:12 +03:00
we need the save-set when re-exec'ing so as to not lose State on our hidden clients
This commit is contained in:
parent
40858be0ae
commit
91a29396e8
15
client.c
15
client.c
@ -103,6 +103,8 @@ client_init(Window win, struct screen_ctx *sc, int mapped)
|
|||||||
XSelectInput(X_Dpy, cc->win, ColormapChangeMask | EnterWindowMask |
|
XSelectInput(X_Dpy, cc->win, ColormapChangeMask | EnterWindowMask |
|
||||||
PropertyChangeMask | KeyReleaseMask);
|
PropertyChangeMask | KeyReleaseMask);
|
||||||
|
|
||||||
|
XAddToSaveSet(X_Dpy, cc->win);
|
||||||
|
|
||||||
client_transient(cc);
|
client_transient(cc);
|
||||||
|
|
||||||
/* Notify client of its configuration. */
|
/* Notify client of its configuration. */
|
||||||
@ -192,6 +194,7 @@ client_setactive(struct client_ctx *cc)
|
|||||||
|
|
||||||
_curcc = cc;
|
_curcc = cc;
|
||||||
cc->active = 1;
|
cc->active = 1;
|
||||||
|
cc->flags &= ~CLIENT_URGENCY;
|
||||||
client_draw_border(cc);
|
client_draw_border(cc);
|
||||||
conf_grab_mouse(cc->win);
|
conf_grab_mouse(cc->win);
|
||||||
xu_ewmh_net_active_window(sc, cc->win);
|
xu_ewmh_net_active_window(sc, cc->win);
|
||||||
@ -461,6 +464,12 @@ client_unhide(struct client_ctx *cc)
|
|||||||
client_draw_border(cc);
|
client_draw_border(cc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
client_urgency(struct client_ctx *cc)
|
||||||
|
{
|
||||||
|
cc->flags |= CLIENT_URGENCY;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
client_draw_border(struct client_ctx *cc)
|
client_draw_border(struct client_ctx *cc)
|
||||||
{
|
{
|
||||||
@ -482,6 +491,9 @@ client_draw_border(struct client_ctx *cc)
|
|||||||
else
|
else
|
||||||
pixel = sc->xftcolor[CWM_COLOR_BORDER_INACTIVE].pixel;
|
pixel = sc->xftcolor[CWM_COLOR_BORDER_INACTIVE].pixel;
|
||||||
|
|
||||||
|
if (cc->flags & CLIENT_URGENCY)
|
||||||
|
pixel = sc->xftcolor[CWM_COLOR_BORDER_URGENCY].pixel;
|
||||||
|
|
||||||
XSetWindowBorderWidth(X_Dpy, cc->win, cc->bwidth);
|
XSetWindowBorderWidth(X_Dpy, cc->win, cc->bwidth);
|
||||||
XSetWindowBorder(X_Dpy, cc->win, pixel);
|
XSetWindowBorder(X_Dpy, cc->win, pixel);
|
||||||
}
|
}
|
||||||
@ -511,6 +523,9 @@ client_wm_hints(struct client_ctx *cc)
|
|||||||
|
|
||||||
if ((cc->wmh->flags & InputHint) && (cc->wmh->input))
|
if ((cc->wmh->flags & InputHint) && (cc->wmh->input))
|
||||||
cc->flags |= CLIENT_INPUT;
|
cc->flags |= CLIENT_INPUT;
|
||||||
|
|
||||||
|
if ((cc->wmh->flags & XUrgencyHint))
|
||||||
|
client_urgency(cc);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
Loading…
Reference in New Issue
Block a user