Sun May 1 09:39:58 2016 UTC ()
Update to 4.12

Changes from upstream since 4.11

  • use https instead of git/http, update contact information, add GPG key
  • docs/hacking-howto: fix old cfgparse.y reference to config_parser.c
  • docs/ipc: added link to i3ipcpp (C++ library)
  • docs/userguide: clarify no_focus documentation
  • docs/userguide: add documentation for binding modes
  • docs/userguide: fix rendering of __focused__
  • docs/userguide: improve placement of explicit IDs for headings
  • docs/userguide: make rendering of key bindings more consistent
  • docs/userguide: clarify quoting of “exec” commands
  • man/i3-nagbar: fix example invocation
  • man/i3: add “floating window” to terminology
  • i3-sensible-*: quote variables correctly
  • i3-sensible-editor: add neovim
  • i3-sensible-terminal: add termit, st
  • i3bar: use cairo for all drawing operations
  • i3bar: support per-statusblock border and background colors
  • i3bar: support different bar background colors depending on whether the bar
    is on the focused output or not
  • i3bar: multiple tray_output directives on the same bar are now supported
  • i3bar: support disabling the modifier by specifying “modifier none”
  • use cairo for all drawing operations
  • fix a number of memory leaks, thanks to AddressSanitizer
  • no_focus is now suppressed for the first window of a workspace
  • “workspace next/prev” now looks for numbered workspaces after reaching the
    last workspace (it used to incorrectly only look at named workspaces)
  • multiple marks can now be set on a single window (but a mark can still only
    be present on one window at a time)
  • the “unmark” command now supports criteria
  • the “con_id” criterion now supports the special value __focused__
  • the “workspace” command now supports the --no-auto-back-and-forth parameter
  • the “move window to workspace” command now supports the
    --no-auto-back-and-forth parameter
  • the “resize grow|shrink width|height” command now works for a nested split
    in the same direction
  • support _NET_WM_USER_TIME’s special 0 value, indicating that a window
    should not be focused
  • use 32-bit visual by default if available. This reduces graphical glitches
    when using transparency (which is still not officially supported)
  • the “move position center” command now supports criteria
  • specifying invalid match criteria now results in an error instead of
    blindly applying the operation to the currently focused window
  • allow mouse bindings to run on the root window
  • support matching _NET_WM_WINDOW_TYPE_NOTIFICATION in criteria
  • all criteria are now matched, even when con_id or con_mark are given (used
    to be a special case)
  • allow the “id” criterion to be specified in any base recognized by
    strtol(), not only base 10
  • non-true color displays are now supported again (e.g. the Raspberry Pi)
  • the “split” command now has a “toggle” option
  • the additional color class “decoration_border” was added
  • title_format is now stored on containers instead of windows, allowing the
    use of title_format on split containers
  • On OpenBSD, i3 now uses pledge(2)
  • support _NET_WM_DESKTOP (for pager applications like gnome-panel)
  • floating workspaces are no longer available (they were not supported for a
    while now)
  • floating windows now carry the I3_FLOATING_WINDOW atom so that tools like
    compositors can be configured to match on floating windows

