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)diff -r1.13 -r1.14 pkgsrc/wm/i3/Makefile
(degroote)
@@ -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 | |||
4 | DISTNAME= i3-4.11 | 4 | DISTNAME= i3-4.12 | |
5 | CATEGORIES= wm | 5 | CATEGORIES= wm | |
6 | MASTER_SITES= http://i3wm.org/downloads/ | 6 | MASTER_SITES= http://i3wm.org/downloads/ | |
7 | EXTRACT_SUFX= .tar.bz2 | 7 | EXTRACT_SUFX= .tar.bz2 | |
8 | 8 | |||
9 | MAINTAINER= tonnerre@NetBSD.org | 9 | MAINTAINER= tonnerre@NetBSD.org | |
10 | HOMEPAGE= http://i3wm.org/ | 10 | HOMEPAGE= http://i3wm.org/ | |
11 | COMMENT= Improved dynamic tiling window manager | 11 | COMMENT= Improved dynamic tiling window manager | |
12 | LICENSE= modified-bsd | 12 | LICENSE= modified-bsd | |
13 | 13 | |||
14 | USE_TOOLS+= gmake bison lex yacc pkg-config perl | 14 | USE_TOOLS+= gmake bison lex yacc pkg-config perl | |
15 | USE_LANGUAGES= c99 | 15 | USE_LANGUAGES= c99 | |
16 | MAKE_JOBS_SAFE= no | 16 | MAKE_JOBS_SAFE= no | |
17 | 17 | |||
18 | PKG_SYSCONFSUBDIR= i3 | 18 | PKG_SYSCONFSUBDIR= i3 | |
19 | INSTALLATION_DIRS= ${PKGMANDIR}/man1 share/doc/${PKGBASE} | 19 | INSTALLATION_DIRS= ${PKGMANDIR}/man1 share/doc/${PKGBASE} | |
20 | 20 | |||
21 | EGDIR= ${PREFIX}/share/examples/i3 | 21 | EGDIR= ${PREFIX}/share/examples/i3 | |
22 | CONF_FILES= ${EGDIR}/config ${PKG_SYSCONFDIR}/config | 22 | CONF_FILES= ${EGDIR}/config ${PKG_SYSCONFDIR}/config | |
23 | CONF_FILES+= ${EGDIR}/config.keycodes ${PKG_SYSCONFDIR}/config.keycodes | 23 | CONF_FILES+= ${EGDIR}/config.keycodes ${PKG_SYSCONFDIR}/config.keycodes | |
24 | 24 | |||
25 | MAKE_ENV+= SYSCONFDIR=${PKG_SYSCONFDIR:C/\/i3//} | 25 | MAKE_ENV+= SYSCONFDIR=${PKG_SYSCONFDIR:C/\/i3//} | |
26 | MAKE_ENV+= DEBUG=0 | 26 | MAKE_ENV+= DEBUG=0 | |
27 | MAKE_ENV+= SHM_SUPPORT=0 | 27 | MAKE_ENV+= SHM_SUPPORT=0 | |
28 | 28 | |||
29 | REPLACE_PERL+= i3-dmenu-desktop | 29 | REPLACE_PERL+= i3-dmenu-desktop | |
30 | REPLACE_PERL+= i3-migrate-config-to-v4 | 30 | REPLACE_PERL+= i3-migrate-config-to-v4 | |
31 | REPLACE_PERL+= i3-save-tree | 31 | REPLACE_PERL+= i3-save-tree | |
32 | 32 | |||
33 | SUBST_CLASSES+= conf | 33 | SUBST_CLASSES+= conf | |
34 | SUBST_STAGE.conf= pre-install | 34 | SUBST_STAGE.conf= pre-install | |
35 | SUBST_MESSAGE.conf= Change src/i3.mk to install conf files in share/examples | 35 | SUBST_MESSAGE.conf= Change src/i3.mk to install conf files in share/examples | |
36 | SUBST_FILES.conf= src/i3.mk | 36 | SUBST_FILES.conf= src/i3.mk | |
37 | SUBST_SED.conf= -e s,$$\(SYSCONFDIR\),$$\(PREFIX\)/share/examples,g | 37 | SUBST_SED.conf= -e s,$$\(SYSCONFDIR\),$$\(PREFIX\)/share/examples,g | |
38 | 38 | |||
39 | post-install: | 39 | post-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" |
@@ -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 $ | |
2 | bin/i3 | 2 | bin/i3 | |
3 | bin/i3-config-wizard | 3 | bin/i3-config-wizard | |
4 | bin/i3-dmenu-desktop | 4 | bin/i3-dmenu-desktop | |
5 | bin/i3-input | 5 | bin/i3-input | |
6 | bin/i3-migrate-config-to-v4 | 6 | bin/i3-migrate-config-to-v4 | |
7 | bin/i3-msg | 7 | bin/i3-msg | |
8 | bin/i3-nagbar | 8 | bin/i3-nagbar | |
9 | bin/i3-save-tree | 9 | bin/i3-save-tree | |
10 | bin/i3-sensible-editor | 10 | bin/i3-sensible-editor | |
11 | bin/i3-sensible-pager | 11 | bin/i3-sensible-pager | |
12 | bin/i3-sensible-terminal | 12 | bin/i3-sensible-terminal | |
13 | bin/i3-with-shmlog | 13 | bin/i3-with-shmlog | |
14 | bin/i3bar | 14 | bin/i3bar |
@@ -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 | |||
3 | SHA1 (i3-4.11.tar.bz2) = 85d04492214bd26c2804dfa83c979fda54b51c08 | 3 | SHA1 (i3-4.12.tar.bz2) = 264e682c7404ee8d5da76e3d652c546db1662a2b | |
4 | RMD160 (i3-4.11.tar.bz2) = afdc6ef9708e797870b4c6c4dedc3b289a7b7d9c | 4 | RMD160 (i3-4.12.tar.bz2) = 65d74a4ddc775d7e5888c72cf72fbb43873dd9e0 | |
5 | SHA512 (i3-4.11.tar.bz2) = 76d45be9006973dd4093fd21ea1c83742b7977c7698e133ce8f9e7826d97d1631fbe6c3ea4a7eb3d989027f98e12738158e72ec450b0df3dddd28f912ff49a4f | 5 | SHA512 (i3-4.12.tar.bz2) = 966f62dbd82c6c70d1344cc61f14f154f3f649ce1b5a5b5168f00f50d598582ef26f5bd5496ea62e13213e45b1c7043f6209c94fcbefe2947fec63284445c1f5 | |
6 | Size (i3-4.11.tar.bz2) = 972929 bytes | 6 | Size (i3-4.12.tar.bz2) = 988084 bytes | |
7 | SHA1 (patch-Makefile) = 919f0e87efa951bde531b9172b74589d3e1c474a | 7 | SHA1 (patch-Makefile) = 919f0e87efa951bde531b9172b74589d3e1c474a | |
8 | SHA1 (patch-src_log.c) = 75ac4d0681d114e0343ddb015292c6c8ee81c1ae | 8 | SHA1 (patch-src_log.c) = 3d2a869a79e9ae851c6044752d1d0b3d2a4b0ee2 | |
9 | SHA1 (patch-src_main.c) = c03fcb12d404fcdfd14c1892b771ee0c7a86b39d | 9 | SHA1 (patch-src_main.c) = 98428db66fed3352ee8f76ad43930b0418079b01 |
@@ -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 | ||
3 | NetBSD 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 | /* |
@@ -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 |