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 <[email protected]>
-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 <[email protected]>
-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 <[email protected]>
-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 <[email protected]>
-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 <[email protected]>
-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