The diff below updates i3 to the latest version (4.5.1).
works for me on my amd64 laptop and on my i386 netbook.

ciao,
David

Index: Makefile
===================================================================
RCS file: /cvs/ports/x11/i3/Makefile,v
retrieving revision 1.61
diff -u -p -u -p -r1.61 Makefile
--- Makefile    11 Mar 2013 11:46:13 -0000      1.61
+++ Makefile    15 May 2013 18:49:57 -0000
@@ -2,8 +2,7 @@
 
 COMMENT =      improved dynamic tiling window manager
 
-DISTNAME =     i3-4.4
-REVISION =     6
+DISTNAME =     i3-4.5.1
 CATEGORIES =   x11
 
 EXTRACT_SUFX = .tar.bz2
@@ -14,13 +13,12 @@ MAINTAINER =        David Coppa <dcoppa@openbsd
 # BSD
 PERMIT_PACKAGE_CDROM =   Yes
 
-WANTLIB =      X11 Xcursor Xext Xrender c cairo ev expat \
-               fontconfig freetype glib-2.0 gobject-2.0 m \
-               pango-1.0 pangocairo-1.0 pangoft2-1.0 pcre \
-               pixman-1 png pthread pthread-stubs \
-               startup-notification-1 xcb xcb-atom xcb-aux \
-               xcb-event xcb-icccm xcb-keysyms xcb-property \
-               xcb-randr xcb-render xcb-shm xcb-xinerama yajl z
+WANTLIB =      X11 Xcursor c cairo ev fontconfig freetype \
+               glib-2.0 gobject-2.0 m pango-1.0 pangocairo-1.0 \
+               pangoft2-1.0 pcre pthread startup-notification-1 \
+               xcb xcb-atom xcb-aux xcb-event xcb-icccm \
+               xcb-keysyms xcb-property xcb-randr xcb-xinerama \
+               yajl z
 
 MODULES =      converters/libiconv \
                devel/gettext
@@ -31,9 +29,6 @@ LIB_DEPENDS = devel/libev \
                devel/pcre \
                devel/startup-notification
 
-BUILD_DEPENDS =        devel/bison \
-               devel/flex
-
 RUN_DEPENDS =  devel/desktop-file-utils \
                x11/dmenu \
                x11/i3status
@@ -43,8 +38,6 @@ USE_GMAKE =   Yes
 NO_TEST =      Yes
 
 MAKE_FLAGS =   CC="${CC}" \
-               BISON="${LOCALBASE}/bin/bison" \
-               FLEX="${LOCALBASE}/bin/gflex" \
                SYSCONFDIR=${SYSCONFDIR} \
                V=1
 
@@ -60,23 +53,23 @@ FAKE_FLAGS =        PREFIX=${PREFIX} \
 
 post-configure:
        ${SUBST_CMD} ${WRKSRC}/i3-dmenu-desktop \
+               ${WRKSRC}/i3-nagbar/main.c \
                ${WRKSRC}/i3.config \
                ${WRKSRC}/i3.config.keycodes \
-               ${WRKSRC}/src/cfgparse.y \
                ${WRKSRC}/src/commands.c \