Bugfixes from upstream since 4.11

  • i3bar: display short text only on the monitor(s) on which it is necessary
  • i3bar: explicitly set cursor using libxcb-cursor if available
  • i3bar: fix XEMBED messages
  • i3-nagbar: explicitly set cursor using libxcb-cursor if available
  • duplicated keybindings are now also detected when one uses bindcode but the
    other(s) use(s) bindsym
  • keymap fallback for servers without XKB (e.g. TightVNC) has been added
  • using pango markup in mode names is now optional, fixing a regression in i3
    v4.11 where modes which contained characters such as “<” would break.
  • moving windows to a workspace by specifying a mark now works
  • the root output is now used when any RandR request fails (for x2go)
  • assignments are now marked as run before executing them, preventing endless
    loops/crashes when assignments cause another assignment evaluation
  • splitting/floating a dock container no longer crashes i3
  • correctly compare modifier mask when identifying keybindings (fixes
    bindings which use --release)
  • no longer fail config validation when there is no newline at the end of
    the config file
  • scrollwheel buttons are now only grabbed when necessary, allowing the use
    of “bindsym button*” or scrolling in windows without focusing them (in case
    no “bindsym button*” is present)
  • parse con_id in base 16 (affected FreeBSD only)
  • fix crash when opening a large number of windows
  • reject empty swallow definitions to avoid crashes
  • don’t remove SubstructureRedirect event mask temporarily (fixes i3bar
    stopping after system suspend)
  • move urgent flag before killing the parent to avoid a crash
  • correctly validate “kill” command to avoid crashing when “kill” is invoked
    on workspace containers
  • actually accept the documented “workspace” token as an alternative to “→”
    in assign statements
  • remove _NET_WM_STATE on withdrawn windows to comply with the spec
  • the “border” command now uses logical pixels (relevant for hi-dpi displays)
  • “tray_output primary” does not properly fall back and hence was removed
    from the default config again
  • correctly determine focused workspace when moving workspace to output
  • revert to default binding mode before reloading the config file
  • correctly interpret _MOTIF_WM_HINTS (endianness-dependent)


(degroote)
diff -r1.13 -r1.14 pkgsrc/wm/i3/Makefile
diff -r1.3 -r1.4 pkgsrc/wm/i3/PLIST
diff -r1.9 -r1.10 pkgsrc/wm/i3/distinfo
diff -r1.3 -r1.4 pkgsrc/wm/i3/patches/patch-src_log.c
diff -r1.1.1.1 -r1.2 pkgsrc/wm/i3/patches/patch-src_main.c

cvs diff -r1.13 -r1.14 pkgsrc/wm/i3/Makefile (expand / switch to unified diff)

