./wm/i3, Improved dynamic tiling window manager

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 4.12nb3, Package name: i3-4.12nb3, Maintainer: pkgsrc-users

Key features of i3 are correct implementation of Xinerama (workspaces are
assigned to virtual screens, i3 does the right thing when attaching new
monitors), XrandR support (not done yet), horizontal and vertical columns
(think of a table) in tiling. Also, special focus is on writing clean,
readable and well documented code. i3 uses xcb for asynchronous
communication with X11, and has several measures to be very fast.

Please be aware i3 is primarily targeted at advanced users and developers.

Required to run:
[graphics/cairo] [devel/pango] [devel/pcre] [x11/xcursor] [x11/startup-notification] [x11/xcb-util] [x11/libxcb] [devel/libev] [devel/yajl] [x11/xcb-util-keysyms] [x11/xcb-util-wm] [x11/xcb-util-cursor] [x11/libxkbcommon]

Required to build:
[pkgtools/x11-links] [x11/glproto] [x11/renderproto] [x11/xproto] [x11/xf86vidmodeproto] [x11/xf86driproto] [x11/damageproto] [x11/inputproto] [x11/xextproto] [x11/dri2proto] [x11/xcb-proto] [x11/fixesproto4] [pkgtools/cwrappers]

Master sites:

SHA1: 264e682c7404ee8d5da76e3d652c546db1662a2b
RMD160: 65d74a4ddc775d7e5888c72cf72fbb43873dd9e0
Filesize: 964.926 KB

Version history: (Expand)

CVS history: (Expand)

   2017-04-19 13:24:39 by Jonathan Perkin | Files touched by this commit (27)
Log message:
Reset MAINTAINER after tonnerre resigned.
   2017-02-12 07:26:18 by Ryo ONODERA | Files touched by this commit (1451)
Log message:
Recursive revbump from fonts/harfbuzz
   2017-02-06 14:56:14 by Thomas Klausner | Files touched by this commit (1452)
Log message:
Recursive bump for harfbuzz's new graphite2 dependency.
   2016-07-09 08:39:18 by Thomas Klausner | Files touched by this commit (1068) | Package updated
Log message:
Bump PKGREVISION for perl-5.24.0 for everything mentioning perl.
   2016-05-01 11:39:58 by Arnaud Degroote | Files touched by this commit (5) | Package updated
Log message:
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 \ 
    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)
   2015-11-09 12:05:44 by Niclas Rosenvik | Files touched by this commit (2) | Package updated
Log message:
Updated i3 to version 4.11.

Changes to i3 mentioned in the release notes:
Keyboard binding handling has been made more correct, for details see:
https://github.com/i3/i3/commit/bf3cd41 … e56e5f69cc

* docs/debugging: provide instructions on how to debug i3bar
* docs/debugging: added a note about sensitive data
* docs/userguide: add a note to both "exec"s about semicolon and comma
* docs/userguide: quoted strings need to be used, escaping isn't possible
* docs/userguide: make syntax of syntax descriptions consistent
* docs/userguide: recommend "exec exec" for correct signal handling
* docs/userguide: explain i3-config-wizard's behavior
* i3-nagbar: open on the primary screen
* i3-config-wizard: respect XDG config directories
* i3-input: position i3-input at window with input focus
* i3bar: use a reasonable default sep_block_width if a separator_symbol is given
* i3bar: add binding mode indicator
* i3bar: add bindsym command (deprecates wheel_{up,down}_cmd)
* i3bar: make tray padding configurable
* makefiles: respect EXEC_PREFIX and PKG_CONFIG
* added a --toggle switch to mark: "mark [--toggle] <mark>"
* added "focus_on_window_activation" directive
* added "no_focus" directive
* added "move [container|window] [to] mark <str>" command
* added "move [window|container] [to] position mouse|cursor|pointer" \ 
* added "title_format" command
* added "resize set [width] [height]" command
* added "sticky" command (for floating containers)
* added "workspace" criterion
* added "window_type" criterion
* make center coordinates relative to current workspace
* draw marks in window decoration (configure with show_marks)
* only mark a window if only one window is matched
* make floating window mouse handling consistent with tiled windows
* add a --border flag to enable mouse binds to trigger on border click
* set the _NET_WM_STATE_HIDDEN atom on windows that are currently not visible
  due to being in the non-focused tab of a stacked or tabbed container
* ignore InputHint when not in WM_HINTS
* display which config is used in i3 --moreversion
* support config file line continuation
* use WM_SIZE_HINTS when present to set the geometry of floating windows
* add "tray_output primary" to the default config
* use libxkbcommon for translating keysyms, support all XKB groups
* support special value "__focused__" in criteria
* make sure borders are never counted as adjacent to the edge for floating
* support moving dock clients to another output
* let "focus" report success depending on whether a window was matched
* handle _NET_WM_STATE_STICKY (for floating containers)
* make "debuglog on" command persist over restarts
* randr: use root window in case of no randr outputs
* set proper WM_CLASS on frame windows

* i3bar: only detect clicks within the statusline width
* i3bar: fix flickering shortened status bar on other output(s)
* i3bar: send custom-defined command upon click on the non-statusline part of
  i3bar even if workspace_buttons is set to "no".
* i3-config-wizard: Make window size and click coordinates dependent on font
* i3-save-tree: retain "rect" for floating cons
* move urgency hint when moving container
* fix percents when attaching a window to a ws creates a new split con
* cope with non-null-terminated x class properties
* get workspace name when renaming current workspace
* allow single-child non-default layout cons to be moved between outputs
* allow --whole-window right after 'bindsym' within binding modes
* remove windows from the save set when unmapping (fixes problems with e.g.
  owncloud when restarting i3)
* serialize con_id with %p in run_binding()
* initialize workspace rect to the output's upon creation
* mkdirp: do not throw an error if directory exists
* grab all buttons when managing a window to also allow 'bindsym
  --whole-window button4 ...' to work correctly
* properly clear the urgency hint when set by i3
* layout restore: load floating containers correctly
* layout restore: remove remaining criteria when swallowing window
* layout restore: When appending a layout containing a marked container, make
  sure that any other containers with the same mark are unmarked during
  insertion of the new container.
* use the EWMH support window rather than the root window as an input
  focus fallback
* use the focused container to determine the target window_mode when using
  floating mode_toggle
   2015-11-03 00:42:56 by Alistair G. Crooks | Files touched by this commit (90)
Log message:
Add SHA512 digests for distfiles for wm category

Problems found with existing distfiles:

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
   2015-08-15 13:55:26 by Niclas Rosenvik | Files touched by this commit (2) | Package updated
Log message:
Update i3 to version 4.10.3.

Release notes:

* serialize con_id with %p in run_binding() (For FreeBSD)
* ignore InputHint when not in WM_HINTS (fixes e.g. mupdf focus)
* disable physically disconnect RandR outputs
* initialize workspace rect to the output's upon creation
* userguide: quoted strings need to be used, escaping isn’t possible
* mkdirp: do not throw an error if directory exists (fixes layout loss for
  in-place restarts)
* i3bar: fix freeing static strings