Subject: CVS commit: pkgsrc/wm/i3
From: Jonathan Perkin
Date: 2018-10-19 17:21:54
Message id: 20181019152154.BFE21FBEE@cvs.NetBSD.org

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] \ 
<workspace>”
  • introduce “assign <criteria> [→] output \ 
left|right|up|down|primary|<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 \ 
windows
  • 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
    once
  • 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
    programmatically
  • 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

Files:
RevisionActionfile
1.25modifypkgsrc/wm/i3/Makefile
1.12modifypkgsrc/wm/i3/distinfo
1.4modifypkgsrc/wm/i3/patches/patch-src_main.c