--- pkgsrc/wm/i3/Makefile 2015/11/09 11:05:44 1.13
+++ pkgsrc/wm/i3/Makefile 2016/05/01 09:39:58 1.14
@@ -1,43 +1,43 @@ @@ -1,43 +1,43 @@
1# $NetBSD: Makefile,v 1.13 2015/11/09 11:05:44 nros Exp $ 1# $NetBSD: Makefile,v 1.14 2016/05/01 09:39:58 degroote Exp $
2# 2#
3 3
4DISTNAME= i3-4.11 4DISTNAME= i3-4.12
5CATEGORIES= wm 5CATEGORIES= wm
6MASTER_SITES= http://i3wm.org/downloads/ 6MASTER_SITES= http://i3wm.org/downloads/
7EXTRACT_SUFX= .tar.bz2 7EXTRACT_SUFX= .tar.bz2
8 8
9MAINTAINER= tonnerre@NetBSD.org 9MAINTAINER= tonnerre@NetBSD.org
10HOMEPAGE= http://i3wm.org/ 10HOMEPAGE= http://i3wm.org/
11COMMENT= Improved dynamic tiling window manager 11COMMENT= Improved dynamic tiling window manager
12LICENSE= modified-bsd 12LICENSE= modified-bsd
13 13
14USE_TOOLS+= gmake bison lex yacc pkg-config perl 14USE_TOOLS+= gmake bison lex yacc pkg-config perl
15USE_LANGUAGES= c99 15USE_LANGUAGES= c99
16MAKE_JOBS_SAFE= no 16MAKE_JOBS_SAFE= no
17 17
18PKG_SYSCONFSUBDIR= i3 18PKG_SYSCONFSUBDIR= i3
19INSTALLATION_DIRS= ${PKGMANDIR}/man1 share/doc/${PKGBASE} 19INSTALLATION_DIRS= ${PKGMANDIR}/man1 share/doc/${PKGBASE}
20 20
21EGDIR= ${PREFIX}/share/examples/i3 21EGDIR= ${PREFIX}/share/examples/i3
22CONF_FILES= ${EGDIR}/config ${PKG_SYSCONFDIR}/config 22CONF_FILES= ${EGDIR}/config ${PKG_SYSCONFDIR}/config
23CONF_FILES+= ${EGDIR}/config.keycodes ${PKG_SYSCONFDIR}/config.keycodes 23CONF_FILES+= ${EGDIR}/config.keycodes ${PKG_SYSCONFDIR}/config.keycodes
24 24
25MAKE_ENV+= SYSCONFDIR=${PKG_SYSCONFDIR:C/\/i3//} 25MAKE_ENV+= SYSCONFDIR=${PKG_SYSCONFDIR:C/\/i3//}
26MAKE_ENV+= DEBUG=0 26MAKE_ENV+= DEBUG=0
27MAKE_ENV+= SHM_SUPPORT=0 27MAKE_ENV+= SHM_SUPPORT=0
28 28
29REPLACE_PERL+= i3-dmenu-desktop 29REPLACE_PERL+= i3-dmenu-desktop
30REPLACE_PERL+= i3-migrate-config-to-v4  30REPLACE_PERL+= i3-migrate-config-to-v4
31REPLACE_PERL+= i3-save-tree 31REPLACE_PERL+= i3-save-tree
32 32
33SUBST_CLASSES+= conf 33SUBST_CLASSES+= conf
34SUBST_STAGE.conf= pre-install 34SUBST_STAGE.conf= pre-install
35SUBST_MESSAGE.conf= Change src/i3.mk to install conf files in share/examples 35SUBST_MESSAGE.conf= Change src/i3.mk to install conf files in share/examples
36SUBST_FILES.conf= src/i3.mk 36SUBST_FILES.conf= src/i3.mk
37SUBST_SED.conf= -e s,$$\(SYSCONFDIR\),$$\(PREFIX\)/share/examples,g 37SUBST_SED.conf= -e s,$$\(SYSCONFDIR\),$$\(PREFIX\)/share/examples,g
38 38
39post-install: 39post-install:
40 ${INSTALL_MAN} ${WRKSRC}/man/*.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/ 40 ${INSTALL_MAN} ${WRKSRC}/man/*.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/
41 ${INSTALL_DATA} ${WRKSRC}/LICENSE ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} 41 ${INSTALL_DATA} ${WRKSRC}/LICENSE ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
42 42
43.include "../../devel/libev/buildlink3.mk" 43.include "../../devel/libev/buildlink3.mk"

cvs diff -r1.3 -r1.4 pkgsrc/wm/i3/PLIST (expand / switch to unified diff)

--- pkgsrc/wm/i3/PLIST 2015/04/05 17:02:51 1.3
+++ pkgsrc/wm/i3/PLIST 2016/05/01 09:39:58 1.4
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1@comment $NetBSD: PLIST,v 1.3 2015/04/05 17:02:51 nros Exp $ 1@comment $NetBSD: PLIST,v 1.4 2016/05/01 09:39:58 degroote Exp $
2bin/i3 2bin/i3
3bin/i3-config-wizard 3bin/i3-config-wizard
4bin/i3-dmenu-desktop 4bin/i3-dmenu-desktop
5bin/i3-input 5bin/i3-input
6bin/i3-migrate-config-to-v4 6bin/i3-migrate-config-to-v4
7bin/i3-msg 7bin/i3-msg
8bin/i3-nagbar 8bin/i3-nagbar
9bin/i3-save-tree 9bin/i3-save-tree
10bin/i3-sensible-editor 10bin/i3-sensible-editor
11bin/i3-sensible-pager 11bin/i3-sensible-pager
12bin/i3-sensible-terminal 12bin/i3-sensible-terminal
13bin/i3-with-shmlog 13bin/i3-with-shmlog
14bin/i3bar 14bin/i3bar

cvs diff -r1.9 -r1.10 pkgsrc/wm/i3/distinfo (expand / switch to unified diff)

--- pkgsrc/wm/i3/distinfo 2015/11/09 11:05:44 1.9
+++ pkgsrc/wm/i3/distinfo 2016/05/01 09:39:58 1.10
@@ -1,9 +1,9 @@ @@ -1,9 +1,9 @@
1$NetBSD: distinfo,v 1.9 2015/11/09 11:05:44 nros Exp $ 1$NetBSD: distinfo,v 1.10 2016/05/01 09:39:58 degroote Exp $
2 2
3SHA1 (i3-4.11.tar.bz2) = 85d04492214bd26c2804dfa83c979fda54b51c08 3SHA1 (i3-4.12.tar.bz2) = 264e682c7404ee8d5da76e3d652c546db1662a2b
4RMD160 (i3-4.11.tar.bz2) = afdc6ef9708e797870b4c6c4dedc3b289a7b7d9c 4RMD160 (i3-4.12.tar.bz2) = 65d74a4ddc775d7e5888c72cf72fbb43873dd9e0
5SHA512 (i3-4.11.tar.bz2) = 76d45be9006973dd4093fd21ea1c83742b7977c7698e133ce8f9e7826d97d1631fbe6c3ea4a7eb3d989027f98e12738158e72ec450b0df3dddd28f912ff49a4f 5SHA512 (i3-4.12.tar.bz2) = 966f62dbd82c6c70d1344cc61f14f154f3f649ce1b5a5b5168f00f50d598582ef26f5bd5496ea62e13213e45b1c7043f6209c94fcbefe2947fec63284445c1f5
6Size (i3-4.11.tar.bz2) = 972929 bytes 6Size (i3-4.12.tar.bz2) = 988084 bytes
7SHA1 (patch-Makefile) = 919f0e87efa951bde531b9172b74589d3e1c474a 7SHA1 (patch-Makefile) = 919f0e87efa951bde531b9172b74589d3e1c474a
8SHA1 (patch-src_log.c) = 75ac4d0681d114e0343ddb015292c6c8ee81c1ae 8SHA1 (patch-src_log.c) = 3d2a869a79e9ae851c6044752d1d0b3d2a4b0ee2
9SHA1 (patch-src_main.c) = c03fcb12d404fcdfd14c1892b771ee0c7a86b39d 9SHA1 (patch-src_main.c) = 98428db66fed3352ee8f76ad43930b0418079b01

cvs diff -r1.3 -r1.4 pkgsrc/wm/i3/patches/patch-src_log.c (expand / switch to unified diff)

--- pkgsrc/wm/i3/patches/patch-src_log.c 2014/08/09 19:14:01 1.3
+++ pkgsrc/wm/i3/patches/patch-src_log.c 2016/05/01 09:39:58 1.4
@@ -1,35 +1,32 @@ @@ -1,35 +1,32 @@
1$NetBSD: patch-src_log.c,v 1.3 2014/08/09 19:14:01 degroote Exp $ 1--- src/log.c.orig 2016-03-06 15:17:18.000000000 +0000
2 2+++ src/log.c 2016-05-01 10:51:32.392955298 +0000
3NetBSD does not support shm_open (3), disable the code in this case 3@@ -116,6 +116,7 @@
4 4 *
5--- src/log.c.orig 2014-06-15 17:12:43.000000000 +0000 5 */
6+++ src/log.c 2014-08-09 20:52:23.000000000 +0000 6 void open_logbuffer(void) {
7@@ -108,6 +108,7 @@ 7+#if !defined(__NetBSD__)
 8 /* Reserve 1% of the RAM for the logfile, but at max 25 MiB.
8 * For 512 MiB of RAM this will lead to a 5 MiB log buffer. 9 * For 512 MiB of RAM this will lead to a 5 MiB log buffer.
9 * At the moment (2011-12-10), no testcase leads to an i3 log 10 * At the moment (2011-12-10), no testcase leads to an i3 log
10 * of more than ~ 600 KiB. */ 11@@ -166,6 +167,7 @@
11+#if !defined(__NetBSD__) 
12 long long physical_mem_bytes; 
13 #if defined(__APPLE__) 
14 int mib[2] = {CTL_HW, HW_MEMSIZE}; 
15@@ -163,6 +164,7 @@ 
16 logwalk = logbuffer + sizeof(i3_shmlog_header); 12 logwalk = logbuffer + sizeof(i3_shmlog_header);
17 loglastwrap = logbuffer + logbuffer_size; 13 loglastwrap = logbuffer + logbuffer_size;
18 store_log_markers(); 14 store_log_markers();
19+#endif /* !defined(__NetBSD__) */ 15+#endif /* !defined(__NetBSD__) */
20 } 16 }
21  17
22 /* 18 /*
23@@ -170,10 +172,12 @@ 19@@ -173,11 +175,13 @@
24 * 20 *
25 */ 21 */
26 void close_logbuffer(void) { 22 void close_logbuffer(void) {
27+#if !defined(__NetBSD__) 23+#if !defined(__NetBSD__)
28 close(logbuffer_shm); 24 close(logbuffer_shm);
29 shm_unlink(shmlogname); 25 shm_unlink(shmlogname);
 26 free(shmlogname);
30 logbuffer = NULL; 27 logbuffer = NULL;
31 shmlogname = ""; 28 shmlogname = "";
32+#endif 29+#endif /* !defined(__NetBSD__) */
33 } 30 }
34  31
35 /* 32 /*

cvs diff -r1.1.1.1 -r1.2 pkgsrc/wm/i3/patches/Attic/patch-src_main.c (expand / switch to unified diff)

--- pkgsrc/wm/i3/patches/Attic/patch-src_main.c 2013/02/12 23:25:35 1.1.1.1
+++ pkgsrc/wm/i3/patches/Attic/patch-src_main.c 2016/05/01 09:39:58 1.2
@@ -1,27 +1,28 @@ @@ -1,27 +1,28 @@
1$NetBSD: patch-src_main.c,v 1.1.1.1 2013/02/12 23:25:35 tonnerre Exp $ 1--- src/main.c.orig 2016-05-01 10:53:25.236039259 +0000
2 2+++ src/main.c 2016-05-01 10:54:26.269651048 +0000
3--- src/main.c.orig 2012-12-11 23:08:17.000000000 +0000 3@@ -166,11 +166,13 @@
4+++ src/main.c 
5@@ -218,12 +218,6 @@ static void i3_exit(void) { 
6 #if EV_VERSION_MAJOR >= 4 
7 ev_loop_destroy(main_loop); 4 ev_loop_destroy(main_loop);
8 #endif 5 #endif
9- 6
10- if (*shmlogname != '\0') { 7+#if !defined(__NetBSD__)
11- fprintf(stderr, "Closing SHM log \"%s\"\n", shmlogname); 8 if (*shmlogname != '\0') {
12- fflush(stderr); 9 fprintf(stderr, "Closing SHM log \"%s\"\n", shmlogname);
13- shm_unlink(shmlogname); 10 fflush(stderr);
14- } 11 shm_unlink(shmlogname);
 12 }
 13+#endif /* !defined(__NetBSD__) */
15 } 14 }
16  15
17 /* 16 /*
18@@ -233,9 +227,6 @@ static void i3_exit(void) { 17@@ -180,9 +182,11 @@
19 * 18 *
20 */ 19 */
21 static void handle_signal(int sig, siginfo_t *info, void *data) { 20 static void handle_signal(int sig, siginfo_t *info, void *data) {
22- if (*shmlogname != '\0') { 21+#if !defined(__NetBSD__)
23- shm_unlink(shmlogname); 22 if (*shmlogname != '\0') {
24- } 23 shm_unlink(shmlogname);
 24 }
 25+#endif /* !defined(__NetBSD__) */
25 raise(sig); 26 raise(sig);
26 } 27 }
27  28