./wm/i3, Improved dynamic tiling window manager

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

Branch: CURRENT, Version: 4.15nb2, Package name: i3-4.15nb2, 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] [lang/perl5] [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] [x11/xcb-util-xrm]

Required to build:
[textproc/xmlto] [textproc/asciidoc] [pkgtools/x11-links] [x11/xcb-proto] [x11/fixesproto4] [pkgtools/cwrappers] [x11/xorgproto]

Master sites:

SHA1: 906126f61e62c53903a5ad53cb9288c6fc517a4b
RMD160: ef2ca62a8bc1dffb1a191c00a96586557216dbe6
Filesize: 1168.226 KB

Version history: (Expand)

CVS history: (Expand)

   2018-11-14 23:22:54 by Klaus Klein | Files touched by this commit (1332) | Package updated
Log message:
Revbump after cairo 1.16.0 update.
   2018-11-12 04:53:16 by Ryo ONODERA | Files touched by this commit (1532)
Log message:
Recursive revbump from hardbuzz-2.1.1
   2018-10-19 17:21:54 by Jonathan Perkin | Files touched by this commit (3) | Package updated
Log message:
i3: Update to 4.15 and fix build on SunOS.

 ┌───────────────────────── \ 
 │ Changes in i3 v4.15        │
 └───────────────────────── \ 

  • build: AnyEvent::I3 moved to the i3 repository, so that its main consumer,
    the i3 testsuite, can use new features immediately (such as the tick event,
    in this case).
  • docs/hacking-howto: promote “using git / sending patches” and “how to
    build?” sections
  • docs/i3bar-protocol: document that pango markup only works with pango fonts
  • docs/ipc: document focus, nodes, floating_nodes
  • docs/ipc: urgent: complete the list of container types
  • docs/ipc: document how to detect i3’s byte order in memory-safe languages
  • docs/ipc: document the GET_CONFIG request
  • docs/userguide: fix formatting issue
  • docs/userguide: explain why Mod4 is usually preferred as a modifier
  • docs/userguide: use more idiomatic english (full-size, so-called)
  • docs/userguide: switch from removed goto command to focus
  • docs/userguide: mention <criteria> in focus
  • docs/userguide: remove outdated 2013 last-modified date
  • dump-asy: add prerequisite checks
  • dump-asy: fix warnings about empty container names
  • i3-dump-log: enable shmlog on demand
  • i3-sensible-terminal: add “kitty”, “guake”, “tilda”
  • i3-sensible-editor: add “gvim”
  • i3bar: add --release flag for bindsym in bar blocks
  • i3bar: add relative coordinates in JSON for click events
  • ipc: rename COMMAND to RUN_COMMAND for consistency
  • ipc: implement tick event for less flaky tests
  • ipc: add error reply to “focus <window_mode>”
  • ipc: send success response for nop
  • default config: add $mod+r to toggle resize mode
  • default config: use variables for workspace names to avoid repetition
  • introduce “assign <criteria> [→] [workspace] [number] \ 
  • introduce “assign <criteria> [→] output \ 
  • introduce a “focus_wrapping” option (subsumes “force_focus_wrapping”)
  • introduce percentage point resizing for floating containers:
    “resize set <width> [px | ppt] <height> [px | ppt]”
  • introduce “resize set <width> ppt <height> ppt” for tiling \ 
  • rename “new_window” and “new_float” to “default_border” and
    “default_floating_border” (the old names keep working)
  • output names (e.g. “DP2”) can now be used as synonyms for monitor names
    (e.g. “Dell UP2414Q”).
  • the “swap” command now works with fullscreen windows
  • raise floating windows to top when they are focused programmatically
  • _NET_ACTIVE_WINDOW: invalidate focus to force SetInputFocus call
  • make focus handling consistent when changing focus between outputs
  • round non-integer Xft.dpi values
  • tiling resize: remove minimum size

 ┌───────────────────────── \ 
 │ Bugfixes                   │
 └───────────────────────── \ 

  • i3bar: fix various memory leaks
  • i3bar: fix crash when no status_command is provided
  • fix uninitialized variables in init_dpi_end, tree_restore
  • fix incorrectly set up signal handling
  • fix “swap” debug log message
  • fix crash when specifying invalid con_id for “swap”
  • fix crash upon restart with window marks
  • fix crash when config file does not end in a newline
  • fix crash in append_layout
  • fix crash in layout toggle command
  • fix crash when switching monitors
  • fix use-after-free in randr_init error path
  • fix move accidentally moving windows across outputs
  • fix crash when floating window is tiled while being resized
  • fix out-of-bounds memory read
  • fix memory leak when config conversion fails
  • fix layout toggle split, which didn’t work until enabling tabbed/stack mode
  • move XCB event handling into xcb_prepare_cb
  • avert endless loop on unexpected EOF in ipc messages
  • perform proper cleanup for signals with Term action
  • don’t match containers in the scratchpad with criteria
  • fix “workspace show” related issues
  • fix config file conversion with long variable names
  • fix config file conversion memory initialization
  • prevent access of freed workspace in _workspace_show
  • disable fullscreen when required when programmatically focusing windows
  • free last_motion_notify
  • don’t raise floating windows when focused because of focus_follows_mouse
  • correctly set EWMH atoms when closing a workspace
  • don’t raise floating windows when workspace is shown
  • keep focus order when encapsulating workspaces
  • validate layout files before loading

 ┌───────────────────────── \ 
 │ Changes in i3 v4.14.1      │
 └───────────────────────── \ 

  • docs/hacking-howto: promote contributing-related sections
  • docs/ipc: tree reply: document focus, nodes and floating_nodes
  • docs/ipc: urgent: complete the list of container types
  • docs/ipc: document how to detect i3’s byte order in memory-safe languages
  • docs/ipc: document the (existing since v4.14) GET_CONFIG request
  • docs/userguide: document that i3 can accept RandR output names
  • include AnyEvent-I3 in dist tarballs
  • append_layout: validate JSON before loading
  • move: fix erratic behavior with single container child jumping outputs
  • ipc: rename COMMAND to RUN_COMMAND for consistency
  • replace http:// with https:// where applicable

 ┌───────────────────────── \ 
 │ Bugfixes                   │
 └───────────────────────── \ 

  • fix various memory errors
  • fix output and tray_output related issues with RandR 1.5
  • avoid use of uninitialized in init_dpi_end
  • properly initialize sigaction struct
  • swap: invert condition to log debug message in correct situation
  • swap: fix crash on invalid container id
  • fix a crash when restarting with marks
  • i3bar: fix a memory leak
  • test workers: re-seed random number generator after fork
  • tests: run environment-modifying 533-randr15.t at the very end
  • tests: unflake t/257-keypress-group1-fallback.t
  • tests: unflake t/263-edge-borders.t
  • tests: unflake tests by not starting i3bar
  • fix a crash with configfiles which do not end in a newline.
  • append_layout: free incomplete containers when JSON parsing fails
  • layout toggle: fix crash with invalid parameters
  • outputs: avert crash by fixing focus when creating output containers
  • correctly raise floating videos to the top when switching between windows
  • fix crash when a floating window is tiled while being resized via mouse

 ┌───────────────────────── \ 
 │ Changes in i3 v4.14        │
 └───────────────────────── \ 

  • build: link libiconv explicitly for systems which need it
  • build: move AnyEvent-I3 into the i3 repository
  • docs/hacking-howto: add compilation instructions
  • docs/ipc: add missing cases to the workspace event
  • docs/ipc: document the “primary” field of the OUTPUTS reply
  • docs/ipc: replace Go IPC library with a maintained one
  • docs/ipc: add link to the ocaml-i3ipc library
  • docs/ipc: fix invalid trailing commas in JSON examples
  • docs/layout-saving: add section about troubleshooting window titles
  • docs/testsuite: update for the move to autotools
  • docs/userguide: clarify the move command syntax
  • docs/userguide: correct “Esc” to “Escape”
  • docs/userguide: clarify focus_follows_mouse behavior
  • docs/userguide: expand on combining “workspace number” with a name
  • docs/userguide: mention the magic v4 config marker
  • man/i3.man: correct configuration lookup order
  • i3bar, i3-config-wizard, i3-nagbar: use the Xft.dpi setting (see 4.13 notes)
  • i3bar: restart bar status command on reload if it changed
  • i3bar: treat left/right scrolling like up/down scrolling
  • i3bar: accept “primary” in the “output” configuration directive
  • i3-input: do not set input focus, grabbing the keyboard suffices
  • i3-msg: return an exit code when missing the -t argument
  • i3-sensible-editor: correct “mc-edit” to “mcedit”
  • i3-sensible-terminal: add lilyterm, tilix, terminix, konsole
  • respect SYSCONFDIR when looking for the default xdg directory
  • use RandR 1.5 to query screens, supporting the TILE property commonly used
    by multi-stream transport (MST) monitors, such as first-gen 4K monitors, or
    current 5K and 8K monitors
  • respect minimum size hints for floating windows
  • support the _NET_MOVERESIZE_WINDOW client message (for e.g. wmctrl)
  • validate binding modes are not defined more than once
  • only react to the last ExposeEvent in a series of events
  • add the shutdown IPC event (upon “restart” or “exit”)
  • treat left/right scrolling like up/down scrolling (on window titles)
  • make the “layout toggle” command optionally take a sequence of layouts
  • introduce --exclude-titlebar flag for mouse bindings
  • introduce the “swap” command
  • support the primary output in the “focus” and “move” commands
  • compare keybinding modifiers for equality, not subset
  • introduce the GET_CONFIG ipc request (i3-msg -t get_config)
  • start i3-nagbar when encountering invalid set statements
  • focus windows upon ConfigureWindow requests with stack-mode=Above

 ┌───────────────────────── \ 
 │ Bugfixes                   │
 └───────────────────────── \ 

  • i3bar: correct the color codes used for statusline errors
  • i3bar: avoid freeze after VisibilityNotify
  • i3-dmenu-desktop: fix quoted command names
  • i3-dmenu-desktop: avoid adding items multiple times
  • fix various X11 resource leaks, memory leaks and memory errors
  • fix IPC success reply for the workspace command
  • report errors during logfile creation
  • fix the signal handler being blank
  • display marks and the title even if the title is empty (for title_format)
  • fix changing workspace layout from stacked/tabbed for empty workspaces
  • add numlock fallback to “bindcode” where necessary
  • fix a crash on restart when using marks
  • fix renaming workspaces when the new name starts with “to”
  • respect dont_warp flag when moving containers
   2018-08-22 11:48:07 by Thomas Klausner | Files touched by this commit (3558)
Log message:
Recursive bump for perl5-5.28.0
   2018-04-16 16:35:28 by Thomas Klausner | Files touched by this commit (1284)
Log message:
Recursive bump for new fribidi dependency in pango.
   2018-03-12 12:18:01 by Thomas Klausner | Files touched by this commit (2155)
Log message:
Recursive bumps for fontconfig and libzip dependency changes.
   2018-01-07 14:04:44 by Roland Illig | Files touched by this commit (583)
Log message:
Fix indentation in buildlink3.mk files.

The actual fix as been done by "pkglint -F */*/buildlink3.mk", and was
reviewed manually.

There are some .include lines that still are indented with zero spaces
although the surrounding .if is indented. This is existing practice.
   2017-08-19 12:57:55 by Niclas Rosenvik | Files touched by this commit (1)
Log message:
Add xmlto build dependency to i3 since it is used to build the docs.
While here sort the buildlink3 entries.