all repos — openbox @ 44bc0dab886c924b6aac1d3f1eaf4cc0164950c9

openbox fork - make it a bit more like ryudo

no un-needed rendering
Dana Jansens danakj@orodu.net
commit

44bc0dab886c924b6aac1d3f1eaf4cc0164950c9

parent

383f1ee85fbe6c7317781db2b05018e7932b9eab

3 files changed, 12 insertions(+), 0 deletions(-)

jump to
M openbox/frame.copenbox/frame.c

@@ -248,6 +248,7 @@ void frame_show(ObFrame *self)

{ if (!self->visible) { self->visible = TRUE; + framerender_frame(self); XMapWindow(ob_display, self->client->window); XMapWindow(ob_display, self->window); }

@@ -773,6 +774,7 @@ XMoveWindow(ob_display, self->client->window,

self->size.left, self->size.top); if (resized) { + self->need_render = TRUE; framerender_frame(self); frame_adjust_shape(self); }

@@ -871,23 +873,27 @@ }

void frame_adjust_state(ObFrame *self) { + self->need_render = TRUE; framerender_frame(self); } void frame_adjust_focus(ObFrame *self, gboolean hilite) { self->focused = hilite; + self->need_render = TRUE; framerender_frame(self); XFlush(ob_display); } void frame_adjust_title(ObFrame *self) { + self->need_render = TRUE; framerender_frame(self); } void frame_adjust_icon(ObFrame *self) { + self->need_render = TRUE; framerender_frame(self); }
M openbox/frame.hopenbox/frame.h

@@ -185,6 +185,7 @@ gboolean shade_hover;

gboolean iconify_hover; gboolean focused; + gboolean need_render; gboolean flashing; gboolean flash_on;
M openbox/framerender.copenbox/framerender.c

@@ -36,6 +36,11 @@ void framerender_frame(ObFrame *self)

{ if (frame_iconify_animating(self)) return; /* delay redrawing until the animation is done */ + if (!self->need_render) + return; + if (!self->visible) + return; + self->need_render = FALSE; { gulong px;