all repos — openbox @ 56307d60773d0eaf65b10414cd0e3ec0b2adc156

openbox fork - make it a bit more like ryudo

a) remove the top_grip_height business from the theme
b) make the focus indicator based on border width and padding, not the handle height
c) add 2 more windows for the top corners for resizing, much easier to find them now. also base their width on padding, not the handle height or other weird things
Dana Jansens danakj@orodu.net
commit

56307d60773d0eaf65b10414cd0e3ec0b2adc156

parent

b5af5ad3e8f2cd3c23d997970c4f9ec554936960

6 files changed, 55 insertions(+), 28 deletions(-)

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

@@ -391,7 +391,8 @@ gint x, y, w, h;

gint wt, wl, wr, wb; wt = wl = wr = wb = MAX(3, - ob_rr_theme->top_grip_height + + MAX(1, MAX(ob_rr_theme->paddingx, + ob_rr_theme->paddingy)) * 2 + ob_rr_theme->fbwidth * 2); x = focus_cycle_target->frame->area.x;
M openbox/frame.copenbox/frame.c

@@ -117,9 +117,11 @@ self->title = createWindow(self->window, NULL, mask, &attrib);

mask |= CWCursor; attrib.cursor = ob_cursor(OB_CURSOR_NORTHWEST); - self->tlresize = createWindow(self->title, NULL, mask, &attrib); + self->tltresize = createWindow(self->title, NULL, mask, &attrib); + self->tllresize = createWindow(self->title, NULL, mask, &attrib); attrib.cursor = ob_cursor(OB_CURSOR_NORTHEAST); - self->trresize = createWindow(self->title, NULL, mask, &attrib); + self->trtresize = createWindow(self->title, NULL, mask, &attrib); + self->trrresize = createWindow(self->title, NULL, mask, &attrib); mask &= ~CWCursor; self->label = createWindow(self->title, NULL, mask, &attrib);

@@ -187,10 +189,14 @@ ob_rr_theme->grip_width, ob_rr_theme->handle_height);

XResizeWindow(ob_display, self->rgrip, ob_rr_theme->grip_width, ob_rr_theme->handle_height); } - XResizeWindow(ob_display, self->tlresize, - ob_rr_theme->grip_width, ob_rr_theme->top_grip_height); - XResizeWindow(ob_display, self->trresize, - ob_rr_theme->grip_width, ob_rr_theme->top_grip_height); + XResizeWindow(ob_display, self->tltresize, + ob_rr_theme->grip_width, ob_rr_theme->paddingy + 1); + XResizeWindow(ob_display, self->trtresize, + ob_rr_theme->grip_width, ob_rr_theme->paddingy + 1); + XResizeWindow(ob_display, self->tllresize, + ob_rr_theme->paddingx + 1, ob_rr_theme->title_height); + XResizeWindow(ob_display, self->trrresize, + ob_rr_theme->paddingx + 1, ob_rr_theme->title_height); /* set up the dynamic appearances */ self->a_unfocused_title = RrAppearanceCopy(ob_rr_theme->a_unfocused_title);

@@ -366,14 +372,21 @@ self->width, ob_rr_theme->title_height);

XMapWindow(ob_display, self->title); if (self->decorations & OB_FRAME_DECOR_GRIPS) { - XMoveWindow(ob_display, self->tlresize, 0, 0); - XMoveWindow(ob_display, self->trresize, + XMoveWindow(ob_display, self->tltresize, 0, 0); + XMoveWindow(ob_display, self->tllresize, 0, 0); + XMoveWindow(ob_display, self->trtresize, self->width - ob_rr_theme->grip_width, 0); - XMapWindow(ob_display, self->tlresize); - XMapWindow(ob_display, self->trresize); + XMoveWindow(ob_display, self->trrresize, + self->width - ob_rr_theme->paddingx - 1, 0); + XMapWindow(ob_display, self->tltresize); + XMapWindow(ob_display, self->tllresize); + XMapWindow(ob_display, self->trtresize); + XMapWindow(ob_display, self->trrresize); } else { - XUnmapWindow(ob_display, self->tlresize); - XUnmapWindow(ob_display, self->trresize); + XUnmapWindow(ob_display, self->tltresize); + XUnmapWindow(ob_display, self->tllresize); + XUnmapWindow(ob_display, self->trtresize); + XUnmapWindow(ob_display, self->trrresize); } } else XUnmapWindow(ob_display, self->title);

@@ -536,8 +549,10 @@ g_hash_table_insert(window_map, &self->iconify, client);

