43b6a2b4ce
Otherwise, the split indicator might not be refreshed even though it should be. (upstream git commit e7a4580c5f5f895df2990dae0f26a8662d58d80f)
62 lines
2.9 KiB
Plaintext
62 lines
2.9 KiB
Plaintext
$OpenBSD: patch-src_x_c,v 1.8 2012/11/02 13:59:21 dcoppa Exp $
|
|
|
|
From e7a4580c5f5f895df2990dae0f26a8662d58d80f Mon Sep 17 00:00:00 2001
|
|
From: Michael Stapelberg <michael@stapelberg.de>
|
|
Date: Mon, 29 Oct 2012 15:41:16 +0000
|
|
Subject: Bugfix: force rendering when the parent's orientation changed
|
|
|
|
Otherwise, the split indicator might not be refreshed even though
|
|
it should be.
|
|
|
|
|
|
From a082cf8c65225678af782187e4b6f3ba85a0701a Mon Sep 17 00:00:00 2001
|
|
From: Michael Stapelberg <michael@stapelberg.de>
|
|
Date: Fri, 28 Sep 2012 17:46:50 +0000
|
|
Subject: Bugfix: Draw h-split indicator at the right position
|
|
|
|
|
|
OpenBSD lacks POSIX shared memory support (shm_open() and friends)
|
|
|
|
--- src/x.c.orig Wed Sep 19 18:08:09 2012
|
|
+++ src/x.c Fri Nov 2 14:34:47 2012
|
|
@@ -350,6 +350,7 @@ void x_draw_decoration(Con *con) {
|
|
p->con_deco_rect = con->deco_rect;
|
|
p->background = config.client.background;
|
|
p->con_is_leaf = con_is_leaf(con);
|
|
+ p->parent_orientation = con_orientation(parent);
|
|
|
|
if (con->deco_render_params != NULL &&
|
|
(con->window == NULL || !con->window->name_x_changed) &&
|
|
@@ -444,9 +445,9 @@ void x_draw_decoration(Con *con) {
|
|
TAILQ_PREV(con, nodes_head, nodes) == NULL &&
|
|
con->parent->type != CT_FLOATING_CON) {
|
|
xcb_change_gc(conn, con->pm_gc, XCB_GC_FOREGROUND, (uint32_t[]){ p->color->indicator });
|
|
- if (con_orientation(con->parent) == HORIZ)
|
|
+ if (p->parent_orientation == HORIZ)
|
|
xcb_poly_fill_rectangle(conn, con->pixmap, con->pm_gc, 1, (xcb_rectangle_t[]){
|
|
- { r->width + br.width + br.x, 0, r->width, r->height + br.height } });
|
|
+ { r->width + br.width + br.x, br.y, r->width, r->height + br.height } });
|
|
else
|
|
xcb_poly_fill_rectangle(conn, con->pixmap, con->pm_gc, 1, (xcb_rectangle_t[]){
|
|
{ br.x, r->height + br.height + br.y, r->width - (2 * br.x), r->height } });
|
|
@@ -792,7 +793,7 @@ static void x_push_node_unmaps(Con *con) {
|
|
}
|
|
|
|
cookie = xcb_unmap_window(conn, con->frame);
|
|
- DLOG("unmapping container (serial %d)\n", cookie.sequence);
|
|
+ DLOG("unmapping container %p / %s (serial %d)\n", con, con->name, cookie.sequence);
|
|
/* we need to increase ignore_unmap for this container (if it
|
|
* contains a window) and for every window "under" this one which
|
|
* contains a window */
|
|
@@ -1037,8 +1038,10 @@ void x_set_i3_atoms(void) {
|
|
xcb_change_property(conn, XCB_PROP_MODE_REPLACE, root, A_I3_PID, XCB_ATOM_CARDINAL, 32, 1, &pid);
|
|
xcb_change_property(conn, XCB_PROP_MODE_REPLACE, root, A_I3_CONFIG_PATH, A_UTF8_STRING, 8,
|
|
strlen(current_configpath), current_configpath);
|
|
+#if !defined(__OpenBSD__)
|
|
xcb_change_property(conn, XCB_PROP_MODE_REPLACE, root, A_I3_SHMLOG_PATH, A_UTF8_STRING, 8,
|
|
strlen(shmlogname), shmlogname);
|
|
+#endif
|
|
}
|
|
|
|
/*
|