all repos — openbox @ 0de1fd496f3ca61080cee21138cd1aaa83a5e1db

openbox fork - make it a bit more like ryudo

center the icons when there is only 1 row
Dana Jansens danakj@orodu.net
commit

0de1fd496f3ca61080cee21138cd1aaa83a5e1db

parent

2253b5e341e2a20dee5c0c17eae3f5a8baa1b6ac

1 files changed, 9 insertions(+), 2 deletions(-)

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

@@ -234,6 +234,7 @@ gint icons_per_row;

gint icon_rows; gint textx, texty, textw, texth; gint rgbax, rgbay, rgbaw, rgbah; + gint icons_center_x; gint innerw, innerh; gint i; GList *it;

@@ -292,6 +293,12 @@ rgbay = mt;

rgbaw = w - ml - mr; rgbah = h - mt - mb; + /* center the icons if there is less than one row */ + if (icon_rows == 1) + icons_center_x = (w - p->n_targets * ICON_SIZE) / 2; + else + icons_center_x; + if (!p->mapped) { /* position the background but don't draw it*/ XMoveResizeWindow(ob_display, p->bg, x, y, w, h);

@@ -317,7 +324,7 @@

if (target->client == c) { /* save the target */ newtarget = target; - newtargetx = l + (col * ICON_SIZE); + newtargetx = icons_center_x + l + (col * ICON_SIZE); newtargety = t + (row * ICON_SIZE); if (!p->mapped)

@@ -385,7 +392,7 @@ const gint col = i % icons_per_row; /* starting from 0 */

gint innerx, innery; /* find the dimensions of the icon inside it */ - innerx = l + (col * ICON_SIZE); + innerx = icons_center_x + l + (col * ICON_SIZE); innerx += ICON_HILITE_WIDTH + ICON_HILITE_MARGIN; innery = t + (row * ICON_SIZE); innery += ICON_HILITE_WIDTH + ICON_HILITE_MARGIN;