- Update to 4.23:
* docs/userguide: add an example for negative lookaheads
* docs/userguide: fix default binding mistake
* docs/userguide: add link to tiling drag
* docs/hacking-howto: update build instructions, startup
* docs/debugging: add note about ptrace
* man/i3: remove outdated I3SOCK description
* all: build with -D_FORTIFY_SOURCE=3
* i3bar: fix configuring bars on “output nonprimary”
* i3bar: implement workspace button protocol
* add “focus workspace” command
* allow switching workspaces when in global fullscreen mode
* exec: single-fork instead of double-forking
* share X11 graphics context (GC) globally
* fix regression with i3bar's output nonprimary
* fix top border resizing on tiling windows
* fix workspace not being focused on title bar scroll
* fix mouse bindings in modes
* fix crashes when using machine criterion
* fix for_window not working with urgency flags
* motif hints: respect maximum border style in append_layout
OBS-URL: https://build.opensuse.org/request/show/1121027
OBS-URL: https://build.opensuse.org/package/show/X11:windowmanagers/i3?expand=0&rev=99
- Update to version 4.19:
* Changes
- userguide: explain button6 and button7 (scroll wheel right/left)
- ipc: always include the marks property (even if empty)
- ipc: introduce GET_BINDING_STATE command
- ipc: clarify workspace name field semantics
- ipc: document parse_error COMMAND reply field
- i3bar: launch using exec to avoid leaving useless shell process
- i3bar: make dock client order deterministic (sorted by class/instance) as a
side effect, i3bars without an explicit bar-id will be sorted according
to their definition order in the config file
- i3bar: update config when necessary (reduces redraws on bar mode changes)
- i3bar: add coordinates relative to the current output in i3bar click events
- i3bar: add “nonprimary” output option
- i3bar: set WM_CLASS instance to bar id
- i3-input: add different exit codes for when i3-input fails
- i3-dmenu-desktop: Support symlinks in search path
- pod2html: render without stylesheet by default
- introduce “tiling_from” and ”floating_from” criteria
- mention rofi in default config file
- allow ppt values in move direction and move position commands
- allow matching on empty properties like class, title, etc.
* Bug fixes:
- i3-nagbar: Use _PATH_BSHELL to ensure using a bourne shell
- i3bar: fix hang when pausing/resuming bar program
- i3bar: fix crash on invalid JSON input
- ensure client windows have a size of at least 1px after resize
- correctly handle overlapping decorations
- limit workspace numbers within 0..INT32_MAX
- fix a bug with tiling resize inside floating container
- correctly handle mouse resize in fullscreen containers by
not propagating $mod+right click to fullscreen clients
- do not try to resize fullscreen and non-fullscreen windows
- do not focus floating windows changing workspace with ConfigureNotify
- set _NET_DESKTOP_VIEWPORT after randr changes
- fix a bug with i3-nagbar not starting after it has already started once
- fix conflict when moving parent of fullscreen window to workspace
- fix named workspace assignments on output changes
- fix named workspace assignment precedence on workspace renames
- fix windows getting swallowed more than once
- erase i3 --moreversion progress line before overwriting
- fix test case 180-fd-leaks when running on Fedora
- fix crash in `focus next sibling`
- fix moving tiling windows out of the scratchpad
- fix crash on invalid JSON input in stored layouts
- fix monitor change during/with i3 restart by moving
content for non-existing output containers
- Move build to meson since autotools build was removed
- Remove support for EOL Leap 42.x
OBS-URL: https://build.opensuse.org/request/show/848763
OBS-URL: https://build.opensuse.org/package/show/X11:windowmanagers/i3?expand=0&rev=84
- update to version 4.16.1:
* Truncate wm_name utf8 strings to first zero byte (fixes window
title corruption)
* Apply title_align to non-leaf containers Additionally, marks
will now display for non-leaf containers.
* attach_to_workspace: set new parent before tree_render (fixes a
heap-use-after-free)
* Use ipc queue for all messages (fixes an i3bar crash)
* Fix crash with popups when fullscreen is non-leaf
* Fix: render_con shows floating containers on wrong workspace
OBS-URL: https://build.opensuse.org/request/show/680623
OBS-URL: https://build.opensuse.org/package/show/X11:windowmanagers/i3?expand=0&rev=70
- Use %license macro
- Fix rpmlint E: env-script-interpreter
- Add GPG signature
- Update to 4.15
Changes:
* 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
Fixes:
* 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
OBS-URL: https://build.opensuse.org/request/show/585418
OBS-URL: https://build.opensuse.org/package/show/X11:windowmanagers/i3?expand=0&rev=64
- Changes in i3 v4.11:
* 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” command
* 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
OBS-URL: https://build.opensuse.org/package/show/X11:windowmanagers/i3?expand=0&rev=38
* Bugfixes:
- revert: disable physically disconnected RandR outputs
- i3-msg: strdup getenv() result before freeing
- Changes of v4.10.3:
* Bugfixes:
- 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
OBS-URL: https://build.opensuse.org/package/show/X11:windowmanagers/i3?expand=0&rev=36
* Bugfixes:
- Cope with non-null-terminated x class properties.
- Get workspace name when renaming current workspace (fixes crash).
- Use a reasonable default sep_block_width if a separator_symbol is given.
- Remove windows from the save set when unmapping.
OBS-URL: https://build.opensuse.org/package/show/X11:windowmanagers/i3?expand=0&rev=34
* Changes in i3 v4.10.1:
- i3bar: cut long statuslines from the left
- i3bar: add support for the short_text property
- i3-sensible-terminal: launch i3-nagbar when no terminal is found
- i3-config-wizard: switch modifier on key up/down
- docs/layout-saving: added a troubleshooting section
- docs: degender all the terms
- Revert "Workspace command number selection"
- don’t parse blocks as markup by default
- Allow escaping backslashes in commands.
- switch default font from “DejaVu Sans Mono 8” to “monospace 8”, which is
- typically a synonym, except for users who prefer a different font.
- When renaming a workspace, look for assignments and move the renamed
- workspace to the appropriate output.
- i3-save-tree: make --workspace optional by defaulting to the focused
workspace
- Allow nop command without argument
* Bugfixes
- i3bar: buffer the statusline to avoid flickering
- i3bar: fix click events for workspace buttons with long statusline
- i3bar: set correct initial position when reconfiguring
- i3bar: reconfigure strut partial on reload
- i3-nagbar: fix sizes/positioning on hi-dpi displays
- i3-config-wizard: fix sizes/positioning on hi-dpi displays
- i3-input: fix sizes/positioning on hi-dpi displays
- Fix scrolling in window decoration with hidden cursor.
- workspace rename focus mismatch
- Don’t overwrite border width when already set (placeholders).
- fix a segfault during config file validation
OBS-URL: https://build.opensuse.org/package/show/X11:windowmanagers/i3?expand=0&rev=32
- Bugfixes:
- i3bar: fix incorrect y-offset for text
- fix key bindings on big-endian platforms
- fix key bindings using Mode_switch
- fix keyboard layout change detection
- revert "Handle WM_CHANGE_STATE requests for iconic state" (fixes problems
with application windows disappearing, like SDL-based games when switching
workspaces)
- insert id-based match at HEAD, not TAIL (fixes window swallowing not
working when the criteria match the placeholder window)
- improve error messages on failing commands
- replace ~ in filepath when calling append_layout
- properly error out when the layout file cannot be read
OBS-URL: https://build.opensuse.org/package/show/X11:windowmanagers/i3?expand=0&rev=30
- Changes (http://i3wm.org/downloads/RELEASE-NOTES-4.9.txt):
- docs/ipc: use an actual event type
- docs/debugging: use logs.i3wm.org
- docs/testsuite: add hint to use xvfb-run
- testcases: use Xephyr instead of XDummy
- i3-sensible-*: use command -v (built-in) instead of which(1)
- i3.xsession.desktop: set DesktopNames (which gdm uses)
- i3-save-tree: interpret commandline parameters as utf-8
- i3-save-tree: add 'mark' as allowed key to i3-save-tree output
- i3bar-protocol: ensure align = left is the default
- i3bar: implement custom mouse wheel commands
- i3bar: improve error message when a full_text property is missing
- i3bar: respect the urgency flag on status blocks
- i3bar: inset the urgent background of a status block for consistency with
- workspace buttons
- i3bar: suspend the child when bars are fully obscured
- i3bar: use Pango markup
- ipc: implement the window::close event
- ipc: implement the window::move event
- ipc: implement the window::floating event
- ipc: implement the window::urgent event
- ipc: set ws reply "num" member to -1 when named
- ipc: add deco_rect property to con in ipc response
- ipc: include workspace con in workspace event
- ewmh: implement property _NET_NUMBER_OF_DESKTOPS
- ewmh: implement property _NET_DESKTOP_VIEWPORT
- ewmh: implement property _NET_DESKTOP_NAMES
- ewmh: handle _NET_CURRENT_DESKTOP requests
- ewmh: handle _NET_CLOSE_WINDOW requests
OBS-URL: https://build.opensuse.org/package/show/X11:windowmanagers/i3?expand=0&rev=28
- Update to v4.8
- Changes: (http://i3wm.org/downloads/RELEASE-NOTES-4.8.txt)
* docs/ipc: reformat/update list of ipc libraries
* docs/ipc: fix current_workspace outputs reply member
* docs/ipc: update ipc COMMAND reply docs
* docs/userguide: fix multiple typos
* docs/debugging: use bzip2
* docs/debugging: explain how to enable logging on the fly
* docs/debugging: merge the debug symbols/backtrace section
* docs/debugging: recommend i3 --moreversion
* man/i3-nagbar.man: update manpage to document all options
* i3bar: Amend status line error 127 message
* i3bar: don’t kill watcher on EOF, leads to better error messages
* i3bar: send mouse wheel events to child too
* i3bar: do click handling and tray padding retina-correctly
* i3bar: render separators render-correctly
* i3bar: reinit colors on barconfig update
* i3bar: Don't start child unless status_command
* i3bar: implement custom workspace numbers config
* resize floating windows when right-clicking the decoration
* enable shmlog when invoked as i3-with-shmlog
* Disable pointer warps when focus_follows_mouse is disabled
* Movement into a branch considers movement direction
* set ewmh desktop properties on startup
* handle ButtonPress events with child != XCB_NONE
* implement layout restoring
* only LOG() the DPI when it changes, DLOG() it otherwise
* send IPC window events for focus and title changes
* these types of windows are now floating by default:
dialog, utility, toolbar and splash windows, modal windows, windows with an
OBS-URL: https://build.opensuse.org/request/show/242013
OBS-URL: https://build.opensuse.org/package/show/X11:windowmanagers/i3?expand=0&rev=25