g_hash_table_insert(window_map, &self->handle, client); g_hash_table_insert(window_map, &self->lgrip, client); g_hash_table_insert(window_map, &self->rgrip, client); - g_hash_table_insert(window_map, &self->tlresize, client); - g_hash_table_insert(window_map, &self->trresize, client); + g_hash_table_insert(window_map, &self->tltresize, client); + g_hash_table_insert(window_map, &self->tllresize, client); + g_hash_table_insert(window_map, &self->trtresize, client); + g_hash_table_insert(window_map, &self->trrresize, client); } void frame_release_client(ObFrame *self, ObClient *client)

@@ -588,8 +603,10 @@ g_hash_table_remove(window_map, &self->iconify);

g_hash_table_remove(window_map, &self->handle); g_hash_table_remove(window_map, &self->lgrip); g_hash_table_remove(window_map, &self->rgrip); - g_hash_table_remove(window_map, &self->tlresize); - g_hash_table_remove(window_map, &self->trresize); + g_hash_table_remove(window_map, &self->tltresize); + g_hash_table_remove(window_map, &self->tllresize); + g_hash_table_remove(window_map, &self->trtresize); + g_hash_table_remove(window_map, &self->trrresize); ob_main_loop_timeout_remove_data(ob_main_loop, flash_timeout, self, TRUE);

@@ -801,8 +818,10 @@ if (win == self->label) return OB_FRAME_CONTEXT_TITLEBAR;

if (win == self->handle) return OB_FRAME_CONTEXT_HANDLE; if (win == self->lgrip) return OB_FRAME_CONTEXT_BLCORNER; if (win == self->rgrip) return OB_FRAME_CONTEXT_BRCORNER; - if (win == self->tlresize) return OB_FRAME_CONTEXT_TLCORNER; - if (win == self->trresize) return OB_FRAME_CONTEXT_TRCORNER; + if (win == self->tltresize) return OB_FRAME_CONTEXT_TLCORNER; + if (win == self->tllresize) return OB_FRAME_CONTEXT_TLCORNER; + if (win == self->trtresize) return OB_FRAME_CONTEXT_TRCORNER; + if (win == self->trrresize) return OB_FRAME_CONTEXT_TRCORNER; if (win == self->max) return OB_FRAME_CONTEXT_MAXIMIZE; if (win == self->iconify) return OB_FRAME_CONTEXT_ICONIFY; if (win == self->close) return OB_FRAME_CONTEXT_CLOSE;
M openbox/frame.hopenbox/frame.h

@@ -95,8 +95,10 @@ Window handle;

Window lgrip; Window rgrip; - Window tlresize; - Window trresize; + Window tltresize; + Window tllresize; + Window trtresize; + Window trrresize; Colormap colormap;
M openbox/framerender.copenbox/framerender.c

@@ -146,14 +146,22 @@ ob_rr_theme->a_clear->surface.parent = t;

ob_rr_theme->a_clear->surface.parentx = 0; ob_rr_theme->a_clear->surface.parenty = 0; - RrPaint(ob_rr_theme->a_clear, self->tlresize, - ob_rr_theme->grip_width, ob_rr_theme->top_grip_height); + if (ob_rr_theme->grip_width > 0) + RrPaint(ob_rr_theme->a_clear, self->tltresize, + ob_rr_theme->grip_width, ob_rr_theme->paddingy); + if (ob_rr_theme->title_height > 0) + RrPaint(ob_rr_theme->a_clear, self->tllresize, + ob_rr_theme->paddingx, ob_rr_theme->title_height); ob_rr_theme->a_clear->surface.parentx = self->width - ob_rr_theme->grip_width; - RrPaint(ob_rr_theme->a_clear, self->trresize, - ob_rr_theme->grip_width, ob_rr_theme->top_grip_height); + if (ob_rr_theme->grip_width > 0) + RrPaint(ob_rr_theme->a_clear, self->trtresize, + ob_rr_theme->grip_width, ob_rr_theme->paddingy); + if (ob_rr_theme->title_height > 0) + RrPaint(ob_rr_theme->a_clear, self->trrresize, + ob_rr_theme->paddingx, ob_rr_theme->title_height); /* set parents for any parent relative guys */ l->surface.parent = t;
M render/theme.crender/theme.c

@@ -987,8 +987,6 @@ theme->paddingy * 2;

} theme->button_size = theme->label_height - 2; theme->grip_width = 25; - theme->top_grip_height = MAX(theme->handle_height, - theme->title_height / 4); return theme; }
M render/theme.hrender/theme.h

@@ -53,7 +53,6 @@ gint title_height;

gint menu_title_height; gint button_size; gint grip_width; - gint top_grip_height; /* style settings - colors */ RrColor *menu_b_color;