]>
git.sur5r.net Git - i3/i3/log
Albert Safin [Thu, 8 Nov 2018 23:19:08 +0000 (06:19 +0700)]
Add input and bounding shapes support (#2742)
Basic idea: if the window has a shape, set the parent container shape as
the union of the window shape and the shape of the frame borders.
Co-authored-by: Uli Schlachter <psychon@znc.in>
Albert Safin [Fri, 9 Nov 2018 11:43:25 +0000 (18:43 +0700)]
Log window id in state_for_frame()
Michael Stapelberg [Wed, 28 Nov 2018 16:38:16 +0000 (17:38 +0100)]
switch to clang-format-6.0 (#3533)
Ingo Bürk [Sat, 17 Nov 2018 15:08:22 +0000 (16:08 +0100)]
Merge pull request #3432 from orestisf1993/aspect-ratio
Fix aspect ratio bugs
Ingo Bürk [Thu, 15 Nov 2018 11:57:59 +0000 (12:57 +0100)]
Merge pull request #3524 from orestisf1993/regress-randr
randr.c: Fix regression with focusing NULL container
Orestis Floros [Thu, 15 Nov 2018 11:48:14 +0000 (13:48 +0200)]
randr.c: Fix regression with focusing NULL container
This was introduced in
db3b9e41874400958cf85b461a5d1ff04a398fa3 which
removed the NULL check for next.
Fixes #3523.
Ingo Bürk [Tue, 13 Nov 2018 09:24:11 +0000 (10:24 +0100)]
Merge pull request #3521 from c-edw/feature/StripWorkspaceDocs
Update userguide docs for strip_workspace_*.
Connor E [Tue, 13 Nov 2018 08:46:16 +0000 (08:46 +0000)]
Update userguide docs for strip_workspace_*.
Orestis Floros [Mon, 1 Oct 2018 23:15:59 +0000 (02:15 +0300)]
Re-render floating cons alone when possible
Orestis Floros [Mon, 1 Oct 2018 23:13:51 +0000 (02:13 +0300)]
render_con: Get rid of render_fullscreen argument
Only true for the fullscreen container and doesn't affect any of its
children. Thus, we can get the same result by checking
->fullscreen_mode.
Orestis Floros [Mon, 1 Oct 2018 16:47:33 +0000 (19:47 +0300)]
Fix aspect ratio bugs
- ICCCM says: > If a base size is not provided, the minimum size is to
be used in its place and vice versa.
i3 didn't obey the "vice versa" part. Min size and base size are both
saved without replacements in window_update_normal_hints,
floating_check_size makes the needed replacements if either was not
provided.
- Aspect ratio is now saved correctly in manage_window because
window_update_normal_hints is called.
- i3 didn't save the aspect ratio if the window conformed the given
aspect ratio range when handle_normal_hints was called. If the window
was resized to a size outside of the given bounds, i3 didn't correct it.
- Aspect ratio now affects only tiling windows, like the rest of the
normal size hints
- The aspect ratio calculation is now done without a loop
A real life example of how these changes affect the workflow:
An mpv window, when playing a video, sets its min == max aspect ratio
during mapping. i3 ignored these hints. When resized, the window's
aspect ratio was not preserved. With this commit, resizing floating mpv
windows will always preserve the aspect ratio.
Orestis Floros [Mon, 1 Oct 2018 22:52:31 +0000 (01:52 +0300)]
floating_resize: Use uint32_t
Orestis Floros [Mon, 1 Oct 2018 12:42:53 +0000 (15:42 +0300)]
floating_check_size: Use window variable
Ingo Bürk [Sat, 10 Nov 2018 21:12:01 +0000 (22:12 +0100)]
Merge pull request #3484 from xzfc/3476-export-i3sock
Export I3SOCK
Ingo Bürk [Sat, 10 Nov 2018 20:56:34 +0000 (21:56 +0100)]
Merge pull request #3397 from orestisf1993/randr-enable-disable
Fix bugs in enabling & disabling randr outputs
Ingo Bürk [Fri, 9 Nov 2018 20:01:57 +0000 (21:01 +0100)]
Merge pull request #3516 from orestisf1993/truncate-utf8
Truncate wm_name utf8 strings to first zero byte
Orestis Floros [Fri, 9 Nov 2018 17:41:31 +0000 (19:41 +0200)]
Truncate wm_name utf8 strings to first zero byte
Fixes #3515
Orestis [Thu, 8 Nov 2018 22:31:06 +0000 (00:31 +0200)]
Merge pull request #3511 from aksel/247-gaps-resize-fix
For resizing, convert pixel diff to percentage, based on parent.
aksel [Wed, 7 Nov 2018 21:49:04 +0000 (22:49 +0100)]
For resizing, convert pixel diff to percentage, based on parent.
Previously, it first calculated one of the containers' next percentage, and then subtracted the previous percentage to find the actual change.
Now it directly calculates the change, and subtracts and adds the change to the two affected containers.
Added util function con_rect_size_in_orientation.
Removed px_resize_to_percent; inlined, using con_rect_size_in_orientation.
Also, prematurely return when pixel diff is 0, as no action is necessary.
This is related to [this issue on i3-gaps](https://github.com/Airblader/i3/issues/247).
Ingo Bürk [Wed, 7 Nov 2018 13:13:41 +0000 (13:13 +0000)]
Merge pull request #2954 from orestisf1993/swap-for-floating
Rewrite con_swap to work only with queue operations
Ingo Bürk [Wed, 7 Nov 2018 07:11:21 +0000 (07:11 +0000)]
Merge pull request #3508 from orestisf1993/load_layout-marks
load_layout: Correctly mark non-leaf containers
Orestis Floros [Tue, 6 Nov 2018 23:06:20 +0000 (01:06 +0200)]
load_layout: Correctly mark non-leaf containers
Example problematic layout:
{
"layout": "splith",
"marks": ["H1"],
"nodes": [
{
"swallows": [
{
"class": "^a$"
}
]
}
]
}
Since the marks were added to the json_node during end_map, the
container that ended up getting the "H1" mark was the child instead of
the parent.
Ingo Bürk [Mon, 5 Nov 2018 21:32:54 +0000 (22:32 +0100)]
Merge pull request #3482 from hamishimac/next
Do not assume STDIN_FILENO is available for input from child
Ingo Bürk [Mon, 5 Nov 2018 21:32:27 +0000 (22:32 +0100)]
Merge pull request #3504 from Foxboron/morten/i3-man-path
Change config order in manpage
Ingo Bürk [Mon, 5 Nov 2018 21:31:35 +0000 (22:31 +0100)]
Merge pull request #3485 from xzfc/3412-outer-border
Draw outer header borders for all layouts
Orestis [Mon, 5 Nov 2018 18:45:59 +0000 (20:45 +0200)]
Merge pull request #3505 from stapelberg/release-docs
release.sh: save docs first
Michael Stapelberg [Mon, 5 Nov 2018 18:32:29 +0000 (19:32 +0100)]
release.sh: save docs first
Otherwise, as @orestisf1993 pointed out, the saved documentation will have the
wrong version number.
Albert Safin [Sat, 27 Oct 2018 11:32:25 +0000 (18:32 +0700)]
Draw outer header borders for all layouts
Morten Linderud [Mon, 5 Nov 2018 13:09:01 +0000 (14:09 +0100)]
Change config order in manpage
This brings the headline for the configuration files inline with the
recent move to XDG directories.
Signed-off-by: Morten Linderud <morten@linderud.pw>
Ingo Bürk [Sun, 4 Nov 2018 14:53:15 +0000 (15:53 +0100)]
Merge pull request #3499 from orestisf1993/docs
userguide: break long comment
Michael Stapelberg [Sun, 4 Nov 2018 14:24:10 +0000 (15:24 +0100)]
travis: move (failing) ubuntu build from xenial to bionic
Ubuntu’s apt started refusing to load package files from unauthenticated
repositories, but the package for which we did that (xcb-xrm) is available in
newer versions of Ubuntu, so I just removed that part altogether.
Apparently this has been broken since April, and nobody noticed :-/
Michael Stapelberg [Sun, 4 Nov 2018 14:07:24 +0000 (15:07 +0100)]
update release.sh for the 4.16 release
Michael Stapelberg [Sun, 4 Nov 2018 13:55:50 +0000 (14:55 +0100)]
update debian/changelog
Michael Stapelberg [Sun, 4 Nov 2018 13:47:46 +0000 (14:47 +0100)]
Merge branch 'release-4.16'
Michael Stapelberg [Sun, 4 Nov 2018 13:47:46 +0000 (14:47 +0100)]
Set non-git version to 4.16-non-git.
Michael Stapelberg [Sun, 4 Nov 2018 13:47:34 +0000 (14:47 +0100)]
release i3 4.16
Orestis Floros [Sun, 4 Nov 2018 10:21:52 +0000 (12:21 +0200)]
userguide: break long comment
Orestis [Sat, 3 Nov 2018 12:39:49 +0000 (14:39 +0200)]
Update ewmh focused only when new focus is different (#3496)
Fixes #3495.
Orestis [Sat, 3 Nov 2018 08:42:50 +0000 (10:42 +0200)]
Merge pull request #3497 from stapelberg/clang-format
switch to clang-format-4.0
Michael Stapelberg [Sat, 3 Nov 2018 08:16:16 +0000 (09:16 +0100)]
switch to clang-format-4.0
clang-format-3.8 is old enough to have vanished from Debian testing, which we
use for our CI.
Ingo Bürk [Mon, 29 Oct 2018 13:59:25 +0000 (14:59 +0100)]
Merge pull request #3486 from orestisf1993/regress-move-floating
Fix regression with moving floating windows
Orestis Floros [Mon, 29 Oct 2018 13:46:28 +0000 (15:46 +0200)]
Fix regression with moving floating windows
This fixes a regression introduced in
6d983b5 . Consider 2 outputs:
fake-0: workspace '1'
fake-1: workspaces '2','3'
Workspace 1 focused, workspace 2 visible.
Open a floating window in 1 and move it to 3. Now, the floating window
appears in workspace 2 and disappears once focus is switched to
that workspace.
Instead of focusing 'old_focus' which might refer to a container in a
different output, we should restore focus by focusing the previously
focused workspace of the output.
Ingo Bürk [Fri, 26 Oct 2018 18:46:53 +0000 (20:46 +0200)]
Merge pull request #3483 from soumya92/next
Update badges in README
Soumya [Fri, 26 Oct 2018 16:58:04 +0000 (09:58 -0700)]
Update badges in README
issuestats.com seems to have moved on, using shields.io instead.
Hamish Macdonald [Fri, 26 Oct 2018 13:31:43 +0000 (09:31 -0400)]
Do not assume STDIN_FILENO is available for input from child
Albert Safin [Fri, 26 Oct 2018 08:40:59 +0000 (15:40 +0700)]
Export I3SOCK (#3476)
Ingo Bürk [Fri, 26 Oct 2018 07:49:35 +0000 (09:49 +0200)]
Merge pull request #3465 from soumya92/next
Add "modifiers" to events sent by i3bar
Soumya [Thu, 25 Oct 2018 16:05:17 +0000 (09:05 -0700)]
Add "modifiers" to events sent by i3bar
Orestis [Wed, 24 Oct 2018 19:57:31 +0000 (22:57 +0300)]
Merge pull request #3473 from soumya92/pango-font-alignment
Always center text vertically
Orestis [Tue, 23 Oct 2018 15:41:11 +0000 (18:41 +0300)]
Merge pull request #3475 from Gravemind/fix-i3bar-re-hidden-on-any-modifier
i3bar: Fix i3bar re-hidden by any modifier (#3474)
Ingo Bürk [Tue, 23 Oct 2018 14:41:54 +0000 (16:41 +0200)]
Merge pull request #3452 from orestisf1993/title_align
Add title_align config directive
Ingo Bürk [Tue, 23 Oct 2018 13:45:45 +0000 (15:45 +0200)]
Merge pull request #3451 from orestisf1993/tray
Close & reopen tray selwin when needed
Orestis Floros [Thu, 11 Oct 2018 20:19:21 +0000 (23:19 +0300)]
Close & reopen tray selwin when needed
Fixes #1329
Fixes #3317 (duplicate)
Examples where the tray "disappeared":
- Start without a "tray_output", reload config with "tray_output none",
remove "tray_output none" and reload.
- Start with "tray_output primary" (or "tray_output <output>"), disable
the primary output and then reconnect it.
Fixes #2010
Cached in output_for_tray
Ingo Bürk [Tue, 23 Oct 2018 13:37:12 +0000 (15:37 +0200)]
Merge pull request #3469 from yablonsky/patch-1
Update userguide "Focus Parent": add the default
Ingo Bürk [Tue, 23 Oct 2018 13:31:57 +0000 (15:31 +0200)]
Merge pull request #3448 from orestisf1993/sticky
Fix sticky focus when switching to workspace on different output
Ingo Bürk [Tue, 23 Oct 2018 13:30:11 +0000 (15:30 +0200)]
Merge pull request #3445 from orestisf1993/flaky
Fix flakyness in t/189-floating-constraints.t
Ingo Bürk [Tue, 23 Oct 2018 13:29:48 +0000 (15:29 +0200)]
Merge pull request #3444 from orestisf1993/move
Some move.c fixes
Ingo Bürk [Tue, 23 Oct 2018 13:27:50 +0000 (15:27 +0200)]
Merge pull request #3433 from orestisf1993/janitorial
Janitorial
Gravemind [Tue, 23 Oct 2018 13:15:07 +0000 (15:15 +0200)]
i3bar: Fix i3bar re-hidden by any modifier (#3474)
The bug was introduced in 4.15-next
fe6b3b7474
Soumya [Mon, 22 Oct 2018 18:47:41 +0000 (11:47 -0700)]
Always center text vertically
Andriy Yablonskyy [Sun, 21 Oct 2018 17:42:19 +0000 (13:42 -0400)]
add missing parenthesis
Andriy Yablonskyy [Sun, 21 Oct 2018 17:38:58 +0000 (13:38 -0400)]
Update userguide "Focus Parent": add the default
While reading the UserGuide, I had to refer to the TL;DR image on top to find the default keybind for "Focus Parent" since it's not mentioned in the text.
This pr fixes it.
Ingo Bürk [Sun, 21 Oct 2018 10:28:11 +0000 (12:28 +0200)]
Merge pull request #3467 from orestisf1993/userguide
userguide: Use anchor for list of commands
Orestis Floros [Sun, 21 Oct 2018 10:20:45 +0000 (13:20 +0300)]
userguide: Use anchor for list of commands
Fixes #3464
Michael Stapelberg [Mon, 15 Oct 2018 16:00:43 +0000 (18:00 +0200)]
debian/control: remove dependency on x11-utils (#3455)
This was a introduce in commit
a61e34d2771fffdf2d94ee69d887585087c76b98 in 2009,
and we haven’t used xmessage in any way in a long time.
fixes https://bugs.debian.org/910997
Orestis [Mon, 15 Oct 2018 08:16:20 +0000 (11:16 +0300)]
Merge pull request #3456 from stapelberg/travis
travis: fix mk-build-deps call by providing changelog file
Michael Stapelberg [Mon, 15 Oct 2018 06:40:00 +0000 (08:40 +0200)]
travis: fix mk-build-deps call by providing changelog file
mk-build-deps started using the changelog file to get the version number, but a
bug prevents it from falling back correctly to 1.0 if no changelog is
present. This has been fixed upstream in
https://salsa.debian.org/debian/devscripts/commit/
4b15abd4f0cfe4accbf28f24546891867344a73c ,
but we can just ship the changelog file until that fix lands.
Orestis Floros [Wed, 10 Oct 2018 15:31:03 +0000 (18:31 +0300)]
Fix typo: childs -> children
Orestis Floros [Fri, 5 Oct 2018 11:29:29 +0000 (14:29 +0300)]
floating_reposition: avoid extra tree_render
Orestis Floros [Wed, 10 Oct 2018 12:26:04 +0000 (15:26 +0300)]
Use open_floating_window arguments for rect
Orestis Floros [Thu, 4 Oct 2018 12:29:18 +0000 (15:29 +0300)]
manage_window: cleaner variable declarations
Orestis Floros [Thu, 4 Oct 2018 12:02:37 +0000 (15:02 +0300)]
borders_to_hide doesn't need to be initialized
Orestis Floros [Wed, 3 Oct 2018 13:20:46 +0000 (16:20 +0300)]
root is externally declared
Orestis Floros [Wed, 3 Oct 2018 13:20:25 +0000 (16:20 +0300)]
Use lround instead of (long)round
Orestis Floros [Sat, 21 Apr 2018 10:02:14 +0000 (13:02 +0300)]
Make comment style more consistent
Orestis Floros [Fri, 20 Apr 2018 23:28:31 +0000 (02:28 +0300)]
Fix missing prototypes
i3 will now compile with no warnings when -Wmissing-prototypes is used.
Orestis Floros [Fri, 20 Apr 2018 23:00:10 +0000 (02:00 +0300)]
Enforce strict prototypes
i3 will now compile with no warnings when -Wstrict-prototypes is used.
Orestis Floros [Wed, 1 Aug 2018 15:12:55 +0000 (18:12 +0300)]
Use path_exists
Orestis Floros [Wed, 1 Aug 2018 15:08:26 +0000 (18:08 +0300)]
Reduce some code around frees
Orestis [Sat, 13 Oct 2018 18:07:17 +0000 (21:07 +0300)]
Merge pull request #3454 from alanbarr/cppcheck_fixes_2
Cppcheck Fixes
Alan Barr [Sat, 13 Oct 2018 18:04:40 +0000 (19:04 +0100)]
Fixes for undefined behaviour on signed shift (#3453)
Fixes for undefined behaviour on signed shift
Change literal 1 to unsigned to allow safe bitshift of 31.
Caught by cppcheck.
Make 0xFF unsigned to prevent a left shift into signed bit.
Spotted by @orestisf1993
Alan Barr [Sat, 13 Oct 2018 15:49:41 +0000 (16:49 +0100)]
Typecast void* before doing pointer arithmetic
Caught by cppcheck
Alan Barr [Thu, 11 Oct 2018 22:28:30 +0000 (23:28 +0100)]
Remove redundant NULL check
copy has been used before this point - so it is too late to be concerned
about a NULL pointer now.
This is OK as sstrdup() calls err() on NULL return from the underlying
strdup() call.
Raised by cppcheck.
Aestek [Sun, 22 Apr 2018 01:55:37 +0000 (03:55 +0200)]
Add title_align config directive
Controls the window titles alignment in title bars. Possible values are:
- left
- center
- right
Co-authored-by: Orestis Floros <orestisf1993@gmail.com>
- Made title_align a config directive instead of a command. Helps with
some tree_render() issues we had.
- Made title_max_width the same for all 3 cases.
- Modified title offset calculations and added explanations for each
case.
- Append title_padding to mark_width if a mark exists.
Fixes #1750
Orestis Floros [Thu, 11 Oct 2018 09:06:17 +0000 (12:06 +0300)]
Fix sticky focus when switching to workspace on different output
See the testcase for the exact steps to reproduce the problem.
Orestis Floros [Thu, 11 Oct 2018 09:05:31 +0000 (12:05 +0300)]
output_push_sticky_windows: Make a bit easier to understand
Orestis Floros [Wed, 10 Oct 2018 22:21:56 +0000 (01:21 +0300)]
285-sticky.t: Use kill_all_windows
Orestis Floros [Wed, 10 Oct 2018 16:14:26 +0000 (19:14 +0300)]
Fix flakyness in t/189-floating-constraints.t
Related to #3009.
Orestis Floros [Wed, 6 Sep 2017 02:44:09 +0000 (05:44 +0300)]
Rewrite con_swap to work only with queue operations
Benefits are that we don't open a fake container and don't call many
complicated functions that can lead to redraws (x_push_changes calls) as
discussed in #2954.
Fixes #2810:
Windows exchange floating mode & window rects.
Swap will still not work with CT_FLOATING_CONs but this doesn't make
much sense.
Fixes #3280:
The behaviour is not very user friendly but swap behaves exactly as it
should. The rest is a tree_flatten issue. Attached pictures in #2954.
Orestis Floros [Tue, 9 Oct 2018 19:39:38 +0000 (22:39 +0300)]
tree_move: Don't change focus order when swapping containers
The call to ewmh_update_wm_desktop is removed since the change happens
under the same parent.
Orestis Floros [Tue, 9 Oct 2018 18:45:59 +0000 (21:45 +0300)]
move.c: Fix move_to_output_directed problems
- Use workspace_show that correctly updates _NET_CURRENT_DESKTOP, warps
mouse.
- Use TAILQ_INSERT_TAIL only for focus_head. Focus order is not related
to direction.
- Call con_focus only if con was focused before. See testcase for
directional move with command criteria.
- Correct first call of move_to_output_directed in tree_move which
didn't call ipc_send_window_event("move", con) and
ewmh_update_wm_desktop().
- Don't produce events when the move doesn't happen. Correct
276-ipc-window-move.t as well.
Orestis [Sun, 7 Oct 2018 20:43:24 +0000 (23:43 +0300)]
i3-nagbar: add option for button that runs commands without a terminal (#3258)
Fixes #2199.
Orestis [Sun, 7 Oct 2018 19:09:28 +0000 (22:09 +0300)]
Merge pull request #3441 from stapelberg/template
add specific GitHub issue templates
Orestis [Sun, 7 Oct 2018 19:02:43 +0000 (22:02 +0300)]
Merge pull request #3440 from stapelberg/disable
configure.ac: add conditionals for building docs/mans
Michael Stapelberg [Sun, 7 Oct 2018 18:41:42 +0000 (20:41 +0200)]
add specific GitHub issue templates
I learnt about this from the GitHub blog:
https://blog.github.com/2018-05-02-issue-template-improvements/
Orestis [Sun, 7 Oct 2018 18:26:37 +0000 (21:26 +0300)]
resolve_tilde: strncpy + strlen is pointless (#3436)
strlen already assumes that the string is NULL-terminated.
Like in https://github.com/i3/i3status/pull/312 but for whatever reason
gcc didn't warn about this here.
Orestis [Sun, 7 Oct 2018 18:24:09 +0000 (21:24 +0300)]
userguide: Mention know issues for assign (#3434)
Fixes #3222
Fixes #3293
Related to #2060
Michael Stapelberg [Sun, 7 Oct 2018 18:09:35 +0000 (20:09 +0200)]
configure.ac: add conditionals for building docs/mans
fixes #3378
Orestis [Fri, 5 Oct 2018 09:16:04 +0000 (12:16 +0300)]
Merge pull request #3435 from vivien/i3-msg/subscribe
i3-msg/subscribe
Vivien Didelot [Fri, 5 Sep 2014 20:47:27 +0000 (16:47 -0400)]
i3-msg: add support for SUBSCRIBE message type
If i3-msg is invoked with -t subscribe, it will wait for the first event
matching the given payload, before exiting.
For instance, get the number of the next focused workspace with:
i3-msg -t subscribe '[ "workspace" ]' | jshon -e current -e num
Like inotifywait, the -m flag allows to wait indefinitely for events,
instead of exiting right after receiving the first one.
For example, continuously monitor the names of focused windows with:
i3-msg -t subscribe -m '[ "window" ]' | jq .container.name