diff options
author | Olivier Fourdan <fourdan.olivier@wanadoo.fr> | 2003-02-13 14:22:51 +0000 |
---|---|---|
committer | Olivier Fourdan <fourdan.olivier@wanadoo.fr> | 2003-02-13 14:22:51 +0000 |
commit | 6624aeed96e675d2102edc10d16a48bacc6ecf12 (patch) | |
tree | 155b69c71b8644ff592f07aa78bdf0917f65d769 | |
parent | 679660566eef490fd1bf3f74e0c12d77131d553b (diff) | |
download | xfwm4-6624aeed96e675d2102edc10d16a48bacc6ecf12.tar.gz |
Okay, promise, I'll stop with optimizations :)
(Old svn revision: 10926)
-rw-r--r-- | src/client.c | 20 | ||||
-rw-r--r-- | src/events.c | 22 | ||||
-rw-r--r-- | src/frame.c | 4 | ||||
-rw-r--r-- | src/frame.h | 2 |
4 files changed, 24 insertions, 24 deletions
diff --git a/src/client.c b/src/client.c index 5fb5436a4..370a6c44d 100644 --- a/src/client.c +++ b/src/client.c @@ -1009,7 +1009,7 @@ void clientUpdateAllFrames(int mask) } if(mask & UPDATE_FRAME) { - frameDraw(c, FALSE); + frameDraw(c, FALSE, FALSE); } } } @@ -1778,7 +1778,7 @@ static void _clientConfigure(Client * c, XWindowChanges * wc, int mask) if(mask & (CWWidth | CWHeight)) { - frameDraw(c, FALSE); + frameDraw(c, FALSE, FALSE); } if(mask) { @@ -2154,14 +2154,14 @@ void clientFrame(Window w) { /* We set the draw_active value to the wrong value to force a draw */ c->draw_active = TRUE; - frameDraw(c, FALSE); + frameDraw(c, FALSE, FALSE); } } else { /* We set the draw_active value to the wrong value to force a draw */ c->draw_active = TRUE; - frameDraw(c, FALSE); + frameDraw(c, FALSE, FALSE); setWMState(dpy, c->window, IconicState); clientSetNetState(c); } @@ -2849,7 +2849,7 @@ void clientUpdateFocus(Client * c) if(c2) { DBG("redrawing previous focus client \"%s\" (%#lx)\n", c2->name, c2->window); - frameDraw(c2, FALSE); + frameDraw(c2, FALSE, FALSE); } data[1] = None; XChangeProperty(dpy, root, net_active_window, XA_WINDOW, 32, PropModeReplace, (unsigned char *)data, 2); @@ -2907,7 +2907,7 @@ void clientSetFocus(Client * c, int sort) if(c2) { DBG("redrawing previous focus client \"%s\" (%#lx)\n", c2->name, c2->window); - frameDraw(c2, FALSE); + frameDraw(c2, FALSE, FALSE); } data[1] = None; XChangeProperty(dpy, root, net_active_window, XA_WINDOW, 32, PropModeReplace, (unsigned char *)data, 2); @@ -3648,12 +3648,12 @@ static GtkToXEventFilterStatus clientButtonPress_event_filter(XEvent * xevent, g if(xevent->type == EnterNotify) { c->button_pressed[b] = True; - frameDraw(c, FALSE); + frameDraw(c, FALSE, FALSE); } else if(xevent->type == LeaveNotify) { c->button_pressed[b] = False; - frameDraw(c, FALSE); + frameDraw(c, FALSE, FALSE); } else if(xevent->type == ButtonRelease) { @@ -3714,7 +3714,7 @@ void clientButtonPress(Client * c, Window w, XButtonEvent * bev) passdata.b = b; c->button_pressed[b] = True; - frameDraw(c, FALSE); + frameDraw(c, FALSE, FALSE); DBG("entering button press loop\n"); pushEventFilter(clientButtonPress_event_filter, &passdata); @@ -3727,7 +3727,7 @@ void clientButtonPress(Client * c, Window w, XButtonEvent * bev) if(c->button_pressed[b]) { c->button_pressed[b] = False; - frameDraw(c, FALSE); + frameDraw(c, FALSE, FALSE); switch (b) { case HIDE_BUTTON: diff --git a/src/events.c b/src/events.c index 2053d12d4..a29543aeb 100644 --- a/src/events.c +++ b/src/events.c @@ -757,7 +757,7 @@ static inline void handleFocusIn(XFocusChangeEvent * ev) { DBG("focus set to \"%s\" (%#lx)\n", c->name, c->window); clientUpdateFocus(c); - frameDraw(c, FALSE); + frameDraw(c, FALSE, FALSE); if(params.raise_on_focus && !params.click_to_focus) { reset_timeout(); @@ -804,7 +804,7 @@ static inline void handlePropertyNotify(XPropertyEvent * ev) } if(CLIENT_FLAG_TEST(c, CLIENT_FLAG_IS_RESIZABLE) != previous_value) { - frameDraw(c, TRUE); + frameDraw(c, TRUE, FALSE); } } else if((ev->atom == XA_WM_NAME) || (ev->atom == net_wm_name)) @@ -816,13 +816,13 @@ static inline void handlePropertyNotify(XPropertyEvent * ev) } getWindowName(dpy, c->window, &c->name); CLIENT_FLAG_SET(c, CLIENT_FLAG_NAME_CHANGED); - frameDraw(c, TRUE); + frameDraw(c, TRUE, FALSE); } else if(ev->atom == motif_wm_hints) { DBG("client \"%s\" (%#lx) has received a motif_wm_hints notify\n", c->name, c->window); clientUpdateMWMHints(c); - frameDraw(c, TRUE); + frameDraw(c, TRUE, FALSE); } else if(ev->atom == XA_WM_HINTS) { @@ -849,7 +849,7 @@ static inline void handlePropertyNotify(XPropertyEvent * ev) { DBG("client \"%s\" (%#lx) has received a net_wm_window_type notify\n", c->name, c->window); clientGetNetWmType(c); - frameDraw(c, TRUE); + frameDraw(c, TRUE, FALSE); } else if((ev->atom == win_workspace) && !(c->transient_for)) { @@ -1015,7 +1015,7 @@ static inline void handleShape(XShapeEvent * ev) c = clientGetFromWindow(ev->window, WINDOW); if(c) { - frameDraw(c, TRUE); + frameDraw(c, FALSE, TRUE); } } @@ -1172,21 +1172,21 @@ static void menu_callback(Menu * menu, MenuOp op, Window client_xwindow, gpointe case MENU_OP_UNSTICK: if(c) { - frameDraw(c, FALSE); + frameDraw(c, FALSE, FALSE); clientToggleSticky(c, TRUE); } break; case MENU_OP_DELETE: if(c) { - frameDraw(c, FALSE); + frameDraw(c, FALSE, FALSE); clientClose(c); } break; default: if(c) { - frameDraw(c, FALSE); + frameDraw(c, FALSE, FALSE); } break; } @@ -1207,7 +1207,7 @@ static gboolean show_popup_cb(GtkWidget * widget, GdkEventButton * ev, gpointer if(((ev->button == 1) || (ev->button == 3)) && (c = (Client *) data)) { c->button_pressed[MENU_BUTTON] = True; - frameDraw(c, FALSE); + frameDraw(c, FALSE, FALSE); y = c->y; ops = MENU_OP_DELETE | MENU_OP_MINIMIZE_ALL; insensitive = 0; @@ -1311,7 +1311,7 @@ static gboolean show_popup_cb(GtkWidget * widget, GdkEventButton * ev, gpointer DBG("Cannot open menu\n"); gdk_beep(); c->button_pressed[MENU_BUTTON] = False; - frameDraw(c, FALSE); + frameDraw(c, FALSE, FALSE); removeTmpEventWin(menu_event_window); menu_event_window = None; menu_free(menu); diff --git a/src/frame.c b/src/frame.c index e4d37a37d..05bc0a151 100644 --- a/src/frame.c +++ b/src/frame.c @@ -517,7 +517,7 @@ static void frameSetShape(Client * c, int state, ClientPixmapCache * pm_cache, i XDestroyWindow(dpy, temp); } -void frameDraw(Client * c, gboolean invalidate_cache) +void frameDraw(Client * c, gboolean invalidate_cache, gboolean force_shape_update) { int state = ACTIVE; int i; @@ -707,7 +707,7 @@ void frameDraw(Client * c, gboolean invalidate_cache) myWindowShow(&c->corners[CORNER_BOTTOM_LEFT], 0, frameHeight(c) - params.corners[CORNER_BOTTOM_LEFT][ACTIVE].height, params.corners[CORNER_BOTTOM_LEFT][ACTIVE].width, params.corners[CORNER_BOTTOM_LEFT][ACTIVE].height, requires_clearing); myWindowShow(&c->corners[CORNER_BOTTOM_RIGHT], frameWidth(c) - params.corners[CORNER_BOTTOM_RIGHT][ACTIVE].width, frameHeight(c) - params.corners[CORNER_BOTTOM_RIGHT][ACTIVE].height, params.corners[CORNER_BOTTOM_RIGHT][ACTIVE].width, params.corners[CORNER_BOTTOM_RIGHT][ACTIVE].height, requires_clearing); - if (requires_clearing) + if (requires_clearing | force_shape_update) { frameSetShape(c, state, &c->pm_cache, button_x); } diff --git a/src/frame.h b/src/frame.h index 086c0e16c..d48d4c763 100644 --- a/src/frame.h +++ b/src/frame.h @@ -35,6 +35,6 @@ inline int frameX(Client *); inline int frameY(Client *); inline int frameWidth(Client *); inline int frameHeight(Client *); -void frameDraw(Client *, gboolean); +void frameDraw(Client *, gboolean, gboolean); #endif /* __FRAME_H__ */ |