i3bar: Fix pixel offset calculation in dual-head
Patch status: superseded
Patch by Thomas Adam
Long description:
When running i3bar on a dual-head display with workspaces enabled in i3bar's config, the second monitor wouldn't use a correct x position offset and would draw its label too close to the screen's edge. In comparison to the first monitor, this is inconsistent because that starts with a pixel offset of 1.
To apply this patch, use:
curl http://cr.i3wm.org/patch/160/raw.patch | git am
b/i3bar/src/xcb.c
| 18 |
@@ -1557,7 +1557,7 @@ void reconfig_windows(void) {
|
| 19 |
*/ |
| 20 |
void draw_bars(bool unhide) {
|
| 21 |
DLOG("Drawing Bars...\n");
|
| 22 |
- int i = 1; |
| 23 |
+ int i = 0; |
| 24 |
|
| 25 |
refresh_statusline(); |
| 26 |
|
| 27 |
@@ -1621,6 +1621,7 @@ void draw_bars(bool unhide) {
|
| 28 |
|
| 29 |
i3_ws *ws_walk; |
| 30 |
|
| 31 |
+ i++; |
| 32 |
TAILQ_FOREACH(ws_walk, outputs_walk->workspaces, tailq) {
|
| 33 |
DLOG("Drawing Button for WS %s at x = %d, len = %d\n", i3string_as_utf8(ws_walk->name), i, ws_walk->name_width);
|
| 34 |
uint32_t fg_color = colors.inactive_ws_fg; |