# # spec file for package i3 # # Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: i3 Version: 4.17.1 Release: 1.1 Summary: Tiling window manager License: BSD-3-Clause Group: System/GUI/Other Url: http://i3wm.org/ Source0: http://i3wm.org/downloads/%{name}-%{version}.tar.bz2 Source1: %{name}.png Source2: %{name}.keyring Source3: https://i3wm.org/downloads/%{name}-%{version}.tar.bz2.asc Patch1: i3-desktop_file_valid.patch BuildRequires: asciidoc BuildRequires: autoconf BuildRequires: automake BuildRequires: bison BuildRequires: flex BuildRequires: gcc BuildRequires: libyajl-devel BuildRequires: make BuildRequires: pkgconfig BuildRequires: update-desktop-files BuildRequires: xmlto BuildRequires: pkgconfig(cairo) BuildRequires: pkgconfig(libev) BuildRequires: pkgconfig(libpcre) BuildRequires: pkgconfig(libstartup-notification-1.0) BuildRequires: pkgconfig(pangocairo) BuildRequires: pkgconfig(xcb) BuildRequires: pkgconfig(xcb-cursor) BuildRequires: pkgconfig(xcb-event) BuildRequires: pkgconfig(xcb-icccm) BuildRequires: pkgconfig(xcb-keysyms) BuildRequires: pkgconfig(xcb-randr) BuildRequires: pkgconfig(xcb-util) BuildRequires: pkgconfig(xcb-xinerama) BuildRequires: pkgconfig(xcb-xkb) BuildRequires: pkgconfig(xcb-xrm) BuildRequires: pkgconfig(xkbcommon-x11) # Required for i3-save-tree. Requires: perl-AnyEvent-I3 Recommends: dmenu Recommends: i3lock Recommends: i3status Provides: windowmanager # Upstream First - Policy: # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make # an exception will be silently removed with the next version update. %description i3 is a tiling window manager for X11. It supports tiling, stacking, and tabbing layouts, which it handles dynamically. Configuration is achieved via plain text file and extending i3 is possible using its Unix domain socket and JSON based IPC interface. %package devel Summary: Development headers for i3 Group: Development/Libraries/C and C++ Requires: %{name} %description devel Development headers for the i3 window manager. %prep %setup -q %patch1 -p1 # fix rpmlint E: env-script-interpreter sed -i 's,^#!/usr/bin/env ,#!/usr/bin/,' i3-dmenu-desktop i3-migrate-config-to-v4 i3-save-tree %build autoreconf -fi # Fix Leap 42.x build %if 0%{?suse_version} == 1315 export YAJL_LIBS="-lyajl" YAJL_CFLAGS="-I/usr/include/yajl" %endif %configure make %{?_smp_mflags} V=1 -C *-linux-gnu* %install %make_install -C *-linux-gnu* #%suse_update_desktop_file %{buildroot}%{_datadir}/applications/%{name}.desktop install -D -m 0644 %{SOURCE1} %{buildroot}/%{_datadir}/pixmaps/%{name}.png %files %license LICENSE %doc RELEASE-NOTES-%{version} %{_mandir}/man1/i3* %{_bindir}/i3 %{_bindir}/i3-dump-log %{_bindir}/i3-with-shmlog %{_bindir}/i3bar %{_bindir}/i3-config-wizard %{_bindir}/i3-dmenu-desktop %{_bindir}/i3-input %{_bindir}/i3-migrate-config-to-v4 %{_bindir}/i3-msg %{_bindir}/i3-nagbar %{_bindir}/i3-save-tree %{_bindir}/i3-sensible-editor %{_bindir}/i3-sensible-pager %{_bindir}/i3-sensible-terminal %dir %{_sysconfdir}/i3/ %config %{_sysconfdir}/i3/config %config %{_sysconfdir}/i3/config.keycodes %{_datadir}/xsessions/i3.desktop %{_datadir}/xsessions/i3-with-shmlog.desktop %{_datadir}/applications/i3.desktop %{_datadir}/pixmaps/i3.png %files devel %dir %{_includedir}/i3/ %dir %{_datadir}/doc/%{name} %doc %{_datadir}/doc/%{name}/*.html %{_includedir}/i3/ipc.h %changelog * Sat Sep 21 2019 Arun Persaud - update to version 4.17.1" * Bugfixes + unset _I3_RESTART_FD after restart (fixes crashes on restart) + default config: immediately refresh i3status after volume changes + default config: add XF86AudioMicMute + default config: mention loginctl lock-session alongside xss-lock + default config: use workspace number, not just workspace * Tue Aug 6 2019 antoine.belvire@opensuse.org - Update to version 4.17: * Changes: + config: make binding modes case-sensitive + default config: mention ~/.config/i3/config + default config: start xss-lock, nm-applet, pactl (volume keys) + docs/userguide: update syntax in strip_workspace_* + docs/userguide: add a section about hidpi displays + docs/userguide: document mark --replace + docs/userguide: uncomment and update mark section example + docs/userguide: point out differences of normal/pixel title bars + docs/userguide: clarify which config directives can be used at runtime + docs/userguide: for_window is a directive, not a command + docs/ipc: clarify event/reply types + docs/ipc: mention new i3-ipc++ C++ library + docs/ipc: clarify restart/exit behavior + docs/i3bar-protocol: add markup + man/i3.man: fix config file search order + ipc: make restart command send a reply once restart completed + ipc: use queue for all messages; fixes i3bar issues when switching between workspaces with many windows + i3-dump-log: clarify log message + i3-msg: exit with status code 2 when i3 returns an error + render left and right borders of titles in stacked mode + make swap work with floating windows, fix swap crash + switch to clang-format-6.0 + add input and bounding shapes support (e.g. for the https://github.com/phw/peek screen recorder) + preserve back_and_forth across restarts + allow partial UTF-8 to UCS-2 conversion for better handling of title bar content which cannot be represented (e.g. emoji) when using bitmap pixel fonts + check for duplicate key bindings in i3 -C + i3bar: support transparency via --transparency flag (RGBA) + i3bar: support for user-defined border widths * Bugfixes: + build: correctly depend on glib (for g_utf8_make_valid) + build: fix build when git is configured to show signatures + ipc: report correct workspace in init event after workspace move + ipc: send missing window:focus event + i3bar: correctly recognize click events with text alignment + i3bar: fix running without fd 0 + i3bar: correctly handle button presses on separator + i3 --moreversion: warn when $DISPLAY is unset + i3bar: support disabling click events + release.sh: persist correct version number in docs + accept output names containing spaces (e.g. in assignment) + fix cursor resizing positioning + fix aspect ratio issues (e.g. with mpv) + fix brief focus flicker when renaming workspaces + fix crash when canceling i3 via ctrl+c + fix heap-use-after-free, memory leak + fix focus bugs in enabling/disabling RandR outputs + fix crash with popups when fullscreen is non-leaf + fix crash when moving a second window to mark + fix crash with programs with splash screen + fix atoms when closing inactive workspace + apply title_align to non-leaf containers + layout loading: correctly mark non-leaf containers + truncate wm_name utf8 strings to first zero byte (makes window titles work with buggy clients) + fix crash in workspace moving + export I3SOCK environment variable (again) + fix hanging flaky testcase by using the correct X11 connection + resize: add missing error replies + don't pop up floating windows on the wrong workspace + remove extra \n from errx and die calls * Fri Mar 1 2019 Arun Persaud - 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 * Mon Nov 5 2018 sean@suspend.net - Update to 4.16 * Please see complete list of bugfixes at: https://i3wm.org/downloads/RELEASE-NOTES-4.16.txt * Removed i3-asciidoc-fix.patch (Fixed per bsc#1075764) * Thu Apr 12 2018 tiwai@suse.de - Fix build with asciidoctor (bsc#1075764): i3-asciidoc-fix.patch * Sun Mar 11 2018 9+suse@cirno.systems - 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 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 ” * 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 [→] [workspace] [number] ” * introduce “assign [→] output left|right|up|down|primary|” * introduce a “focus_wrapping” option (subsumes “force_focus_wrapping”) * introduce percentage point resizing for floating containers: “resize set [px | ppt] [px | ppt]” * introduce “resize set ppt 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 * Sat Oct 7 2017 aavindraa@gmail.com - Fix leap 42.x builds - Remove duplicate install for man page - Remove suse specific path from build folder to ease building for other non-SUSE, rpm based linux distributions. * Sun Sep 24 2017 aavindraa@gmail.com - update to 4.14.1 • 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 * Mon Sep 4 2017 aavindraa@gmail.com - update to 4.14 - Remove U_configure_ac.patch (was accepted upstream) * Aside from many bug and documentation fixes, the “swap” command is a notable addition of this release. As is almost tradition at this point, keybinding handling has seen some fixes as well. A noticeable change for users with such monitors is i3’s support for RandR 1.5, which transparently supports the TILE property of first-gen 4K monitors and current 5K or 8K monitors. * Sun Feb 5 2017 jengelh@inai.de - Update description * Tue Dec 27 2016 asarai@suse.com - Add dependency of perl-AnyEvent-I3, which is required for i3-save-tree. * Sun Dec 18 2016 mimi.vx@gmail.com - update to 4.13 - added: U_configure_ac.patch -- fixes autoreconf - refreshed i3-desktop_file_valid.patch * Fri Dec 16 2016 sknorr@suse.com - Fix typo in package summary * Thu Aug 11 2016 fcastelli@suse.com - Add "provides windowmanager" to fix bnc@992972 * Sun Jun 19 2016 asarai@suse.de * Add i3lock to recomends * Fri Jun 17 2016 asarai@suse.de * Correct recommends to fix boo#985443 * Mon Mar 21 2016 fcastelli@suse.com - Added Recommends i3status to fix bnc#971897 * Tue Mar 8 2016 arun@gmx.de - update to version 4.12: * 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 * 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) * Thu Oct 1 2015 fcastelli@suse.com - Update to v4.11 - 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] ” * added “focus_on_window_activation” directive * added “no_focus” directive * added “move [container|window] [to] mark ” 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 * 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 * support _NET_WM_VISIBLE_NAME * make sure borders are never counted as adjacent to the edge for floating containers * 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 - Bugfixes: * 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 * Tue Sep 8 2015 fcastelli@suse.com - Update to v4.10.4: * 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 * Thu Apr 16 2015 fcastelli@suse.com - Update to v4.10.2: * 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. * Tue Apr 7 2015 fcastelli@suse.com - Update to v4.10.1: * 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 - Restore placeholder windows after restarting. - Don’t focus placeholder windows. * Mon Mar 16 2015 fcastelli@suse.com - Update to v4.9.1: - 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 * Mon Mar 2 2015 fcastelli@suse.com - Update to v4.9 - 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 - ewmh: handle _NET_WM_MOVERESIZE requests - implement mouse bindings (e.g. bindsym button3 kill) - add mouse binding --whole-window flag - add mouse binding --release flag - switch to xcb-xkb and libxkbcommon, removing our last direct Xlib dep - make “move [direction]” work with criteria - make “move to position” work with criteria - “workspace ” and “move to workspace ” now look for a workspace starting with number (unless there is a workspace exactly matching that number). I.e., “workspace 4” will go to a workspace called “4: www” unless you have a workspace “4” - “focus ” now focuses floating containers when there are no tiling containers on the destination output - take the motif border into account when calculating floating window geometry - revert “Disable pointer warps when focus_follows_mouse is disabled” as it was unexpected by a number of users. Sorry for the back-and-forth - handle WM_CLASS changes - raise floating windows on “focus ” - align lower line of bar decoration to border width - parse tray_output as a word, not string - allow to validate the config file without X - do not resend focus on click, fixes compatibility problems with some wine or mono apps (e.g. Office 2010) - don't draw borders wider than actual width - prevent workspace change during global fullscreen - extend the fullscreen command (fullscreen [global]) - fix start_application() doc about which shell is used - Bugfixes: - i3-dmenu-desktop: quote path - i3bar: fix a double free when changing color configuration - i3bar: render bars after the first chunk of JSON - i3bar: add a sync call to confirm reparents before exiting (fixes tray restart issues) - i3bar: correctly calculate clicks on i3bar status blocks - i3bar: make click events on status blocks work with 'workspace_buttons no' - retina support: convert logical to physical pixels for default_border_width - retina support: treat everything up to 120 dpi as 96 dpi - don’t set input focus if not accepted (fixes problems with xfce4-notifyd) - don’t focus unmapped container on manage - create the directory for storing the restart state - avoid changing border width when changing containers from tiling to floating - layout saving: properly restore workspace containers - rerender the decoration when the container requires a pixmap and doesn’t have one - don’t set focus in con_set_layout() on invisible workspaces - properly handle windows unsetting WM_TRANSIENT_FOR - use the command parser to properly extract workspace names - copy binding before run (fixes reloads) - revert "Bugfix: Set input focus with last timestamp" - render floating windows during global fullscreen - actually parse client.placeholder - Added i3-4.9.tar.bz2 - Removed i3-4.8.tar.bz2 * Thu Jul 24 2014 seiler@b1-systems.de - removed duplicate patch deskop_file_valid.patch * Wed Jul 23 2014 kmroz@suse.com - 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 equal minimum and maximum size * send last event timestamp with WM_TAKE_FOCUS message * maintain the _NET_CLIENT_LIST property * don’t set input focus _and_ send WM_TAKE_FOCUS * respect CFLAGS in linking command * fix parallel make * reset SIGPIPE handler before executing a command * render default window border width retina-correctly * draw workspace buttons and padded text blocks retina-correctly * render resize windows retina-correctly * delegate click handling to dock clients * send complete config on barconfig_update * implement the window::fullscreen_mode ipc event * make all workspaces starting with "__" internal * improve error messages for i3-internal workspace names * allow _NET_ACTIVE_WINDOW requests to switch workspaces if they indicate that they are a pager (following the spec) * workspace assignments by number * add configuration option for disabling mouse warping * set _NET_ACTIVE_WINDOW to None when none has focus * set X-LightDM-DesktopName in i3.xsession.desktop to fix autostart on Ubuntu * don’t ELOG ipc EOF * replace all printf()s with D?LOG * delete ipc socket when exiting, cleanup tmpdir * default config: switch to DejaVu Sans Mono 8 as default font * cleanup tmpdir when restarting and not using XDG_RUNTIME_DIR * Snap pointer to resize bar on drag resize * Size resizebar according to container size * Fix clang -Wextra except -Wunused-parameter * Respect Motif hint for window decorations - Bugfixes: * create con pixmaps when not needed * i3bar: fix resource leak: statusline_ctx needs to be freed first * tree_split should not split floating cons * fix memory leak with ipc_receive_message * fix invalid reads by setting con->window to NULL in tree_close * fix memory leak when closing windows * fix memory leak when matching window by criteria * fix memory leak when matching window by con_id * ignore dock clients in the resize command * clear wm_size_hints if they are not set * resize window check should check for NULL * fix window event crash with no window * i3-dmenu-desktop: also quote the %%c field code * new_window and new_float can now be used simultaneously with different border widths * fix crash when using multiple for_window statements that move windows * Set input focus with last timestamp * handle windows whose WM_TRANSIENT_FOR points to themselve * don’t overwrite the original size of floating windows when changing border * don’t errnously render floating fullscreen windows during restart * ensure floating windows don’t drop out of fullscreen when restarting * don’t overwrite the window’s geometry after restartingnext * i3bar: Set `mapped` flag on trayclient creation * i3bar: don't show "EOF" status line error - Added i3-4.8.tar.bz2 - Removed i3-4.7.2.tar.bz2 * Tue Jan 28 2014 arun@gmx.de - update to 4.7.2 - changes in 4.7.2: (http://i3wm.org/downloads/RELEASE-NOTES-4.7.2.txt) * install i3-with-shmlog.xsession.desktop to the correct location * OpenBSD currently lacks posix_fallocate() - changes in 4.7.1: (http://i3wm.org/downloads/RELEASE-NOTES-4.7.1.txt) * docs/debugging: explain how to enable logging on the fly * docs/debugging: small cleanups (versions, bzip2) * add i3-with-shmlog.xsession.desktop * only LOG() the DPI when it changes, DLOG() it otherwise * make “move ” properly send workspace focus event * i3bar: set mapped flag on trayclient creation * i3bar: don’t show EOF status line error in favor of exit code - changes in 4.7: (http://i3wm.org/downloads/RELEASE-NOTES-4.7.txt) * docs/userguide: clarify variable parsing * docs/userguide: clarify urgent_workspace * docs/userguide: add proper quoting for rename sample command * docs/userguide: clarify multiple criteria * docs/userguide: userguide: explain the difference between comma and semicolon for command chaining * docs/hacking-howto: update to reflect parser changes * man/i3-dump-log: document -f * switch from libXcursor to xcb-util-cursor * Respect workspace numbers when looking for a free workspace name * Revert "raise fullscreen windows on top of all other X11 windows" * i3bar: Create pixmaps using the real bar height, rather than screen height * Add scratchpad bindings to the default config * Close all children when closing a workspace * i3bar: Add new bar.binding_mode_indicator configuration * Improve error message when $XDG_RUNTIME_DIR is not writable * libi3/font: Draw the text at the expected place * libi3/font: Set DPI for the pango context * Add ability to escape out of a mouse-resize operation * Do not resize/reposition floating containers when moving them to scratchpad * i3-nagbar: Set button inner-width to the width of the label * Assigned windows open urgent when not visible * i3bar: Only configure tray on own outputs * Command 'move ' moves across outputs * i3bar: Handle DestroyNotify events * i3bar: Realign tray clients on map/unmap notify * i3bar: Group child processes for signalling * i3bar: Print error message when status_command fails * Remove references to PATH_MAX macro for GNU/Hurd * update root geometry on output changes for “fullscreen global” * don’t flatten tabbed/stacked containers * Fix handling of new windows with WM_STATE_FULLSCREEN * correctly recognize assigned windows as urgent * Fix keyboard and mouse resize in nested containers * Reply to _NET_REQUEST_FRAME_EXTENTS correctly * Fix command parser: resizing tiling windows * Fix output retrieval for floating cons * Use _PATH_BSHELL to ensure using a bourne shell * Instead of crashing, return DRAG_ABORT on UnmapNotify from drag_pointer * Remove-child callback skips output content cons * ignore _NET_ACTIVE_WINDOW for scratchpad windows * Thu Aug 8 2013 pascal.bleser@opensuse.org - update to 4.6: http://i3wm.org/downloads/RELEASE-NOTES-4.6.txt * compatibility was improved, in particular for Mathematica and Java applications * i3-nagbar should work with more terminal emulators than before * Mon Apr 8 2013 pascal.bleser@opensuse.org - update to 4.5.1: This is a bugfix release, and all users are advised to upgrade. It fixes an issue which would cause i3 to crash when dragging floating windows from one display to another. * Wed Mar 13 2013 seiler@b1-systems.de - update to v4.5: http://i3wm.org/downloads/RELEASE-NOTES-4.5.txt * i3-dmenu-desktop: don’t add “geany” if “Geany” is already present * i3-dmenu-desktop: strip newlines from dmenu ≥ 4.4 * i3-dmenu-desktop: skip files with broken utf8 but warn about it * i3-dmenu-desktop: skip broken files (no/empty Exec=) but warn about them * i3-dmenu-desktop: List filenames of .desktop files * i3-dmenu-desktop: remove %%i from commandline * i3-nagbar: Work around terminals not supporting -e with quoted arguments * i3-nagbar: use the same font as configured for i3 * i3bar: set _NET_SYSTEM_TRAY_COLORS for symbolic icons (gtk3+) * i3bar: don’t use X11 borders to avoid overlapping in hide mode * i3bar: separator color via config; separator width and on/off via ipc * i3bar: Allow min_width of a block in i3bar to be a string * i3-msg: parse command replies and display errors nicely if there were * errors * Draw 1px tab separators left/right instead of 2px on the right only * Render tree before destroying X11 containers upon unmap * scratchpad show: move visible scratchpad window from another workspace to * focused workspace instead of doing nothing * ignore MotionNotify events generated while warping the pointer * Allow X11 servers which do not support the XKB extension. * remove the urgency indicator when a window is closed * wrap when moving containers to outputs with direction * scratchpad_show: focus unfocused scratchpad window * Split workspace instead of changing orientation * scratchpad: always auto center on 'scratchpad show' if window hasn't been * repositioned by the user * Add a new IPC event for changes on windows. * config: accept “smart” as popup_during_fullscreen parameter * Add support for _NET_WM_STATE_DEMANDS_ATTENTION. * Obey WM_SIZE_HINTS's resize increments in floating mode * Do not move focus if a container is moved across outputs * Sun Dec 16 2012 pascal.bleser@opensuse.org - update to 4.4: http://i3wm.org/downloads/RELEASE-NOTES-4.4.txt * add i3-dmenu-desktop, a dmenu wrapper which parses application .desktop files and executes them * i3.xsession.desktop is now standards-compliant * implement "move container to workspace back_and_forth" * display appropriate cursors when resizing or moving floating windows * implement variable border widths for pixel/normal * grab keys with all permutations of lock and numlock * focus windows when middle-clicking * keycode default config: s/bindcode/bindsym/ * implement smart popup_during_fullscreen mode * i3bar: add current binding mode indicator * Mon Oct 1 2012 seiler@b1-systems.de - updated to latest release 4.3 changelog: http://i3wm.org/downloads/RELEASE-NOTES-4.3.txt - added new Build Requires to get i3 work * cairo-devel * glib2-devel * pango-devel - removed obsolete i3-wsbar and his perl dependencies * Sat Apr 28 2012 seiler@b1-systems.de - updated version to 4.2 - added icon for i3 in /usr/share/pixmaps/ - added a patch to prevent the desktop file error ERROR: No sufficient Category definition: /home/abuild/rpmbuild/BUILDROOT/i3-4.2-0.x86_64//usr/share/applications/i3.desktop * Tue Apr 24 2012 seiler@b1-systems.de - added dependency to get i3-wsbar run - added dependency to get the build work again in Factory * Tue Apr 24 2012 seiler@b1-systems.de - installed missing i3-wsbar from source package to provide a more customizable bar http://i3wm.org/docs/wsbar.html * Tue Mar 27 2012 gregkh@opensuse.org - handle breakage in Factory, this will automatically be fixed when xcb-keyboard comes back properly. * Wed Feb 8 2012 gregkh@opensuse.org - update to version 4.1.2 * Bugfix: Don’t lose focus on fullscreen windows when another window gets moved to that workspace * Bugfix: Open new windows in the correct place when assignments match * Bugfix: Fix assignments of floating windows to (yet) unused workspaces * Bugfix: Either use SetInputFocus *or* send WM_TAKE_FOCUS, not both * Bugfix: Respect WM_HINTS.input for WM_TAKE_FOCUS clients * Bugfix: Setup the _NET_SUPPORTING_WM_CHECK atom in a standards-compliant way * Bugfix: Only ignore EnterNotify events after UnmapNotifies from managed windows * Bugfix: Force a new sequence number after UnmapNotify * Bugfix: Position floating windows exactly where their geometry specified * Bugfix: Fix coordinates when the rect of an output changes * Mon Nov 28 2011 cfarrell@suse.com - SPDX format (http://www.spdx.org/licenses) * Sun Nov 27 2011 gregkh@suse.de - fix up i3-devel Requires dependancy * Sat Nov 26 2011 gregkh@suse.de - add copyright comments to spec file. * Wed Nov 23 2011 prusnak@opensuse.org - spec cleanup * Tue Nov 22 2011 gregkh@suse.com - update to 4.1 release * Fri Jul 22 2011 ruiabreuferreira@gmail.com - New package for i3