diff --git a/x11/i3/Makefile b/x11/i3/Makefile index d2b78f98158..1731bbf81e1 100644 --- a/x11/i3/Makefile +++ b/x11/i3/Makefile @@ -1,9 +1,8 @@ -# $OpenBSD: Makefile,v 1.21 2011/12/07 09:51:26 dcoppa Exp $ +# $OpenBSD: Makefile,v 1.22 2011/12/27 09:05:17 dcoppa Exp $ COMMENT = improved dynamic tiling window manager -DISTNAME = i3-4.1 -REVISION = 0 +DISTNAME = i3-4.1.1 CATEGORIES = x11 EXTRACT_SUFX = .tar.bz2 diff --git a/x11/i3/distinfo b/x11/i3/distinfo index 1e0a755a5bd..461e2f83674 100644 --- a/x11/i3/distinfo +++ b/x11/i3/distinfo @@ -1,5 +1,5 @@ -MD5 (i3-4.1.tar.bz2) = GgXWBWJFBsK0ufEnL9hKWg== -RMD160 (i3-4.1.tar.bz2) = G3hYmV4iR+V9dOIxQ4ex/VIxvs8= -SHA1 (i3-4.1.tar.bz2) = 6KpR0yAos/B2uXhcS0aRG1C6aZY= -SHA256 (i3-4.1.tar.bz2) = O08h2b9m+ORYhSHfpwbYzD/hmZl2pV+1psE6YhoUVaA= -SIZE (i3-4.1.tar.bz2) = 564086 +MD5 (i3-4.1.1.tar.bz2) = JbwpNJtlAAorCvwGVagANQ== +RMD160 (i3-4.1.1.tar.bz2) = 6EBzf6CCO7uAeAfspyyTN8FHD/4= +SHA1 (i3-4.1.1.tar.bz2) = eckZt83iSv5bfLXrTJbzUDyRQvM= +SHA256 (i3-4.1.1.tar.bz2) = vQFZ4PLuT+KGRGTKC4rheojFRcsGAaPmOo1d51RYfBo= +SIZE (i3-4.1.1.tar.bz2) = 563305 diff --git a/x11/i3/patches/patch-common_mk b/x11/i3/patches/patch-common_mk index 103ac9384e2..ba496f5f1cc 100644 --- a/x11/i3/patches/patch-common_mk +++ b/x11/i3/patches/patch-common_mk @@ -1,7 +1,7 @@ -$OpenBSD: patch-common_mk,v 1.6 2011/12/01 16:00:01 dcoppa Exp $ ---- common.mk.orig Fri Nov 11 23:41:26 2011 -+++ common.mk Wed Nov 30 16:51:08 2011 -@@ -1,90 +1,30 @@ +$OpenBSD: patch-common_mk,v 1.7 2011/12/27 09:05:17 dcoppa Exp $ +--- common.mk.orig Sat Dec 24 16:25:15 2011 ++++ common.mk Tue Dec 27 09:50:07 2011 +@@ -1,90 +1,28 @@ UNAME=$(shell uname) -DEBUG=1 +DEBUG=0 @@ -19,8 +19,8 @@ $OpenBSD: patch-common_mk,v 1.6 2011/12/01 16:00:01 dcoppa Exp $ + SYSCONFDIR=/etc endif # The escaping is absurd, but we need to escape for shell, sed, make, define - GIT_VERSION:="4.1 (2011-11-11, branch \\\"release-4.1\\\")" - VERSION:=4.1 + GIT_VERSION:="4.1.1 (2011-12-24, branch \\\"master\\\")" + VERSION:=4.1.1 -ifeq ($(shell which pkg-config 2>/dev/null 1>/dev/null || echo 1),1) -$(error "pkg-config was not found") @@ -40,8 +40,8 @@ $OpenBSD: patch-common_mk,v 1.6 2011/12/01 16:00:01 dcoppa Exp $ -ldflags_for_lib = $(shell pkg-config --exists 2>/dev/null $(1) && pkg-config --libs $(1) 2>/dev/null || echo -l$(2)) - CFLAGS += -std=c99 - CFLAGS += -pipe - CFLAGS += -Wall +-CFLAGS += -pipe +-CFLAGS += -Wall # unused-function, unused-label, unused-variable are turned on by -Wall # We don’t want unused-parameter because of the use of many callbacks CFLAGS += -Wunused-value @@ -96,7 +96,7 @@ $OpenBSD: patch-common_mk,v 1.6 2011/12/01 16:00:01 dcoppa Exp $ # Please test if -Wl,--as-needed works on your platform and send me a patch. # it is known not to work on Darwin (Mac OS X) -@@ -99,9 +39,9 @@ LDFLAGS += -Wl,-rpath,/usr/local/lib -Wl,-rpath,/usr/p +@@ -99,9 +37,9 @@ LDFLAGS += -Wl,-rpath,/usr/local/lib -Wl,-rpath,/usr/p endif ifeq ($(UNAME),OpenBSD) @@ -108,7 +108,16 @@ $OpenBSD: patch-common_mk,v 1.6 2011/12/01 16:00:01 dcoppa Exp $ endif ifeq ($(UNAME),FreeBSD) -@@ -133,9 +73,6 @@ ifeq ($(COVERAGE),1) +@@ -124,18 +62,12 @@ ifeq ($(DEBUG),1) + # Extended debugging flags, macros shall be available in gcc + CFLAGS += -gdwarf-2 + CFLAGS += -g3 +-else +-CFLAGS += -O2 +-CFLAGS += -freorder-blocks-and-partition + endif + + ifeq ($(COVERAGE),1) CFLAGS += -fprofile-arcs -ftest-coverage LIBS += -lgcov endif diff --git a/x11/i3/patches/patch-i3_config b/x11/i3/patches/patch-i3_config index 284073dd76a..dc5b0d49a89 100644 --- a/x11/i3/patches/patch-i3_config +++ b/x11/i3/patches/patch-i3_config @@ -1,6 +1,6 @@ -$OpenBSD: patch-i3_config,v 1.6 2011/12/07 09:51:26 dcoppa Exp $ ---- i3.config.orig Fri Nov 11 23:41:20 2011 -+++ i3.config Wed Dec 7 10:35:02 2011 +$OpenBSD: patch-i3_config,v 1.7 2011/12/27 09:05:17 dcoppa Exp $ +--- i3.config.orig Sat Dec 24 16:25:08 2011 ++++ i3.config Tue Dec 27 09:26:06 2011 @@ -9,6 +9,8 @@ # layout, use the i3-config-wizard # @@ -35,8 +35,8 @@ $OpenBSD: patch-i3_config,v 1.6 2011/12/07 09:51:26 dcoppa Exp $ +# Start i3bar to display a workspace bar +# XXX: i3status has not been ported to OpenBSD yet bar { -- status_command i3status -+ status_command /usr/bin/true +- status_command i3status ++ status_command /usr/bin/true } - -####################################################################### diff --git a/x11/i3/patches/patch-i3_config_keycodes b/x11/i3/patches/patch-i3_config_keycodes index 8f44339a88c..cddb256b0a5 100644 --- a/x11/i3/patches/patch-i3_config_keycodes +++ b/x11/i3/patches/patch-i3_config_keycodes @@ -1,6 +1,6 @@ -$OpenBSD: patch-i3_config_keycodes,v 1.3 2011/12/07 09:51:26 dcoppa Exp $ ---- i3.config.keycodes.orig Fri Nov 11 23:41:20 2011 -+++ i3.config.keycodes Wed Dec 7 10:35:13 2011 +$OpenBSD: patch-i3_config_keycodes,v 1.4 2011/12/27 09:05:17 dcoppa Exp $ +--- i3.config.keycodes.orig Sat Dec 24 16:25:08 2011 ++++ i3.config.keycodes Tue Dec 27 09:30:43 2011 @@ -17,13 +17,13 @@ font -misc-fixed-medium-r-normal--13-120-75-75-C-70-is floating_modifier $mod @@ -26,6 +26,6 @@ $OpenBSD: patch-i3_config_keycodes,v 1.3 2011/12/07 09:51:26 dcoppa Exp $ +# Start i3bar to display a workspace bar +# XXX: i3status has not been ported to OpenBSD yet bar { -- status_command i3status -+ status_command /usr/bin/true +- status_command i3status ++ status_command /usr/bin/true } diff --git a/x11/i3/patches/patch-i3bar_src_child_c b/x11/i3/patches/patch-i3bar_src_child_c new file mode 100644 index 00000000000..e69e19c32e5 --- /dev/null +++ b/x11/i3/patches/patch-i3bar_src_child_c @@ -0,0 +1,11 @@ +$OpenBSD: patch-i3bar_src_child_c,v 1.1 2011/12/27 09:05:17 dcoppa Exp $ +--- i3bar/src/child.c.orig Tue Dec 27 09:42:01 2011 ++++ i3bar/src/child.c Tue Dec 27 09:42:12 2011 +@@ -80,7 +80,6 @@ void stdin_io_cb(struct ev_loop *loop, ev_io *watcher, + } + + /* end of file, kill the watcher */ +- ELOG("stdin: received EOF\n"); + cleanup(); + draw_bars(); + return; diff --git a/x11/i3/patches/patch-include_con_h b/x11/i3/patches/patch-include_con_h deleted file mode 100644 index 78d6a6c28da..00000000000 --- a/x11/i3/patches/patch-include_con_h +++ /dev/null @@ -1,21 +0,0 @@ -$OpenBSD: patch-include_con_h,v 1.2 2011/12/01 16:00:01 dcoppa Exp $ - -Bugfix: retain absolute window position and size when changing -floating borders (git commit 970d11709e99aab7db13a2fd28a758a68a4137dc) - ---- include/con.h.orig Fri Nov 11 23:41:20 2011 -+++ include/con.h Thu Dec 1 13:45:23 2011 -@@ -234,6 +234,13 @@ Rect con_border_style_rect(Con *con); - int con_border_style(Con *con); - - /** -+ * Sets the given border style on con, correctly keeping the position/size of a -+ * floating window. -+ * -+ */ -+void con_set_border_style(Con *con, int border_style); -+ -+/** - * This function changes the layout of a given container. Use it to handle - * special cases like changing a whole workspace to stacked/tabbed (creates a - * new split container before). diff --git a/x11/i3/patches/patch-include_ewmh_h b/x11/i3/patches/patch-include_ewmh_h deleted file mode 100644 index 23b79c6684c..00000000000 --- a/x11/i3/patches/patch-include_ewmh_h +++ /dev/null @@ -1,25 +0,0 @@ -$OpenBSD: patch-include_ewmh_h,v 1.1 2011/12/01 16:00:01 dcoppa Exp $ - -Do not set the _NET_WM_WORKAREA hint: fix incorrect transient -geometry with wxwidgets -(upstream git commit d25e77ce7597bf0736c610a04185c8c27694c890) - ---- include/ewmh.h.orig Fri Nov 11 23:41:20 2011 -+++ include/ewmh.h Thu Dec 1 14:07:37 2011 -@@ -29,16 +29,6 @@ void ewmh_update_current_desktop(); - void ewmh_update_active_window(xcb_window_t window); - - /** -- * Updates the workarea for each desktop. -- * -- * EWMH: Contains a geometry for each desktop. These geometries specify an area -- * that is completely contained within the viewport. Work area SHOULD be used by -- * desktop applications to place desktop icons appropriately. -- * -- */ --void ewmh_update_workarea(); -- --/** - * Updates the _NET_CLIENT_LIST_STACKING hint. Necessary to move tabs in - * Chromium correctly. - * diff --git a/x11/i3/patches/patch-include_xcursor_h b/x11/i3/patches/patch-include_xcursor_h deleted file mode 100644 index e6a8798311c..00000000000 --- a/x11/i3/patches/patch-include_xcursor_h +++ /dev/null @@ -1,14 +0,0 @@ -$OpenBSD: patch-include_xcursor_h,v 1.1 2011/12/01 16:00:01 dcoppa Exp $ - -Fix prototype (git commit 0ea64ae404c38391aa50ec91dbcebdbda9cac833) - ---- include/xcursor.h.orig Thu Dec 1 13:31:31 2011 -+++ include/xcursor.h Thu Dec 1 13:32:46 2011 -@@ -35,6 +35,6 @@ int xcursor_get_xcb_cursor(enum xcursor_cursor_t c); - * races might occur (even though we flush the Xlib connection). - * - */ --void xcursor_set_root_cursor(); -+void xcursor_set_root_cursor(int cursor_id); - - #endif diff --git a/x11/i3/patches/patch-man_i3-migrate-config-to-v4_1 b/x11/i3/patches/patch-man_i3-migrate-config-to-v4_1 index 197648716e2..01e1161796b 100644 --- a/x11/i3/patches/patch-man_i3-migrate-config-to-v4_1 +++ b/x11/i3/patches/patch-man_i3-migrate-config-to-v4_1 @@ -1,15 +1,15 @@ -$OpenBSD: patch-man_i3-migrate-config-to-v4_1,v 1.2 2011/12/01 16:00:01 dcoppa Exp $ +$OpenBSD: patch-man_i3-migrate-config-to-v4_1,v 1.3 2011/12/27 09:05:17 dcoppa Exp $ fix fatal error ---- man/i3-migrate-config-to-v4.1.orig Wed Nov 30 16:43:58 2011 -+++ man/i3-migrate-config-to-v4.1 Wed Nov 30 16:44:25 2011 +--- man/i3-migrate-config-to-v4.1.orig Tue Dec 27 09:32:57 2011 ++++ man/i3-migrate-config-to-v4.1 Tue Dec 27 09:33:26 2011 @@ -7,7 +7,7 @@ - .\" Source: i3 4.1 + .\" Source: i3 4.1.1 .\" Language: English .\" --.TH "I3\-MIGRATE\-CONFIG\" "1" "11/11/2011" "i3 4\&.1" "i3 Manual" -+.TH "I3\-MIGRATE\-CONFIG" "1" "11/11/2011" "i3 4\&.1" "i3 Manual" +-.TH "I3\-MIGRATE\-CONFIG\" "1" "12/24/2011" "i3 4\&.1\&.1" "i3 Manual" ++.TH "I3\-MIGRATE\-CONFIG" "1" "12/24/2011" "i3 4\&.1\&.1" "i3 Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/x11/i3/patches/patch-src_cfgparse_y b/x11/i3/patches/patch-src_cfgparse_y index ac2a827154f..fed6a10aa1f 100644 --- a/x11/i3/patches/patch-src_cfgparse_y +++ b/x11/i3/patches/patch-src_cfgparse_y @@ -1,7 +1,7 @@ -$OpenBSD: patch-src_cfgparse_y,v 1.4 2011/12/01 16:00:01 dcoppa Exp $ ---- src/cfgparse.y.orig Fri Nov 11 23:41:20 2011 -+++ src/cfgparse.y Wed Nov 30 17:01:02 2011 -@@ -284,8 +284,8 @@ static void start_configerror_nagbar(const char *confi +$OpenBSD: patch-src_cfgparse_y,v 1.5 2011/12/27 09:05:17 dcoppa Exp $ +--- src/cfgparse.y.orig Sat Dec 24 16:25:08 2011 ++++ src/cfgparse.y Tue Dec 27 09:24:53 2011 +@@ -286,8 +286,8 @@ static void start_configerror_nagbar(const char *confi if (configerror_pid == 0) { char *editaction, *pageraction; diff --git a/x11/i3/patches/patch-src_click_c b/x11/i3/patches/patch-src_click_c deleted file mode 100644 index 7bf0264bc9f..00000000000 --- a/x11/i3/patches/patch-src_click_c +++ /dev/null @@ -1,54 +0,0 @@ -$OpenBSD: patch-src_click_c,v 1.4 2011/12/01 16:00:01 dcoppa Exp $ - -Bugfix: fix resizing for v-split containers in h-split containers -(upstream git commit 59283cce93dc1e468e3ad714a2f561aba8575180) - ---- src/click.c.orig Fri Nov 11 23:41:20 2011 -+++ src/click.c Thu Dec 1 14:01:12 2011 -@@ -26,7 +26,7 @@ typedef enum { CLICK_BORDER = 0, CLICK_DECORATION = 1, - * - */ - static bool tiling_resize_for_border(Con *con, border_t border, const xcb_button_press_event_t *event) { -- DLOG("border = %d\n", border); -+ DLOG("border = %d, con = %p\n", border, con); - char way = (border == BORDER_TOP || border == BORDER_LEFT ? 'p' : 'n'); - orientation_t orientation = (border == BORDER_TOP || border == BORDER_BOTTOM ? VERT : HORIZ); - -@@ -38,6 +38,7 @@ static bool tiling_resize_for_border(Con *con, border_ - resize_con->parent->orientation != orientation) - resize_con = resize_con->parent; - -+ DLOG("resize_con = %p\n", resize_con); - if (resize_con->type != CT_WORKSPACE && - resize_con->type != CT_FLOATING_CON && - resize_con->parent->orientation == orientation) { -@@ -51,6 +52,8 @@ static bool tiling_resize_for_border(Con *con, border_ - first = second; - second = tmp; - } -+ DLOG("first = %p, second = %p, resize_con = %p\n", -+ first, second, resize_con); - } - - if (first == NULL || second == NULL) { -@@ -130,13 +133,14 @@ static bool tiling_resize(Con *con, const xcb_button_p - /* Since the container might either be the child *or* already a split - * container (in the case of a nested split container), we need to make - * sure that we are dealing with the split container here. */ -- if (con_is_leaf(con) && con->parent->type == CT_CON) -- con = con->parent; -+ Con *check_con = con; -+ if (con_is_leaf(check_con) && check_con->parent->type == CT_CON) -+ check_con = check_con->parent; - -- if ((con->layout == L_STACKED || -- con->layout == L_TABBED || -- con->orientation == HORIZ) && -- con_num_children(con) > 1) { -+ if ((check_con->layout == L_STACKED || -+ check_con->layout == L_TABBED || -+ check_con->orientation == HORIZ) && -+ con_num_children(check_con) > 1) { - DLOG("Not handling this resize, this container has > 1 child.\n"); - return false; - } diff --git a/x11/i3/patches/patch-src_cmdparse_y b/x11/i3/patches/patch-src_cmdparse_y deleted file mode 100644 index 4ecaf5cb809..00000000000 --- a/x11/i3/patches/patch-src_cmdparse_y +++ /dev/null @@ -1,57 +0,0 @@ -$OpenBSD: patch-src_cmdparse_y,v 1.2 2011/12/01 16:00:01 dcoppa Exp $ - -Bugfix: fix crash on '[class="i3bar"] focus' -(upstream git commit 31acb91d906cecb94d791609917530545118eb3b) - -Bugfix: retain absolute window position and size when changing -floating borders (git commit 970d11709e99aab7db13a2fd28a758a68a4137dc) - -Bugfix: fix 'resize' command in nested containers -(upstream git commit 626e3efb48cdf78dcda31bec61bcb8bcb9bf2940) - ---- src/cmdparse.y.orig Fri Nov 11 23:41:20 2011 -+++ src/cmdparse.y Thu Dec 1 14:03:16 2011 -@@ -450,6 +450,10 @@ focus: - int count = 0; - TAILQ_FOREACH(current, &owindows, owindows) { - Con *ws = con_get_workspace(current->con); -+ /* If no workspace could be found, this was a dock window. -+ * Just skip it, you cannot focus dock windows. */ -+ if (!ws) -+ continue; - - /* If the container is not on the current workspace, - * workspace_show() will switch to a different workspace and (if -@@ -719,10 +723,12 @@ border: - - TAILQ_FOREACH(current, &owindows, owindows) { - printf("matching: %p / %s\n", current->con, current->con->name); -+ int border_style = current->con->border_style; - if ($2 == TOK_TOGGLE) { -- current->con->border_style++; -- current->con->border_style %= 3; -- } else current->con->border_style = $2; -+ border_style++; -+ border_style %= 3; -+ } else border_style = $2; -+ con_set_border_style(current->con, border_style); - } - - tree_render(); -@@ -961,6 +967,16 @@ resize: - while (current->parent->layout == L_STACKED || - current->parent->layout == L_TABBED) - current = current->parent; -+ -+ /* Then further go up until we find one with the matching orientation. */ -+ orientation_t search_orientation = -+ (direction == TOK_LEFT || direction == TOK_RIGHT ? HORIZ : VERT); -+ -+ while (current->type != CT_WORKSPACE && -+ current->type != CT_FLOATING_CON && -+ current->parent->orientation != search_orientation) -+ current = current->parent; -+ - /* get the default percentage */ - int children = con_num_children(current->parent); - Con *other; diff --git a/x11/i3/patches/patch-src_con_c b/x11/i3/patches/patch-src_con_c deleted file mode 100644 index ff2f6b9387e..00000000000 --- a/x11/i3/patches/patch-src_con_c +++ /dev/null @@ -1,72 +0,0 @@ -$OpenBSD: patch-src_con_c,v 1.2 2011/12/01 16:00:01 dcoppa Exp $ - -Bugfix: retain absolute window position and size when changing -floating borders (git commit 970d11709e99aab7db13a2fd28a758a68a4137dc) - -Do not set the _NET_WM_WORKAREA hint: fix incorrect transient -geometry with wxwidgets -(upstream git commit d25e77ce7597bf0736c610a04185c8c27694c890) - ---- src/con.c.orig Fri Nov 11 23:41:20 2011 -+++ src/con.c Thu Dec 1 14:07:37 2011 -@@ -942,6 +942,52 @@ int con_border_style(Con *con) { - } - - /* -+ * Sets the given border style on con, correctly keeping the position/size of a -+ * floating window. -+ * -+ */ -+void con_set_border_style(Con *con, int border_style) { -+ /* Handle the simple case: non-floating containerns */ -+ if (!con_is_floating(con)) { -+ con->border_style = border_style; -+ return; -+ } -+ -+ /* For floating containers, we want to keep the position/size of the -+ * *window* itself. Since the window size is rendered based on the -+ * container which it is in, we first remove the border/decoration specific -+ * amount of pixels from parent->rect, change the border, then add the new -+ * border/decoration specific pixels. */ -+ DLOG("This is a floating container\n"); -+ -+ /* Get current border/decoration pixel values. */ -+ int deco_height = -+ (con->border_style == BS_NORMAL ? config.font.height + 5 : 0); -+ Rect bsr = con_border_style_rect(con); -+ Con *parent = con->parent; -+ -+ con->rect.x += bsr.x; -+ con->rect.y += bsr.y; -+ con->rect.width += bsr.width; -+ con->rect.height += bsr.height; -+ -+ /* Change the border style, get new border/decoration values. */ -+ con->border_style = border_style; -+ bsr = con_border_style_rect(con); -+ deco_height = (con->border_style == BS_NORMAL ? config.font.height + 5 : 0); -+ -+ con->rect.x -= bsr.x; -+ con->rect.y -= bsr.y; -+ con->rect.width -= bsr.width; -+ con->rect.height -= bsr.height; -+ -+ parent->rect.x = con->rect.x; -+ parent->rect.y = con->rect.y - deco_height; -+ parent->rect.width = con->rect.width; -+ parent->rect.height = con->rect.height + deco_height; -+} -+ -+/* - * This function changes the layout of a given container. Use it to handle - * special cases like changing a whole workspace to stacked/tabbed (creates a - * new split container before). -@@ -1023,7 +1069,6 @@ static void con_on_remove_child(Con *con) { - LOG("Closing old workspace (%p / %s), it is empty\n", con, con->name); - tree_close(con, DONT_KILL_WINDOW, false, false); - ipc_send_event("workspace", I3_IPC_EVENT_WORKSPACE, "{\"change\":\"empty\"}"); -- ewmh_update_workarea(); - } - return; - } diff --git a/x11/i3/patches/patch-src_config_c b/x11/i3/patches/patch-src_config_c index b8206a06a5e..d20ea8347ad 100644 --- a/x11/i3/patches/patch-src_config_c +++ b/x11/i3/patches/patch-src_config_c @@ -1,7 +1,7 @@ -$OpenBSD: patch-src_config_c,v 1.6 2011/12/01 16:00:01 dcoppa Exp $ ---- src/config.c.orig Wed Nov 30 16:44:46 2011 -+++ src/config.c Wed Nov 30 16:45:07 2011 -@@ -210,7 +210,7 @@ static char *get_config_path(const char *override_conf +$OpenBSD: patch-src_config_c,v 1.7 2011/12/27 09:05:17 dcoppa Exp $ +--- src/config.c.orig Sat Dec 24 16:25:08 2011 ++++ src/config.c Tue Dec 27 09:24:53 2011 +@@ -218,7 +218,7 @@ static char *get_config_path(const char *override_conf /* 4: check for $XDG_CONFIG_DIRS/i3/config */ if ((xdg_config_dirs = getenv("XDG_CONFIG_DIRS")) == NULL) diff --git a/x11/i3/patches/patch-src_handlers_c b/x11/i3/patches/patch-src_handlers_c deleted file mode 100644 index 0aa962e6084..00000000000 --- a/x11/i3/patches/patch-src_handlers_c +++ /dev/null @@ -1,49 +0,0 @@ -$OpenBSD: patch-src_handlers_c,v 1.4 2011/12/01 16:00:01 dcoppa Exp $ - -Bugfix: ignore EnterNotify events to prevent wrong focus in complex -tabbed/stacked layouts -(upstream git commit bd4b240d56df08bc255a09c9cb0d98b457c785dc) - -Bugfix: skip dock clients when handling FocusIn events -(upstream git commit 5f8d719835832a91232d0331a25512e9a0853494) - ---- src/handlers.c.orig Fri Nov 11 23:41:20 2011 -+++ src/handlers.c Thu Dec 1 13:58:48 2011 -@@ -452,10 +452,20 @@ static int handle_screen_change(xcb_generic_event_t *e - * - */ - static int handle_unmap_notify_event(xcb_unmap_notify_event_t *event) { -- // XXX: this is commented out because in src/x.c we disable EnterNotify events -- /* we need to ignore EnterNotify events which will be generated because a -- * different window is visible now */ -- //add_ignore_event(event->sequence, XCB_ENTER_NOTIFY); -+ /* If the client (as opposed to i3) destroyed or unmapped a window, an -+ * EnterNotify event will follow (indistinguishable from an EnterNotify -+ * event caused by moving your mouse), causing i3 to set focus to whichever -+ * window is now visible. -+ * -+ * In a complex stacked or tabbed layout (take two v-split containers in a -+ * tabbed container), when the bottom window in tab2 is closed, the bottom -+ * window of tab1 is visible instead. X11 will thus send an EnterNotify -+ * event for the bottom window of tab1, while the focus should be set to -+ * the remaining window of tab2. -+ * -+ * Therefore, we ignore all EnterNotify events which have the same sequence -+ * as an UnmapNotify event. */ -+ add_ignore_event(event->sequence, XCB_ENTER_NOTIFY); - - DLOG("UnmapNotify for 0x%08x (received from 0x%08x), serial %d\n", event->window, event->event, event->sequence); - Con *con = con_by_window_id(event->window); -@@ -965,6 +975,12 @@ static int handle_focus_in(xcb_focus_in_event_t *event - - if (focused_id == event->event) { - DLOG("focus matches the currently focused window, not doing anything\n"); -+ return 1; -+ } -+ -+ /* Skip dock clients, they cannot get the i3 focus. */ -+ if (con->parent->type == CT_DOCKAREA) { -+ DLOG("This is a dock client, not focusing.\n"); - return 1; - } - diff --git a/x11/i3/patches/patch-src_randr_c b/x11/i3/patches/patch-src_randr_c deleted file mode 100644 index 36eebe20de3..00000000000 --- a/x11/i3/patches/patch-src_randr_c +++ /dev/null @@ -1,54 +0,0 @@ -$OpenBSD: patch-src_randr_c,v 1.4 2011/12/01 16:00:01 dcoppa Exp $ - -Bugfix: don't create a workspace named "back_and_forth" on -startup (unintended behaviour) -(upstream git commit d686f2f8731a1b7a9c4524a30d4413200d768621) - -Do not set the _NET_WM_WORKAREA hint: fix incorrect transient -geometry with wxwidgets -(upstream git commit d25e77ce7597bf0736c610a04185c8c27694c890) - -Bugfix: fix crash at startup when RandR is not present -(upstream git commit 227a58b0c30a438e36ee8318c0d20079777f063d) - ---- src/randr.c.orig Fri Nov 11 23:41:20 2011 -+++ src/randr.c Thu Dec 1 14:07:37 2011 -@@ -420,11 +420,12 @@ void init_ws_for_output(Output *output, Con *content) - continue; - DLOG("relevant command = %s\n", bind->command); - char *target = bind->command + strlen("workspace "); -- /* We check if this is the workspace next/prev command. Beware: The -- * workspace names "next" and "prev" are OK, so we check before -- * stripping the double quotes */ -+ /* We check if this is the workspace next/prev/back_and_forth command. -+ * Beware: The workspace names "next", "prev" and "back_and_forth" are -+ * OK, so we check before stripping the double quotes */ - if (strncasecmp(target, "next", strlen("next")) == 0 || -- strncasecmp(target, "prev", strlen("prev")) == 0) -+ strncasecmp(target, "prev", strlen("prev")) == 0 || -+ strncasecmp(target, "back_and_forth", strlen("back_and_forth")) == 0) - continue; - if (*target == '"') - target++; -@@ -807,8 +808,6 @@ void randr_query_outputs() { - disable_randr(conn); - } - -- ewmh_update_workarea(); -- - /* Just go through each active output and assign one workspace */ - TAILQ_FOREACH(output, &outputs, outputs) { - if (!output->active) -@@ -845,9 +844,10 @@ void randr_init(int *event_base) { - const xcb_query_extension_reply_t *extreply; - - extreply = xcb_get_extension_data(conn, &xcb_randr_id); -- if (!extreply->present) -+ if (!extreply->present) { - disable_randr(conn); -- else randr_query_outputs(); -+ return; -+ } else randr_query_outputs(); - - if (event_base != NULL) - *event_base = extreply->first_event; diff --git a/x11/i3/patches/patch-src_render_c b/x11/i3/patches/patch-src_render_c deleted file mode 100644 index 866351624bd..00000000000 --- a/x11/i3/patches/patch-src_render_c +++ /dev/null @@ -1,35 +0,0 @@ -$OpenBSD: patch-src_render_c,v 1.1 2011/12/01 16:00:01 dcoppa Exp $ - -Bugfix: fix fullscreen with floating windows -(upstream git commit 61b8a62132bf07682b79902f5ea9f712bca000c9) - ---- src/render.c.orig Fri Nov 11 23:41:20 2011 -+++ src/render.c Thu Dec 1 13:30:55 2011 -@@ -236,6 +236,27 @@ void render_con(Con *con, bool render_fullscreen) { - Con *content = output_get_content(output); - Con *workspace = TAILQ_FIRST(&(content->focus_head)); - -+ /* Check for (floating!) fullscreen nodes */ -+ /* XXX: This code duplication is unfortunate. Keep in mind to fix -+ * this when we clean up the whole render.c */ -+ Con *fullscreen = NULL; -+ fullscreen = con_get_fullscreen_con(workspace, CF_OUTPUT); -+ if (fullscreen) { -+ /* Either the fullscreen window is inside the floating -+ * container, then we need to render and raise it now... */ -+ if (con_inside_floating(fullscreen)) { -+ fullscreen->rect = output->rect; -+ x_raise_con(fullscreen); -+ render_con(fullscreen, true); -+ continue; -+ } else { -+ /* ...or it's a tiling window, in which case the floating -+ * windows should not overlap it, so we skip rendering this -+ * output. */ -+ continue; -+ } -+ } -+ - Con *child; - TAILQ_FOREACH(child, &(workspace->floating_head), floating_windows) { - DLOG("floating child at (%d,%d) with %d x %d\n", child->rect.x, child->rect.y, child->rect.width, child->rect.height); diff --git a/x11/i3/patches/patch-src_workspace_c b/x11/i3/patches/patch-src_workspace_c deleted file mode 100644 index 492687b6cb4..00000000000 --- a/x11/i3/patches/patch-src_workspace_c +++ /dev/null @@ -1,17 +0,0 @@ -$OpenBSD: patch-src_workspace_c,v 1.4 2011/12/01 16:00:01 dcoppa Exp $ - -Do not set the _NET_WM_WORKAREA hint: fix incorrect transient -geometry with wxwidgets -(upstream git commit d25e77ce7597bf0736c610a04185c8c27694c890) - ---- src/workspace.c.orig Fri Nov 11 23:41:20 2011 -+++ src/workspace.c Thu Dec 1 14:07:37 2011 -@@ -240,8 +240,6 @@ static void _workspace_show(Con *workspace, bool chang - } - - /* Update the EWMH hints */ -- if (changed_num_workspaces) -- ewmh_update_workarea(); - ewmh_update_current_desktop(); - - ipc_send_event("workspace", I3_IPC_EVENT_WORKSPACE, "{\"change\":\"focus\"}");