replace client highlight with a client flag

This commit is contained in:
okan 2012-12-17 17:48:57 +00:00
parent 8e67d1389c
commit 82e8ec4245
3 changed files with 10 additions and 13 deletions

View File

@ -159,16 +159,16 @@ struct client_ctx {
#define CLIENT_VMAXIMIZED 0x0004 #define CLIENT_VMAXIMIZED 0x0004
#define CLIENT_HMAXIMIZED 0x0008 #define CLIENT_HMAXIMIZED 0x0008
#define CLIENT_FREEZE 0x0010 #define CLIENT_FREEZE 0x0010
#define CLIENT_GROUP 0x0020
#define CLIENT_UNGROUP 0x0040
#define CLIENT_HIGHLIGHT (CLIENT_GROUP | CLIENT_UNGROUP)
#define CLIENT_MAXFLAGS (CLIENT_VMAXIMIZED | CLIENT_HMAXIMIZED) #define CLIENT_MAXFLAGS (CLIENT_VMAXIMIZED | CLIENT_HMAXIMIZED)
#define CLIENT_MAXIMIZED (CLIENT_VMAXIMIZED | CLIENT_HMAXIMIZED) #define CLIENT_MAXIMIZED (CLIENT_VMAXIMIZED | CLIENT_HMAXIMIZED)
int flags; int flags;
int state; int state;
int active; int active;
int stackingorder; int stackingorder;
#define CLIENT_HIGHLIGHT_GROUP 0x0001
#define CLIENT_HIGHLIGHT_UNGROUP 0x0002
int highlight;
struct winname_q nameq; struct winname_q nameq;
#define CLIENT_MAXNAMEQLEN 5 #define CLIENT_MAXNAMEQLEN 5
int nameqlen; int nameqlen;

View File

@ -490,7 +490,6 @@ client_unhide(struct client_ctx *cc)
{ {
XMapRaised(X_Dpy, cc->win); XMapRaised(X_Dpy, cc->win);
cc->highlight = 0;
cc->flags &= ~CLIENT_HIDDEN; cc->flags &= ~CLIENT_HIDDEN;
xu_setstate(cc, NormalState); xu_setstate(cc, NormalState);
client_draw_border(cc); client_draw_border(cc);
@ -503,11 +502,11 @@ client_draw_border(struct client_ctx *cc)
unsigned long pixel; unsigned long pixel;
if (cc->active) if (cc->active)
switch (cc->highlight) { switch (cc->flags & CLIENT_HIGHLIGHT) {
case CLIENT_HIGHLIGHT_GROUP: case CLIENT_GROUP:
pixel = sc->color[CWM_COLOR_BORDER_GROUP].pixel; pixel = sc->color[CWM_COLOR_BORDER_GROUP].pixel;
break; break;
case CLIENT_HIGHLIGHT_UNGROUP: case CLIENT_UNGROUP:
pixel = sc->color[CWM_COLOR_BORDER_UNGROUP].pixel; pixel = sc->color[CWM_COLOR_BORDER_UNGROUP].pixel;
break; break;
default: default:

10
group.c
View File

@ -218,16 +218,14 @@ void
group_sticky_toggle_enter(struct client_ctx *cc) group_sticky_toggle_enter(struct client_ctx *cc)
{ {
struct screen_ctx *sc = cc->sc; struct screen_ctx *sc = cc->sc;
struct group_ctx *gc; struct group_ctx *gc = sc->group_active;
gc = sc->group_active;
if (gc == cc->group) { if (gc == cc->group) {
group_remove(cc); group_remove(cc);
cc->highlight = CLIENT_HIGHLIGHT_UNGROUP; cc->flags |= CLIENT_UNGROUP;
} else { } else {
group_add(gc, cc); group_add(gc, cc);
cc->highlight = CLIENT_HIGHLIGHT_GROUP; cc->flags |= CLIENT_GROUP;
} }
client_draw_border(cc); client_draw_border(cc);
@ -236,7 +234,7 @@ group_sticky_toggle_enter(struct client_ctx *cc)
void void
group_sticky_toggle_exit(struct client_ctx *cc) group_sticky_toggle_exit(struct client_ctx *cc)
{ {
cc->highlight = 0; cc->flags &= ~CLIENT_HIGHLIGHT;
client_draw_border(cc); client_draw_border(cc);
} }