-               ${WRKSRC}/src/config.c \
-               ${WRKSRC}/src/key_press.c
+               ${WRKSRC}/src/config.c
 
 post-install:
        ${INSTALL_MAN} ${WRKBUILD}/man/*.1 ${PREFIX}/man/man1/
-       ${SUBST_CMD} -o ${SHAREOWN} -g ${SHAREGRP} \
+       ${SUBST_CMD} -o ${SHAREOWN} -g ${SHAREGRP} -m ${MANMODE} \
                -c ${WRKBUILD}/man/i3-config-wizard.1 \
                        ${PREFIX}/man/man1/i3-config-wizard.1
-       ${SUBST_CMD} -o ${SHAREOWN} -g ${SHAREGRP} \
-               -c ${WRKBUILD}/man/i3.1 \
-                       ${PREFIX}/man/man1/i3.1
-       @rm ${PREFIX}/man/man1/i3-dmenu-desktop.1 \
-               ${PREFIX}/man/man1/i3-dump-log.1 \
+       ${SUBST_CMD} -o ${SHAREOWN} -g ${SHAREGRP} -m ${MANMODE} \
+               -c ${WRKBUILD}/man/i3-dmenu-desktop.1 \
+                       ${PREFIX}/man/man1/i3-dmenu-desktop.1
+       ${SUBST_CMD} -o ${SHAREOWN} -g ${SHAREGRP} -m ${MANMODE} \
+               -c ${WRKBUILD}/man/i3.1 ${PREFIX}/man/man1/i3.1
+       @rm ${PREFIX}/man/man1/i3-dump-log.1 \
                ${PREFIX}/man/man1/i3-sensible*.1
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/x11/i3/distinfo,v
retrieving revision 1.12
diff -u -p -u -p -r1.12 distinfo
--- distinfo    13 Dec 2012 12:10:13 -0000      1.12
+++ distinfo    15 May 2013 18:49:57 -0000
@@ -1,2 +1,2 @@
-SHA256 (i3-4.4.tar.bz2) = mYdXSeq21vWjBY8zJVMs0iOp+iJ3GlTC/QbA3tl/SBs=
-SIZE (i3-4.4.tar.bz2) = 884182
+SHA256 (i3-4.5.1.tar.bz2) = uuVfHHxKIdcarhguT6tgOLplukvl0c7/niafT3S4I/I=
+SIZE (i3-4.5.1.tar.bz2) = 878954
Index: patches/patch-i3-config-wizard_i3-config-wizard_mk
===================================================================
RCS file: /cvs/ports/x11/i3/patches/patch-i3-config-wizard_i3-config-wizard_mk,v
retrieving revision 1.1
diff -u -p -u -p -r1.1 patch-i3-config-wizard_i3-config-wizard_mk
--- patches/patch-i3-config-wizard_i3-config-wizard_mk  21 Sep 2012 17:16:14 
-0000      1.1
+++ patches/patch-i3-config-wizard_i3-config-wizard_mk  15 May 2013 18:49:57 
-0000
@@ -1,7 +1,7 @@
 $OpenBSD: patch-i3-config-wizard_i3-config-wizard_mk,v 1.1 2012/09/21 17:16:14 
dcoppa Exp $
 --- i3-config-wizard/i3-config-wizard.mk.orig  Fri Sep 21 11:40:58 2012
 +++ i3-config-wizard/i3-config-wizard.mk       Fri Sep 21 11:42:00 2012
-@@ -30,7 +30,7 @@ i3-config-wizard/i3-config-wizard: libi3.a $(i3_config
+@@ -21,7 +21,7 @@ i3-config-wizard/i3-config-wizard: libi3.a $(i3_config
  install-i3-config-wizard: i3-config-wizard/i3-config-wizard
        echo "[i3-config-wizard] Install"
        $(INSTALL) -d -m 0755 $(DESTDIR)$(PREFIX)/bin
Index: patches/patch-i3-dmenu-desktop
===================================================================
RCS file: /cvs/ports/x11/i3/patches/patch-i3-dmenu-desktop,v
retrieving revision 1.1
diff -u -p -u -p -r1.1 patch-i3-dmenu-desktop
--- patches/patch-i3-dmenu-desktop      13 Dec 2012 12:10:13 -0000      1.1
+++ patches/patch-i3-dmenu-desktop      15 May 2013 18:49:57 -0000
@@ -1,7 +1,7 @@
 $OpenBSD: patch-i3-dmenu-desktop,v 1.1 2012/12/13 12:10:13 dcoppa Exp $
---- i3-dmenu-desktop.orig      Thu Dec 13 09:55:16 2012
-+++ i3-dmenu-desktop   Thu Dec 13 10:00:16 2012
-@@ -88,7 +88,7 @@ $xdg_data_home = $ENV{HOME} . '/.local/share' if
+--- i3-dmenu-desktop.orig      Mon Mar 18 22:43:36 2013
++++ i3-dmenu-desktop   Mon May 13 08:27:23 2013
+@@ -103,7 +103,7 @@ $xdg_data_home = $ENV{HOME} . '/.local/share' if
      ! -d $xdg_data_home;
  
  my $xdg_data_dirs = $ENV{XDG_DATA_DIRS};
@@ -10,7 +10,7 @@ $OpenBSD: patch-i3-dmenu-desktop,v 1.1 2
      !defined($xdg_data_dirs) ||
      $xdg_data_dirs eq '';
  
-@@ -187,12 +187,12 @@ for my $file (values %desktops) {
+@@ -204,12 +204,12 @@ for my $file (values %desktops) {
  #     'evince.desktop' => {
  #         'Exec' => 'evince %U',
  #         'Name' => 'Dokumentenbetrachter',
@@ -25,7 +25,7 @@ $OpenBSD: patch-i3-dmenu-desktop,v 1.1 2
  #       }
  #   };
  
-@@ -355,7 +355,7 @@ if (exists($app->{Terminal}) && $app->{Terminal}) {
+@@ -404,7 +404,7 @@ if (exists($app->{Terminal}) && $app->{Terminal}) {
      # we need to create a temporary script that contains the full command line
      # as the syntax for starting commands with arguments varies from terminal
      # emulator to terminal emulator.
@@ -34,7 +34,7 @@ $OpenBSD: patch-i3-dmenu-desktop,v 1.1 2
      my ($fh, $filename) = tempfile();
      binmode($fh, ':utf8');
      say $fh <<EOT;
-@@ -366,7 +366,7 @@ EOT
+@@ -415,7 +415,7 @@ EOT
      close($fh);
      chmod 0755, $filename;
  
@@ -43,7 +43,7 @@ $OpenBSD: patch-i3-dmenu-desktop,v 1.1 2
  } else {
      # i3 executes applications by passing the argument to i3???s ???exec??? 
command
      # as-is to $SHELL -c. The i3 parser supports quoted strings: When a string
-@@ -407,7 +407,7 @@ notifications.
+@@ -456,7 +456,7 @@ notifications.
  
  The .desktop files are searched in $XDG_DATA_HOME/applications (by default
  $HOME/.local/share/applications) and in the "applications" subdirectory of 
each
@@ -52,7 +52,7 @@ $OpenBSD: patch-i3-dmenu-desktop,v 1.1 2
  
  Files with the same name in $XDG_DATA_HOME/applications take precedence over
  files in $XDG_DATA_DIRS, so that you can overwrite parts of the system-wide
-@@ -421,7 +421,7 @@ file respectively) by appending it to the name of the 
+@@ -470,7 +470,7 @@ file respectively) by appending it to the name of the 
  want to launch "GNU Emacs 24" with the patch /tmp/foobar.txt, you would type
  "emacs", press TAB, type " /tmp/foobar.txt" and press ENTER.
  
Index: patches/patch-i3-input_main_c
===================================================================
RCS file: patches/patch-i3-input_main_c
diff -N patches/patch-i3-input_main_c
--- patches/patch-i3-input_main_c       27 Dec 2012 19:58:05 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,58 +0,0 @@
-$OpenBSD: patch-i3-input_main_c,v 1.1 2012/12/27 19:58:05 dcoppa Exp $
-
-Bugfix: restore input focus on exit()
-(upstream git commit 5779f573e7316664e4bff9d3ff17a234edc9d337)
-
---- i3-input/main.c.orig       Wed Dec 12 00:08:22 2012
-+++ i3-input/main.c    Thu Dec 27 15:08:34 2012
-@@ -54,6 +54,7 @@ static int limit;
- xcb_window_t root;
- xcb_connection_t *conn;
- xcb_screen_t *root_screen;
-+static xcb_get_input_focus_cookie_t focus_cookie;
- 
- /*
-  * Having verboselog() and errorlog() is necessary when using libi3.
-@@ -282,6 +283,24 @@ static int handle_key_press(void *ignored, xcb_connect
-     return 1;
- }
- 
-+/*
-+ * Restores the X11 input focus to whereever it was before.
-+ * This is necessary because i3-input's window has override_redirect=1
-+ * (unmanaged by the window manager) and thus i3-input changes focus itself.
-+ * This function is called on exit().
-+ *
-+ */
-+static void restore_input_focus(void) {
-+    xcb_generic_error_t *error;
-+    xcb_get_input_focus_reply_t *reply = xcb_get_input_focus_reply(conn, 
focus_cookie, &error);
-+    if (error != NULL) {
-+        fprintf(stderr, "[i3-input] ERROR: Could not restore input focus (X 
error %d)\n", error->error_code);
-+        return;
-+    }
-+    xcb_set_input_focus(conn, XCB_INPUT_FOCUS_POINTER_ROOT, reply->focus, 
XCB_CURRENT_TIME);
-+    xcb_flush(conn);
-+}
-+
- int main(int argc, char *argv[]) {
-     format = strdup("%s");
-     socket_path = getenv("I3SOCK");
-@@ -357,6 +376,9 @@ int main(int argc, char *argv[]) {
-     if (!conn || xcb_connection_has_error(conn))
-         die("Cannot open display\n");
- 
-+    /* Request the current InputFocus to restore when i3-input exits. */
-+    focus_cookie = xcb_get_input_focus(conn);
-+
-     root_screen = xcb_aux_get_screen(conn, screens);
-     root = root_screen->root;
- 
-@@ -398,6 +420,7 @@ int main(int argc, char *argv[]) {
-     /* Set input focus (we have override_redirect=1, so the wm will not do
-      * this for us) */
-     xcb_set_input_focus(conn, XCB_INPUT_FOCUS_POINTER_ROOT, win, 
XCB_CURRENT_TIME);
-+    atexit(restore_input_focus);
- 
-     /* Grab the keyboard to get all input */
-     xcb_flush(conn);
Index: patches/patch-i3-nagbar_main_c
===================================================================
RCS file: patches/patch-i3-nagbar_main_c
diff -N patches/patch-i3-nagbar_main_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-i3-nagbar_main_c      15 May 2013 18:49:57 -0000
@@ -0,0 +1,12 @@
+$OpenBSD$
+--- i3-nagbar/main.c.orig      Mon Mar 18 22:43:36 2013
++++ i3-nagbar/main.c   Mon May 13 08:33:49 2013
+@@ -165,7 +165,7 @@ static void handle_button_release(xcb_connection_t *co
+     fclose(script);
+ 
+     char *terminal_cmd;
+-    sasprintf(&terminal_cmd, "i3-sensible-terminal -e %s", argv0);
++    sasprintf(&terminal_cmd, "${X11BASE}/bin/xterm -e %s", argv0);
+     printf("argv0 = %s\n", argv0);
+     printf("terminal_cmd = %s\n", terminal_cmd);
+ 
Index: patches/patch-i3bar_include_xcb_h
===================================================================
RCS file: patches/patch-i3bar_include_xcb_h
diff -N patches/patch-i3bar_include_xcb_h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-i3bar_include_xcb_h   15 May 2013 18:49:57 -0000
@@ -0,0 +1,17 @@
+$OpenBSD$
+
+Fix for our strange setup: up-to-date libxcb, older xcb-util.
+
+--- i3bar/include/xcb.h.orig   Mon May 13 18:05:49 2013
++++ i3bar/include/xcb.h        Mon May 13 18:05:58 2013
+@@ -13,10 +13,6 @@
+ #include <stdint.h>
+ //#include "outputs.h"
+ 
+-#ifdef XCB_COMPAT
+-#define XCB_ATOM_CARDINAL CARDINAL
+-#endif
+-
+ #define _NET_SYSTEM_TRAY_ORIENTATION_HORZ 0
+ #define _NET_SYSTEM_TRAY_ORIENTATION_VERT 1
+ #define SYSTEM_TRAY_REQUEST_DOCK    0
Index: patches/patch-include_atoms_xmacro
===================================================================
RCS file: /cvs/ports/x11/i3/patches/patch-include_atoms_xmacro,v
retrieving revision 1.2
diff -u -p -u -p -r1.2 patch-include_atoms_xmacro
--- patches/patch-include_atoms_xmacro  21 Sep 2012 17:16:14 -0000      1.2
+++ patches/patch-include_atoms_xmacro  15 May 2013 18:49:57 -0000
@@ -2,9 +2,9 @@ $OpenBSD: patch-include_atoms_xmacro,v 1
 
 OpenBSD lacks POSIX shared memory support (shm_open() and friends)
 
---- include/atoms.xmacro.orig  Wed Sep 19 18:08:09 2012
-+++ include/atoms.xmacro       Thu Sep 20 14:12:10 2012
-@@ -26,5 +26,7 @@ xmacro(WM_WINDOW_ROLE)
+--- include/atoms.xmacro.orig  Mon Mar 18 22:43:36 2013
++++ include/atoms.xmacro       Mon May 13 08:27:23 2013
+@@ -27,5 +27,7 @@ xmacro(WM_WINDOW_ROLE)
  xmacro(I3_SOCKET_PATH)
  xmacro(I3_CONFIG_PATH)
  xmacro(I3_SYNC)
Index: patches/patch-include_xcb_compat_h
===================================================================
RCS file: patches/patch-include_xcb_compat_h
diff -N patches/patch-include_xcb_compat_h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-include_xcb_compat_h  15 May 2013 18:49:57 -0000
@@ -0,0 +1,21 @@
+$OpenBSD$
+
+Fix for our strange setup: up-to-date libxcb, older xcb-util.
+
+--- include/xcb_compat.h.orig  Mon May 13 17:59:30 2013
++++ include/xcb_compat.h       Mon May 13 18:01:03 2013
+@@ -34,14 +34,4 @@
+ #define xcb_icccm_wm_hints_get_urgency xcb_wm_hints_get_urgency
+ #define xcb_icccm_get_wm_transient_for_from_reply 
xcb_get_wm_transient_for_from_reply
+ 
+-#define XCB_ATOM_CARDINAL CARDINAL
+-#define XCB_ATOM_WINDOW WINDOW
+-#define XCB_ATOM_WM_TRANSIENT_FOR WM_TRANSIENT_FOR
+-#define XCB_ATOM_WM_NAME WM_NAME
+-#define XCB_ATOM_WM_CLASS WM_CLASS
+-#define XCB_ATOM_WM_HINTS WM_HINTS
+-#define XCB_ATOM_ATOM ATOM
+-#define XCB_ATOM_WM_NORMAL_HINTS WM_NORMAL_HINTS
+-#define XCB_ATOM_STRING STRING
+-
+ #endif
Index: patches/patch-libi3_ipc_send_message_c
===================================================================
RCS file: patches/patch-libi3_ipc_send_message_c
diff -N patches/patch-libi3_ipc_send_message_c
--- patches/patch-libi3_ipc_send_message_c      10 Jan 2013 08:20:52 -0000      
1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,41 +0,0 @@
-$OpenBSD: patch-libi3_ipc_send_message_c,v 1.1 2013/01/10 08:20:52 dcoppa Exp $
-
-From f5b7bfb12ef74ddbf250e5076bbfaafd0027474c Mon Sep 17 00:00:00 2001
-From: Michael Stapelberg <mich...@stapelberg.de>
-Date: Wed, 09 Jan 2013 17:11:03 +0000
-Subject: Bugfix: fix IPC messages writes with low buffer sizes (Thanks jasper, 
dcoppa)
-
-This fixes a problem where i3bar would exit due to malformed IPC
-messages when switching between workspaces with some windows opened.
-
---- libi3/ipc_send_message.c.orig      Wed Dec 12 00:08:17 2012
-+++ libi3/ipc_send_message.c   Thu Jan 10 09:07:13 2013
-@@ -10,6 +10,7 @@
- #include <unistd.h>
- #include <stdint.h>
- #include <err.h>
-+#include <errno.h>
- 
- #include <i3/ipc.h>
- 
-@@ -38,14 +39,15 @@ int ipc_send_message(int sockfd, uint32_t message_size
-     memcpy(walk, payload, message_size);
- 
-     int sent_bytes = 0;
--    int bytes_to_go = buffer_size;
--    while (sent_bytes < bytes_to_go) {
--        int n = write(sockfd, msg + sent_bytes, bytes_to_go);
--        if (n == -1)
-+    while (sent_bytes < buffer_size) {
-+        int n = write(sockfd, msg + sent_bytes, buffer_size - sent_bytes);
-+        if (n == -1) {
-+            if (errno == EAGAIN)
-+                continue;
-             return -1;
-+        }
- 
-         sent_bytes += n;
--        bytes_to_go -= n;
-     }
- 
-     return 0;
Index: patches/patch-libi3_libi3_mk
===================================================================
RCS file: patches/patch-libi3_libi3_mk
diff -N patches/patch-libi3_libi3_mk
--- patches/patch-libi3_libi3_mk        27 Dec 2012 19:58:05 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,16 +0,0 @@
-$OpenBSD: patch-libi3_libi3_mk,v 1.1 2012/12/27 19:58:05 dcoppa Exp $
-
-Repect AR environment variable
-(upstream git commit ef81bd183b579688b9f1a46a41c817b577d0b39e)
-
---- libi3/libi3.mk.orig        Thu Dec 27 15:01:05 2012
-+++ libi3/libi3.mk     Thu Dec 27 15:01:40 2012
-@@ -14,7 +14,7 @@ libi3/%.o: libi3/%.c $(libi3_HEADERS)
- 
- libi3.a: $(libi3_OBJECTS)
-       echo "[libi3] AR libi3.a"
--      ar rcs $@ $^ $(libi3_LIBS)
-+      $(AR) rcs $@ $^ $(libi3_LIBS)
- 
- clean-libi3:
-       echo "[libi3] Clean"
Index: patches/patch-man_i3-dmenu-desktop_1
===================================================================
RCS file: patches/patch-man_i3-dmenu-desktop_1
diff -N patches/patch-man_i3-dmenu-desktop_1
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-man_i3-dmenu-desktop_1        15 May 2013 18:49:57 -0000
@@ -0,0 +1,21 @@
+$OpenBSD$
+--- man/i3-dmenu-desktop.1.orig        Wed May 15 09:09:28 2013
++++ man/i3-dmenu-desktop.1     Wed May 15 09:12:05 2013
+@@ -89,7 +89,7 @@ notifications.
+ .PP
+ The .desktop files are searched in \f(CW$XDG_DATA_HOME\fR/applications (by 
default
+ \&\f(CW$HOME\fR/.local/share/applications) and in the \*(L"applications\*(R" 
subdirectory of each
+-entry of \f(CW$XDG_DATA_DIRS\fR (by default /usr/local/share/:/usr/share/).
++entry of \f(CW$XDG_DATA_DIRS\fR (by default ${LOCALBASE}/share/).
+ .PP
+ Files with the same name in \f(CW$XDG_DATA_HOME\fR/applications take 
precedence over
+ files in \f(CW$XDG_DATA_DIRS\fR, so that you can overwrite parts of the 
system-wide
+@@ -103,7 +103,7 @@ file respectively) by appending it to the name of the 
+ want to launch \*(L"\s-1GNU\s0 Emacs 24\*(R" with the patch /tmp/foobar.txt, 
you would type
+ \&\*(L"emacs\*(R", press \s-1TAB\s0, type \*(L" /tmp/foobar.txt\*(R" and 
press \s-1ENTER\s0.
+ .PP
+-\&.desktop files with Terminal=true are started using 
\fIi3\-sensible\-terminal\fR\|(1).
++\&.desktop files with Terminal=true are started using \fIxterm\fR\|(1).
+ .PP
+ \&.desktop files with NoDisplay=true or Hidden=true are skipped.
+ .PP
Index: patches/patch-man_i3-migrate-config-to-v4_1
===================================================================
RCS file: /cvs/ports/x11/i3/patches/patch-man_i3-migrate-config-to-v4_1,v
retrieving revision 1.7
diff -u -p -u -p -r1.7 patch-man_i3-migrate-config-to-v4_1
--- patches/patch-man_i3-migrate-config-to-v4_1 13 Dec 2012 12:10:13 -0000      
1.7
+++ patches/patch-man_i3-migrate-config-to-v4_1 15 May 2013 18:49:57 -0000
@@ -2,14 +2,14 @@ $OpenBSD: patch-man_i3-migrate-config-to
 
 Fix fatal error: "argument count wrong: line arguments >= 2 (have 1)"
 
---- man/i3-migrate-config-to-v4.1.orig Thu Dec 13 10:12:44 2012
-+++ man/i3-migrate-config-to-v4.1      Thu Dec 13 10:13:03 2012
+--- man/i3-migrate-config-to-v4.1.orig Mon Mar 18 22:43:47 2013
++++ man/i3-migrate-config-to-v4.1      Mon May 13 08:27:23 2013
 @@ -7,7 +7,7 @@
- .\"    Source: i3 4.4
+ .\"    Source: i3 4.5.1
  .\"  Language: English
  .\"
--.TH "I3\-MIGRATE\-CONFIG\" "1" "12/12/2012" "i3 4\&.4" "i3 Manual"
-+.TH "I3\-MIGRATE\-CONFIG" "1" "12/12/2012" "i3 4\&.4" "i3 Manual"
+-.TH "I3\-MIGRATE\-CONFIG\" "1" "03/18/2013" "i3 4\&.5\&.1" "i3 Manual"
++.TH "I3\-MIGRATE\-CONFIG" "1" "03/18/2013" "i3 4\&.5\&.1" "i3 Manual"
  .\" -----------------------------------------------------------------
  .\" * Define some portability stuff
  .\" -----------------------------------------------------------------
Index: patches/patch-parser-specs_commands_spec
===================================================================
RCS file: patches/patch-parser-specs_commands_spec
diff -N patches/patch-parser-specs_commands_spec
--- patches/patch-parser-specs_commands_spec    30 Jan 2013 22:19:43 -0000      
1.3
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,33 +0,0 @@
-$OpenBSD: patch-parser-specs_commands_spec,v 1.3 2013/01/30 22:19:43 dcoppa 
Exp $
-
-From cf830f69a2467b79454b6916ccfbbff45abf5418 Mon Sep 17 00:00:00 2001
-From: Steven Allen <ste...@stebalien.com>
-Date: Tue, 29 Jan 2013 08:05:23 +0000
-Subject: Bugfix: Correctly parse `move ... workspace *_on_output`
-
-The parse spec for `move ... workspace ...`  ordered next/prev before
-next_on_output/prev_on_output causing the parser to match next/prev
-before next_on_output/prev_on_output.
-
-Ticket: http://bugs.i3wm.org/report/ticket/941
-
---- parser-specs/commands.spec.orig    Wed Dec 12 00:08:17 2012
-+++ parser-specs/commands.spec Wed Jan 30 22:08:08 2013
-@@ -223,7 +223,7 @@ state RENAME_WORKSPACE_NEW_NAME:
-       -> call cmd_rename_workspace($old_name, $new_name)
- 
- # move <direction> [<pixels> [px]]
--# move [window|container] [to] workspace [<str>|next|prev|current]
-+# move [window|container] [to] workspace 
[<str>|next|prev|next_on_output|prev_on_output|current]
- # move [window|container] [to] output <str>
- # move [window|container] [to] scratchpad
- # move workspace to [output] <str>
-@@ -264,7 +264,7 @@ state MOVE_DIRECTION_PX:
- state MOVE_WORKSPACE:
-   'to'
-       -> MOVE_WORKSPACE_TO_OUTPUT
--  workspace = 'next', 'prev', 'next_on_output', 'prev_on_output', 'current'
-+  workspace = 'next_on_output', 'prev_on_output', 'next', 'prev', 'current'
-       -> call cmd_move_con_to_workspace($workspace)
-   'back_and_forth'
-       -> call cmd_move_con_to_workspace_back_and_forth()
Index: patches/patch-parser-specs_config_spec
===================================================================
RCS file: patches/patch-parser-specs_config_spec
diff -N patches/patch-parser-specs_config_spec
--- patches/patch-parser-specs_config_spec      27 Jan 2013 18:33:20 -0000      
1.3
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,58 +0,0 @@
-$OpenBSD: patch-parser-specs_config_spec,v 1.3 2013/01/27 18:33:20 dcoppa Exp $
-
-Workaround for an error caused by xcb-util-0.3.6
-In file included from src/config_parser.c:49:
-include/GENERATED_config_enums.h:70: error: 'FONT' redeclared as different 
kind of symbol
-/usr/X11R6/include/xcb/xcb_atom.h:60: error: previous declaration of 'FONT' 
was here
-
-Bugfix: parse outputs as "word", not "string", to ignore trailing
-whitespaces (upstream git commit 8bc771ac16362f05d98bf8b29877939d6edb3c91)
-
-Fix bind[code|sym] --release
-(upstream git commit 6dfb08170cb1b0bd1875b80c85fbc225ff22274d)
-
---- parser-specs/config.spec.orig      Wed Dec 12 00:08:17 2012
-+++ parser-specs/config.spec   Sun Jan 27 19:04:57 2013
-@@ -20,7 +20,7 @@ state INITIAL:
-   'set'                                    -> IGNORE_LINE
-   bindtype = 'bindsym', 'bindcode', 'bind' -> BINDING
-   'bar'                                    -> BARBRACE
--  'font'                                   -> FONT
-+  'font'                                   -> WINDOW_FONT
-   'mode'                                   -> MODENAME
-   'floating_minimum_size'                  -> FLOATING_MINIMUM_SIZE_WIDTH
-   'floating_maximum_size'                  -> FLOATING_MAXIMUM_SIZE_WIDTH
-@@ -214,7 +214,7 @@ state WORKSPACE_OUTPUT:
-       -> WORKSPACE_OUTPUT_STR
- 
- state WORKSPACE_OUTPUT_STR:
--  output = string
-+  output = word
-       -> call cfg_workspace($workspace, $output)
- 
- # ipc-socket <path>
-@@ -264,12 +264,14 @@ state EXEC:
-       -> call cfg_exec($exectype, $no_startup_id, $command)
- 
- # font font
--state FONT:
-+state WINDOW_FONT:
-   font = string
-       -> call cfg_font($font)
- 
- # bindsym/bindcode
- state BINDING:
-+  release = '--release'
-+      ->
-   modifiers = 'Mod1', 'Mod2', 'Mod3', 'Mod4', 'Mod5', 'Shift', 'Control', 
'Ctrl', 'Mode_switch'
-       ->
-   '+'
-@@ -313,6 +315,8 @@ state MODE_IGNORE_LINE:
-       -> MODE
- 
- state MODE_BINDING:
-+  release = '--release'
-+      ->
-   modifiers = 'Mod1', 'Mod2', 'Mod3', 'Mod4', 'Mod5', 'Shift', 'Control', 
'Ctrl', 'Mode_switch'
-       ->
-   '+'
Index: patches/patch-src_cfgparse_y
===================================================================
RCS file: patches/patch-src_cfgparse_y
diff -N patches/patch-src_cfgparse_y
--- patches/patch-src_cfgparse_y        13 Dec 2012 12:10:13 -0000      1.7
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,24 +0,0 @@
-$OpenBSD: patch-src_cfgparse_y,v 1.7 2012/12/13 12:10:13 dcoppa Exp $
---- src/cfgparse.y.orig        Wed Dec 12 00:08:17 2012
-+++ src/cfgparse.y     Thu Dec 13 09:45:54 2012
-@@ -328,16 +328,16 @@ static void start_configerror_nagbar(const char *confi
-     /* child */
-     if (configerror_pid == 0) {
-         char *edit_command, *pager_command;
--        sasprintf(&edit_command, "i3-sensible-editor \"%s\" && i3-msg 
reload\n", config_path);
--        sasprintf(&pager_command, "i3-sensible-pager \"%s\"\n", 
errorfilename);
-+        sasprintf(&edit_command, "/usr/bin/vi \"%s\" && i3-msg reload\n", 
config_path);
-+        sasprintf(&pager_command, "/usr/bin/less \"%s\"\n", errorfilename);
-         if (!write_nagbar_script(edit_script_path, edit_command) ||
-             !write_nagbar_script(pager_script_path, pager_command))
-             return;
- 
-         char *editaction,
-              *pageraction;
--        sasprintf(&editaction, "i3-sensible-terminal -e \"%s\"", 
edit_script_path);
--        sasprintf(&pageraction, "i3-sensible-terminal -e \"%s\"", 
pager_script_path);
-+        sasprintf(&editaction, "${X11BASE}/bin/xterm -e \"%s\"", 
edit_script_path);
-+        sasprintf(&pageraction, "${X11BASE}/bin/xterm -e \"%s\"", 
pager_script_path);
-         char *argv[] = {
-             NULL, /* will be replaced by the executable path */
-             "-t",
Index: patches/patch-src_click_c
===================================================================
RCS file: patches/patch-src_click_c
diff -N patches/patch-src_click_c
--- patches/patch-src_click_c   27 Dec 2012 19:58:05 -0000      1.8
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,25 +0,0 @@
-$OpenBSD: patch-src_click_c,v 1.8 2012/12/27 19:58:05 dcoppa Exp $
-
-Fix scrolling on a tabbed titlebar which contains split cons
-(upstream git commit 721fa7bdadac6d7f0c78f8c1eac0e66252ba2dc6)
-
---- src/click.c.orig   Wed Dec 12 00:08:17 2012
-+++ src/click.c        Thu Dec 27 15:26:45 2012
-@@ -211,9 +211,16 @@ static int route_click(Con *con, xcb_button_press_even
-          event->detail == XCB_BUTTON_INDEX_5)) {
-         DLOG("Scrolling on a window decoration\n");
-         orientation_t orientation = (con->parent->layout == L_STACKED ? VERT 
: HORIZ);
-+        /* Focus the currently focused container on the same level that the
-+         * user scrolled on. e.g. the tabbed decoration contains
-+         * "urxvt | i3: V[xterm geeqie] | firefox",
-+         * focus is on the xterm, but the user scrolled on urxvt.
-+         * The splitv container will be focused. */
-+        Con *focused = con->parent;
-+        focused = TAILQ_FIRST(&(focused->focus_head));
-+        con_focus(focused);
-         /* To prevent scrolling from going outside the container (see ticket
-          * #557), we first check if scrolling is possible at all. */
--        Con *focused = con_descend_focused(con->parent);
-         bool scroll_prev_possible = (TAILQ_PREV(focused, nodes_head, nodes) 
!= NULL);
-         bool scroll_next_possible = (TAILQ_NEXT(focused, nodes) != NULL);
-         if (event->detail == XCB_BUTTON_INDEX_4 && scroll_prev_possible)
Index: patches/patch-src_commands_c
===================================================================
RCS file: /cvs/ports/x11/i3/patches/patch-src_commands_c,v
retrieving revision 1.5
diff -u -p -u -p -r1.5 patch-src_commands_c
--- patches/patch-src_commands_c        13 Dec 2012 12:10:13 -0000      1.5
+++ patches/patch-src_commands_c        15 May 2013 18:49:57 -0000
@@ -1,7 +1,7 @@
 $OpenBSD: patch-src_commands_c,v 1.5 2012/12/13 12:10:13 dcoppa Exp $
---- src/commands.c.orig        Wed Dec 12 00:08:17 2012
-+++ src/commands.c     Thu Dec 13 09:45:54 2012
-@@ -182,7 +182,7 @@ void cmd_MIGRATION_start_nagbar(void) {
+--- src/commands.c.orig        Mon Mar 18 22:43:36 2013
++++ src/commands.c     Mon May 13 08:27:23 2013
+@@ -174,7 +174,7 @@ void cmd_MIGRATION_start_nagbar(void) {
      /* child */
      if (migration_pid == 0) {
          char *pageraction;
Index: patches/patch-src_config_c
===================================================================
RCS file: /cvs/ports/x11/i3/patches/patch-src_config_c,v
retrieving revision 1.10
diff -u -p -u -p -r1.10 patch-src_config_c
--- patches/patch-src_config_c  25 Jan 2013 10:34:02 -0000      1.10
+++ patches/patch-src_config_c  15 May 2013 18:49:57 -0000
@@ -1,80 +1,7 @@
 $OpenBSD: patch-src_config_c,v 1.10 2013/01/25 10:34:02 dcoppa Exp $
-
-From 2eb4ed95bcd5f039014db51eb56f0ac411401fa5 Mon Sep 17 00:00:00 2001
-From: Michael Stapelberg <mich...@stapelberg.de>
-Date: Thu, 24 Jan 2013 13:44:01 +0000
-Subject: Bugfix: fix "overlapping" --release key bindings (Thanks phlux)
-
---- src/config.c.orig  Wed Dec 12 00:08:17 2012
-+++ src/config.c       Fri Jan 25 07:41:46 2013
-@@ -31,7 +31,7 @@ void ungrab_all_keys(xcb_connection_t *conn) {
- }
- 
- static void grab_keycode_for_binding(xcb_connection_t *conn, Binding *bind, 
uint32_t keycode) {
--    DLOG("Grabbing %d\n", keycode);
-+    DLOG("Grabbing %d with modifiers %d (with mod_mask_lock %d)\n", keycode, 
bind->mods, bind->mods | XCB_MOD_MASK_LOCK);
-     /* Grab the key in all combinations */
-     #define GRAB_KEY(modifier) \
-         do { \
-@@ -65,14 +65,6 @@ Binding *get_binding(uint16_t modifiers, bool key_rele
-             if (bind->release == B_UPON_KEYRELEASE_IGNORE_MODS)
-                 bind->release = B_UPON_KEYRELEASE;
-         }
--
--        /* Then we transition the KeyRelease bindings into a state where the
--         * modifiers no longer matter for the KeyRelease event so that users
--         * can release the modifier key before releasing the actual key. */
--        TAILQ_FOREACH(bind, bindings, bindings) {
--            if (bind->release == B_UPON_KEYRELEASE && !key_release)
--                bind->release = B_UPON_KEYRELEASE_IGNORE_MODS;
--        }
-     }
- 
-     TAILQ_FOREACH(bind, bindings, bindings) {
-@@ -84,23 +76,33 @@ Binding *get_binding(uint16_t modifiers, bool key_rele
-              !key_release))
-             continue;
- 
--        /* Check if the binding is for a KeyPress or a KeyRelease event */
--        if ((bind->release == B_UPON_KEYPRESS && key_release) ||
--            (bind->release >= B_UPON_KEYRELEASE && !key_release))
--            continue;
--
-         /* If a symbol was specified by the user, we need to look in
-          * the array of translated keycodes for the event???s keycode */
-         if (bind->symbol != NULL) {
-             if (memmem(bind->translated_to,
-                        bind->number_keycodes * sizeof(xcb_keycode_t),
--                       &keycode, sizeof(xcb_keycode_t)) != NULL)
--                break;
-+                       &keycode, sizeof(xcb_keycode_t)) == NULL)
-+                continue;
-         } else {
-             /* This case is easier: The user specified a keycode */
--            if (bind->keycode == keycode)
--                break;
-+            if (bind->keycode != keycode)
-+                continue;
-         }
-+
-+        /* If this keybinding is a KeyRelease binding, it matches the key 
which
-+         * the user pressed. We therefore mark it as
-+         * B_UPON_KEYRELEASE_IGNORE_MODS for later, so that the user can
-+         * release the modifiers before the actual key and the KeyRelease will
-+         * still be matched. */
-+        if (bind->release == B_UPON_KEYRELEASE && !key_release)
-+            bind->release = B_UPON_KEYRELEASE_IGNORE_MODS;
-+
-+        /* Check if the binding is for a KeyPress or a KeyRelease event */
-+        if ((bind->release == B_UPON_KEYPRESS && key_release) ||
-+            (bind->release >= B_UPON_KEYRELEASE && !key_release))
-+            continue;
-+
-+        break;
-     }
- 
-     return (bind == TAILQ_END(bindings) ? NULL : bind);
-@@ -254,7 +256,7 @@ static char *get_config_path(const char *override_conf
+--- src/config.c.orig  Mon Mar 18 22:43:36 2013
++++ src/config.c       Mon May 13 08:27:23 2013
+@@ -256,7 +256,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)
Index: patches/patch-src_config_parser_c
===================================================================
RCS file: patches/patch-src_config_parser_c
diff -N patches/patch-src_config_parser_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_config_parser_c   15 May 2013 18:49:57 -0000
@@ -0,0 +1,14 @@
+$OpenBSD$
+--- src/config_parser.c.orig   Mon Mar 18 22:43:36 2013
++++ src/config_parser.c        Mon May 13 08:32:19 2013
+@@ -1055,8 +1055,8 @@ void parse_file(const char *f) {
+ 
+         char *editaction,
+              *pageraction;
+-        sasprintf(&editaction, "i3-sensible-editor \"%s\" && i3-msg 
reload\n", f);
+-        sasprintf(&pageraction, "i3-sensible-pager \"%s\"\n", errorfilename);
++        sasprintf(&editaction, "/usr/bin/vi \"%s\" && i3-msg reload\n", f);
++        sasprintf(&pageraction, "/usr/bin/less \"%s\"\n", errorfilename);
+         char *argv[] = {
+             NULL, /* will be replaced by the executable path */
+             "-f",
Index: patches/patch-src_handlers_c
===================================================================
RCS file: patches/patch-src_handlers_c
diff -N patches/patch-src_handlers_c
--- patches/patch-src_handlers_c        27 Dec 2012 19:58:05 -0000      1.11
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,19 +0,0 @@
-$OpenBSD: patch-src_handlers_c,v 1.11 2012/12/27 19:58:05 dcoppa Exp $
-
-Bugfix: ignore ConfigureRequests for scratchpad windows
-(upstream git commit 36b106a9d39727b06909113e3f11552f2f1b6abe)
-
---- src/handlers.c.orig        Wed Dec 12 00:08:17 2012
-+++ src/handlers.c     Thu Dec 27 18:09:49 2012
-@@ -349,6 +349,11 @@ static void handle_configure_request(xcb_configure_req
-         }
-         Con *floatingcon = con->parent;
- 
-+        if (strcmp(con_get_workspace(floatingcon)->name, "__i3_scratch") == 
0) {
-+            DLOG("This is a scratchpad container, ignoring 
ConfigureRequest\n");
-+            return;
-+        }
-+
-         Rect newrect = floatingcon->rect;
- 
-         if (event->value_mask & XCB_CONFIG_WINDOW_X) {
Index: patches/patch-src_i3_mk
===================================================================
RCS file: /cvs/ports/x11/i3/patches/patch-src_i3_mk,v
retrieving revision 1.2
diff -u -p -u -p -r1.2 patch-src_i3_mk
--- patches/patch-src_i3_mk     13 Dec 2012 12:10:13 -0000      1.2
+++ patches/patch-src_i3_mk     15 May 2013 18:49:57 -0000
@@ -1,7 +1,7 @@
 $OpenBSD: patch-src_i3_mk,v 1.2 2012/12/13 12:10:13 dcoppa Exp $
---- src/i3.mk.orig     Thu Dec 13 10:15:15 2012
-+++ src/i3.mk  Thu Dec 13 10:19:39 2012
-@@ -82,17 +82,14 @@ install-i3: i3
+--- src/i3.mk.orig     Mon Mar 18 22:43:36 2013
++++ src/i3.mk  Mon May 13 08:27:23 2013
+@@ -73,17 +73,14 @@ install-i3: i3
        $(INSTALL) -d -m 0755 $(DESTDIR)$(PREFIX)/include/i3
        $(INSTALL) -d -m 0755 $(DESTDIR)$(PREFIX)/share/xsessions
        $(INSTALL) -d -m 0755 $(DESTDIR)$(PREFIX)/share/applications
Index: patches/patch-src_key_press_c
===================================================================
RCS file: /cvs/ports/x11/i3/patches/patch-src_key_press_c,v
retrieving revision 1.1
diff -u -p -u -p -r1.1 patch-src_key_press_c
--- patches/patch-src_key_press_c       21 Sep 2012 17:16:14 -0000      1.1
+++ patches/patch-src_key_press_c       15 May 2013 18:49:57 -0000
@@ -1,18 +1,12 @@
 $OpenBSD: patch-src_key_press_c,v 1.1 2012/09/21 17:16:14 dcoppa Exp $
 --- src/key_press.c.orig       Thu Sep 20 14:44:02 2012
 +++ src/key_press.c    Thu Sep 20 14:44:46 2012
-@@ -118,12 +118,12 @@ static void start_commanderror_nagbar(void) {
-     /* child */
-     if (nagbar_pid == 0) {
-         char *pager_command;
--        sasprintf(&pager_command, "i3-sensible-pager \"%s\"\n", 
errorfilename);
-+        sasprintf(&pager_command, "/usr/bin/less \"%s\"\n", errorfilename);
-         if (!write_nagbar_script(pager_script_path, pager_command))
-             return;
- 
-         char *pageraction;
--        sasprintf(&pageraction, "i3-sensible-terminal -e \"%s\"", 
pager_script_path);
-+        sasprintf(&pageraction, "${X11BASE}/bin/xterm -e \"%s\"", 
pager_script_path);
-         char *argv[] = {
-             NULL, /* will be replaced by the executable path */
-             "-t",
+@@ -142,7 +142,7 @@ void handle_key_press(xcb_key_press_event_t *event) {
+     } else {
+         if (command_failed) {
+             char *pageraction;
+-            sasprintf(&pageraction, "i3-sensible-pager \"%s\"\n", 
errorfilename);
++            sasprintf(&pageraction, "/usr/bin/less \"%s\"\n", errorfilename);
+             char *argv[] = {
+                 NULL, /* will be replaced by the executable path */
+                 "-f",
Index: patches/patch-src_main_c
===================================================================
RCS file: /cvs/ports/x11/i3/patches/patch-src_main_c,v
retrieving revision 1.7
diff -u -p -u -p -r1.7 patch-src_main_c
--- patches/patch-src_main_c    27 Dec 2012 19:58:05 -0000      1.7
+++ patches/patch-src_main_c    15 May 2013 18:49:58 -0000
@@ -2,12 +2,8 @@ $OpenBSD: patch-src_main_c,v 1.7 2012/12
 
 OpenBSD lacks POSIX shared memory support (shm_open() and friends)
 
-Bugfix: handle MapRequests sent between i3 registering as a wm and
-handling events
-(upstream git commit 625401d1628757a67a2ab4eeaa68be965683889c)
-
---- src/main.c.orig    Wed Dec 12 00:08:17 2012
-+++ src/main.c Thu Dec 27 19:02:25 2012
+--- src/main.c.orig    Mon Mar 18 22:43:36 2013
++++ src/main.c Mon May 13 08:27:23 2013
 @@ -219,11 +219,13 @@ static void i3_exit(void) {
      ev_loop_destroy(main_loop);
  #endif
@@ -72,7 +68,7 @@ handling events
                  } else if (strcmp(long_options[option_index].name, "restart") 
== 0) {
                      FREE(layout_path);
                      layout_path = sstrdup(optarg);
-@@ -399,11 +409,13 @@ int main(int argc, char *argv[]) {
+@@ -398,11 +408,13 @@ int main(int argc, char *argv[]) {
                  fprintf(stderr, "\t--get-socketpath\n"
                                  "\tRetrieve the i3 IPC socket path from X11, 
print it, then exit.\n");
                  fprintf(stderr, "\n");
@@ -86,7 +82,7 @@ handling events
                  fprintf(stderr, "If you pass plain text arguments, i3 will 
interpret them as a command\n"
                                  "to send to a currently running i3 (like 
i3-msg). This allows you to\n"
                                  "use nice and logical commands, such as:\n"
-@@ -473,8 +485,10 @@ int main(int argc, char *argv[]) {
+@@ -474,8 +486,10 @@ int main(int argc, char *argv[]) {
          return 0;
      }
  
@@ -97,24 +93,3 @@ handling events
  
      /* Try to enable core dumps by default when running a debug build */
      if (is_debug_build()) {
-@@ -777,6 +791,20 @@ int main(int argc, char *argv[]) {
-         xcb_aux_sync(conn);
-         xcb_generic_event_t *event;
-         while ((event = xcb_poll_for_event(conn)) != NULL) {
-+            if (event->response_type == 0) {
-+                free(event);
-+                continue;
-+            }
-+
-+            /* Strip off the highest bit (set if the event is generated) */
-+            int type = (event->response_type & 0x7F);
-+
-+            /* We still need to handle MapRequests which are sent in the
-+             * timespan starting from when we register as a window manager and
-+             * this piece of code which drops events. */
-+            if (type == XCB_MAP_REQUEST)
-+                handle_event(type, event);
-+
-             free(event);
-         }
-         manage_existing_windows(root);
Index: patches/patch-src_manage_c
===================================================================
RCS file: patches/patch-src_manage_c
diff -N patches/patch-src_manage_c
--- patches/patch-src_manage_c  11 Jan 2013 09:44:12 -0000      1.11
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,22 +0,0 @@
-$OpenBSD: patch-src_manage_c,v 1.11 2013/01/11 09:44:12 dcoppa Exp $
-
-From 138e04fd4d50e5f80d445761de86c0c9617916b3 Mon Sep 17 00:00:00 2001
-From: Michael Stapelberg <mich...@stapelberg.de>
-Date: Tue, 01 Jan 2013 15:31:08 +0000
-Subject: Bugfix: Fix for_window moving of assigned windows (Thanks bafain)
-
-This fixes a segfault when creating assigned and to be moved windows
-
---- src/manage.c.orig  Wed Dec 12 00:08:17 2012
-+++ src/manage.c       Fri Jan 11 09:58:48 2013
-@@ -402,6 +402,10 @@ void manage_window(xcb_window_t window, xcb_get_window
-     /* Check if any assignments match */
-     run_assignments(cwindow);
- 
-+    /* 'ws' may be invalid because of the assignments, e.g. when the user uses
-+     * "move window to workspace 1", but had it assigned to workspace 2. */
-+    ws = con_get_workspace(nc);
-+
-     /* If this window was put onto an invisible workspace (via assignments), 
we
-      * render this workspace. It wouldn???t be rendered in our normal code 
path
-      * because only the visible workspaces get rendered.
Index: patches/patch-src_scratchpad_c
===================================================================
RCS file: patches/patch-src_scratchpad_c
diff -N patches/patch-src_scratchpad_c
--- patches/patch-src_scratchpad_c      27 Jan 2013 18:33:20 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,34 +0,0 @@
-$OpenBSD: patch-src_scratchpad_c,v 1.1 2013/01/27 18:33:20 dcoppa Exp $
-
-From 7be5ece6636f7a4c800ab0c5dd6289b38db7b435 Mon Sep 17 00:00:00 2001
-From: Michael Stapelberg <mich...@stapelberg.de>
-Date: Fri, 25 Jan 2013 14:47:43 +0000
-Subject: Bugfix: fix coordinates of scratchpad windows on output changes 
(Thanks badboy)
-
---- src/scratchpad.c.orig      Wed Dec 12 00:08:17 2012
-+++ src/scratchpad.c   Sun Jan 27 19:12:12 2013
-@@ -218,8 +218,24 @@ void scratchpad_fix_resolution(void) {
-             new_height = _lcm(new_height, output->rect.height);
-         }
-     }
-+
-+    Rect old_rect = __i3_output->rect;
-+
-     DLOG("new width = %d, new height = %d\n",
-          new_width, new_height);
-     __i3_output->rect.width = new_width;
-     __i3_output->rect.height = new_height;
-+
-+    Rect new_rect = __i3_output->rect;
-+
-+    if (memcmp(&old_rect, &new_rect, sizeof(Rect)) == 0) {
-+        DLOG("Scratchpad size unchanged.\n");
-+        return;
-+    }
-+
-+    DLOG("Fixing coordinates of scratchpad windows\n");
-+    Con *con;
-+    TAILQ_FOREACH(con, &(__i3_scratch->floating_head), floating_windows) {
-+        floating_fix_coordinates(con, &old_rect, &new_rect);
-+    }
- }
Index: patches/patch-src_x_c
===================================================================
RCS file: /cvs/ports/x11/i3/patches/patch-src_x_c,v
retrieving revision 1.11
diff -u -p -u -p -r1.11 patch-src_x_c
--- patches/patch-src_x_c       27 Dec 2012 19:58:05 -0000      1.11
+++ patches/patch-src_x_c       15 May 2013 18:49:58 -0000
@@ -1,30 +1,10 @@
 $OpenBSD: patch-src_x_c,v 1.11 2012/12/27 19:58:05 dcoppa Exp $
 
-Bugfix: draw right tab border for split containers
-(upstream git commit ae605bdd394bdf83a8015ac626b222fd40e35b04)
-
 OpenBSD lacks POSIX shared memory support (shm_open() and friends)
 
---- src/x.c.orig       Wed Dec 12 00:08:17 2012
-+++ src/x.c    Thu Dec 27 15:19:49 2012
-@@ -505,7 +505,7 @@ void x_draw_decoration(Con *con) {
-                 con->deco_rect.width - 2);
-         free(title);
- 
--        goto copy_pixmaps;
-+        goto after_title;
-     }
- 
-     if (win->name == NULL)
-@@ -533,6 +533,7 @@ void x_draw_decoration(Con *con) {
-             con->deco_rect.x + 2 + indent_px, con->deco_rect.y + 
text_offset_y,
-             con->deco_rect.width - 2 - indent_px);
- 
-+after_title:
-     /* Since we don???t clip the text at all, it might in some cases be 
painted
-      * on the border pixels on the right side of a window. Therefore, we draw
-      * the right border again after rendering the text (and the unconnected
-@@ -1057,8 +1058,10 @@ void x_set_i3_atoms(void) {
+--- src/x.c.orig       Mon Mar 18 22:43:36 2013
++++ src/x.c    Mon May 13 08:27:23 2013
+@@ -1064,8 +1064,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);
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/x11/i3/pkg/PLIST,v
retrieving revision 1.6
diff -u -p -u -p -r1.6 PLIST
--- pkg/PLIST   13 Dec 2012 12:10:14 -0000      1.6
+++ pkg/PLIST   15 May 2013 18:49:58 -0000
@@ -12,6 +12,7 @@ bin/i3-migrate-config-to-v4
 include/i3/
 include/i3/ipc.h
 @man man/man1/i3-config-wizard.1
+@man man/man1/i3-dmenu-desktop.1
 @man man/man1/i3-input.1
 @man man/man1/i3-migrate-config-to-v4.1
 @man man/man1/i3-msg.1

Reply via email to