]>
git.sur5r.net Git - i3/i3/log
Ingo Bürk [Fri, 22 Mar 2019 08:40:08 +0000 (09:40 +0100)]
Merge pull request #3657 from jeffhuxen/next
Added note which config directives could be used at runtime
Ingo Bürk [Fri, 22 Mar 2019 08:39:37 +0000 (09:39 +0100)]
Merge pull request #3643 from Iskustvo/next
Adding new IPC library(i3-ipc++) in documents.
Ingo Bürk [Fri, 22 Mar 2019 08:38:02 +0000 (09:38 +0100)]
Merge pull request #3655 from orestisf1993/workspace_output_spaces
cfg_workspace: Accept outputs with spaces again
Jeffrey Huxen [Thu, 21 Mar 2019 22:07:23 +0000 (17:07 -0500)]
Added to note to clarify which config directives could be used at runtime.
Iskustvo [Mon, 11 Mar 2019 22:45:35 +0000 (23:45 +0100)]
Added new IPC library(i3-ipc++) in documents.
Orestis Floros [Thu, 21 Mar 2019 17:29:56 +0000 (19:29 +0200)]
cfg_workspace: Accept outputs with spaces again
This is a regression from
bce088679 .
An other way to fix this would be to concatenate strings inside the
strtok loop when an output starts with a double quote but I'd rather
let the parser do the word splitting.
Fixes #3646
Ingo Bürk [Thu, 21 Mar 2019 07:44:13 +0000 (08:44 +0100)]
Merge pull request #3654 from chrhasse/next
Add explicit reference to glib2 in automake
Christopher Hasse [Thu, 21 Mar 2019 04:51:13 +0000 (23:51 -0500)]
Add explicit reference to glib2 to automake
Orestis [Tue, 19 Mar 2019 09:16:30 +0000 (11:16 +0200)]
Merge pull request #3637 from i3/stapelberg-patch-1
x.c: correctly free con->frame_buffer in _x_con_kill
Michael Stapelberg [Thu, 7 Mar 2019 13:58:53 +0000 (14:58 +0100)]
x.c: correctly free con->frame_buffer in _x_con_kill
This fixes a crash which I could not reproduce in a testcase with reasonable effort, but the user reported the fix works.
Compare with src/x.c:946.
fixes #3554
fixes #3645
Michael Stapelberg [Tue, 19 Mar 2019 08:49:59 +0000 (09:49 +0100)]
travis: remove deprecated docker login -e flag (#3651)
Orestis [Tue, 19 Mar 2019 08:36:52 +0000 (10:36 +0200)]
Merge pull request #3640 from orestisf1993/partial-ucs2
convert_utf8_to_ucs2: Allow partial conversion
Orestis Floros [Fri, 8 Mar 2019 17:16:39 +0000 (19:16 +0200)]
convert_utf8_to_ucs2: Allow partial conversion
Fixes #3638.
Michael Stapelberg [Tue, 19 Mar 2019 08:30:04 +0000 (09:30 +0100)]
fix travis build by switching away from deprecated-2017Q3 (#3650)
Also remove “sudo: false” as per
https://blog.travis-ci.com/2018-11-19-required-linux-infrastructure-migration
Ingo Bürk [Mon, 11 Mar 2019 18:38:10 +0000 (19:38 +0100)]
Merge pull request #3614 from NilsIrl/next
Add proper return code for i3-msg
Ingo Bürk [Sat, 23 Feb 2019 20:52:22 +0000 (21:52 +0100)]
Merge pull request #3632 from orestisf1993/workspace_init
create_workspace_on_output: send workspace init event
Orestis Floros [Fri, 22 Feb 2019 17:41:30 +0000 (19:41 +0200)]
create_workspace_on_output: send workspace init event
Fixes #3595
Like the issue mentions:
> instead of the newly created workspace (not referenced by variable
> here) the `"init"` event is fired with the current workspace (`ws`).
Plus, there was another issue where duplicate workspace init events
where being sent because of workspace_get().
304-ipc-workspace-init.t: Subtest "move workspace to output" fails with
current next.
Fixes #3631
No event was being sent here:
https://github.com/i3/i3/blob/
2d6e09a66ad9b3e01588c515ae66476de8903754 /src/randr.c#L487
533-randr15.t: I confirmed that SKIP still works if the xrandr command
fails.
Added test fails with current next.
Nils ANDRÉ-CHANG [Sat, 9 Feb 2019 14:22:08 +0000 (14:22 +0000)]
Add proper return code for i3-msg
Michael Stapelberg [Tue, 12 Feb 2019 08:22:26 +0000 (09:22 +0100)]
i3-dump-log: make log message a little more clear (#3618)
This came up when trying to debug an issue.
Ingo Bürk [Fri, 1 Feb 2019 07:24:34 +0000 (08:24 +0100)]
Merge pull request #3607 from vacuus/3546-fix-misleading-doc
Clear up confusion between event and reply types.
Alejandro Angulo [Fri, 1 Feb 2019 07:00:00 +0000 (23:00 -0800)]
Reword documentation to make clear the difference in enumeration between event and reply types.
Orestis [Tue, 22 Jan 2019 20:35:44 +0000 (22:35 +0200)]
cmd_exit: Let i3_exit handle shutdown (#3600)
- __lsan_do_leak_check() will terminate the process, so move it to the
end of the function.
- ev_loop_destroy() must be called after ipc_shutdown() because the
latter calls ev_ functions.
Fixes #3599
Ingo Bürk [Fri, 18 Jan 2019 22:37:09 +0000 (23:37 +0100)]
Merge pull request #3590 from nejni-marji/next
Make binding modes case sensitive
closes #3587
Jonathan Woodlief [Fri, 18 Jan 2019 22:35:47 +0000 (17:35 -0500)]
Update userguide to describe border styles better
Describe the difference between normal and pixel titlebars better
Thanks to @JonWoodlief
nejni-marji [Thu, 17 Jan 2019 01:32:24 +0000 (19:32 -0600)]
Make binding modes case sensitive
Orestis [Sat, 12 Jan 2019 12:13:03 +0000 (14:13 +0200)]
Use ipc queue for all messages (#3585)
I was able to reproduce #3579 in Linux by running:
`sudo sysctl net.core.wmem_default=10000`
If a subscription message was too big to be sent at once, it was
possible to break a client by sending a reply to an other message sent
by the client. Eg:
- Write 8192 out of 11612 bytes of a workspace event.
- Blockingly write the reply to a workspace change message.
- Write the rest 3420 bytes of the workspace event.
This commit fixes this by utilizing the ipc queue for all types of
writes.
ipc_receive_message can only be called from a callback started in
ipc_new_client. This callback uses the same file descriptor with the
client also created in ipc_new_client. When the client is deleted, the
read callback is now also stopped. Thus, we can assume that whenever
ipc_receive_message is called, the corresponding client should still
exist.
- ipc_client now contains pointers to both write and read watchers. When
freed, a client will stop both of them.
- IPC_HANDLERs now work with ipc_clients instead of fds.
Fixes #3579.
Ingo Bürk [Fri, 11 Jan 2019 13:01:56 +0000 (14:01 +0100)]
Merge pull request #3584 from orestisf1993/popup-SIGSEGV
Fix crash with popups when fullscreen is non-leaf
Orestis Floros [Fri, 11 Jan 2019 12:44:39 +0000 (14:44 +0200)]
Fix crash with popups when fullscreen is non-leaf
Introduced in
b3e69ed12
Fixes #3582
Orestis [Wed, 2 Jan 2019 12:30:17 +0000 (14:30 +0200)]
Merge pull request #3574 from pclouds/no-newline-in-errx
Remove \n from errx and die messages
Nguyễn Thái Ngọc Duy [Wed, 2 Jan 2019 12:05:18 +0000 (19:05 +0700)]
Remove \n from errx and die messages
errx() already appends \n internally. "\n" in the error message will
result in a blank line after the message. die() is just a wrapper around
errx() so it receives the same treatment.
Ingo Bürk [Sun, 16 Dec 2018 08:36:02 +0000 (09:36 +0100)]
Merge pull request #3563 from CyberShadow/doc-mark-todo
userguide: Un-hide a TODO block completed in 2011
Ingo Bürk [Sun, 16 Dec 2018 08:33:25 +0000 (09:33 +0100)]
Merge pull request #3568 from orestisf1993/floating_reposition-render_con
Fix: render_con shows floating containers on wrong workspace
Orestis Floros [Sun, 16 Dec 2018 01:27:09 +0000 (03:27 +0200)]
Fix: render_con shows floating containers on wrong workspace
After
204eefc . Alternative fix:
diff --git a/src/floating.c b/src/floating.c
index
f5c61782 ..
6dd79668 100644
--- a/src/floating.c
+++ b/src/floating.c
@@ -954,7 +954,7 @@ bool floating_reposition(Con *con, Rect newrect) {
con->scratchpad_state = SCRATCHPAD_CHANGED;
/* Workspace change will already result in a tree_render. */
- if (!reassigned) {
+ if (!reassigned && workspace_is_visible(con_get_workspace(con))) {
render_con(con);
x_push_node(con);
}
but I don't think that the extra complexity is worth it.
Change in handlers.c because of
d2d6d6e0 where the bug also appears.
Fixes #3567
Ingo Bürk [Sat, 15 Dec 2018 17:29:46 +0000 (18:29 +0100)]
Merge pull request #3566 from orestisf1993/focus-events
Focus events
Orestis Floros [Fri, 14 Dec 2018 18:39:34 +0000 (20:39 +0200)]
Invalidate last_focused when focusing the EWMH support window
Fixes #3562
Orestis Floros [Fri, 14 Dec 2018 18:37:29 +0000 (20:37 +0200)]
Fix: killing unfocused window shouldn't produce focus event
Orestis Floros [Fri, 14 Dec 2018 21:35:58 +0000 (23:35 +0200)]
Update tree_close_internal documentation in tree.h
After
f90840337
Vladimir Panteleev [Fri, 14 Dec 2018 13:16:11 +0000 (13:16 +0000)]
userguide: Un-hide a TODO block completed in 2011
The userguide contained a commented-out section for marks, which
included the line:
> TODO: make i3-input replace %s
The line was added in
a26a11c6099f82fc9fd8b87f8bda128408b4f7c9 (May
2011), at which point i3-input did not have a -F switch. The switch
was added only in
1737a78fcd8025e11398dbcf5acd65c6a07ae86d (September
2011), but the documentation was never updated to enable the
commented-out examples.
Orestis [Fri, 14 Dec 2018 08:39:49 +0000 (10:39 +0200)]
Merge pull request #3560 from CyberShadow/doc-mark-replace
userguide: Document mark --replace flag
Vladimir Panteleev [Fri, 14 Dec 2018 08:29:23 +0000 (08:29 +0000)]
userguide: Document mark --replace flag
- Explicitly document --replace, which was previously only mentioned
in the command syntax.
- Improve wording: "a window can only have one mark" is slightly
misleading because it appears to describe the limitation as a
property of the model, whereas this actually pertains the mark
command.
Ingo Bürk [Wed, 12 Dec 2018 20:02:41 +0000 (21:02 +0100)]
Merge pull request #3557 from orestisf1993/regress-float-move
attach_to_workspace: set new parent before tree_render
Orestis Floros [Wed, 12 Dec 2018 17:09:39 +0000 (19:09 +0200)]
attach_to_workspace: set new parent before tree_render
on_remove_child calls tree_close_internal which calls tree_render and
the tree is in an invalid state if con->parent still points to the old
parent.
Fixes #3556
Orestis [Wed, 12 Dec 2018 11:19:43 +0000 (13:19 +0200)]
Merge pull request #3510 from orestisf1993/tree.t
Introduce cmp_tree test function
Orestis Floros [Tue, 6 Nov 2018 13:03:06 +0000 (15:03 +0200)]
Introduce cmp_tree test function
Related to #3503
Ingo Bürk [Tue, 11 Dec 2018 19:53:08 +0000 (20:53 +0100)]
Merge pull request #3551 from xzfc/baf-restart
Preserve back_and_forth during restart
Albert Safin [Mon, 10 Dec 2018 14:51:30 +0000 (21:51 +0700)]
Preserve back_and_forth during restart
Add new key "previous_workspace_name" to the json dump of the root container.
Ingo Bürk [Mon, 10 Dec 2018 17:34:51 +0000 (18:34 +0100)]
Merge pull request #3553 from stapelberg/hidpi
userguide: add a section about hidpi displays
Michael Stapelberg [Mon, 10 Dec 2018 17:18:23 +0000 (18:18 +0100)]
userguide: add a section about hidpi displays
This is a continuation of #3438.
Ingo Bürk [Sun, 9 Dec 2018 17:13:13 +0000 (18:13 +0100)]
Merge pull request #3549 from xzfc/small-fixes
Small fixes
Ingo Bürk [Sun, 9 Dec 2018 17:10:42 +0000 (18:10 +0100)]
Merge pull request #3550 from tlercher/3535-display-check
Fix #3535 - Check for DISPLAY when requesting version information
TAL [Sun, 9 Dec 2018 00:32:34 +0000 (01:32 +0100)]
Fix #3535 - Check for DISPLAY when requesting version information
Albert Safin [Sun, 9 Dec 2018 00:06:29 +0000 (07:06 +0700)]
Code style: fix misaligned and misindented comments
Albert Safin [Sat, 8 Dec 2018 23:15:53 +0000 (06:15 +0700)]
Remove unused con_get_next()
This function has unused for a long time since the commit
8f4b9ddaa43ae61932fd702ad7178c2b4e07cfb9 .
Albert Safin [Thu, 6 Dec 2018 15:39:57 +0000 (22:39 +0700)]
Remove unnecessary code in route_click()
This case is handled by resize_find_tiling_participants() anyway which
is introduced in the commit
dbec5eb90585bc22752331f51d8a6bc90d21889c .
Albert Safin [Sat, 8 Dec 2018 12:20:55 +0000 (19:20 +0700)]
commands.c: Add missing error replies
Orestis [Sat, 8 Dec 2018 12:49:04 +0000 (14:49 +0200)]
Merge pull request #3547 from stapelberg/conn
Bugfix: use restore_conn, not conn
Michael Stapelberg [Sat, 8 Dec 2018 12:31:53 +0000 (13:31 +0100)]
Bugfix: use restore_conn, not conn
Using the wrong X11 connection breaks the libev event handling model:
xcb_flush() must be called immediately before handing control to libev.
Before this fix:
1. xcb_prepare_cb would read and flush conn
2. restore_xcb_prepare_cb would read and flush restore_conn,
BUT also inadvertantly call xcb_flush(conn), resulting in new
events being filled into the XCB event queue
3. libev waits for new events
4. after 1 minute, libev times out and the events are processed
Diagnosed using strace on testcases/complete-run.pl.
related to commit
0d8b6714e39af81cbd6f4fbad500872a715dea24
related to #3510
Orestis [Wed, 5 Dec 2018 11:09:09 +0000 (13:09 +0200)]
Merge pull request #3541 from orestisf1993/title_align
Apply title_align to non-leaf containers
Orestis Floros [Tue, 4 Dec 2018 18:50:32 +0000 (20:50 +0200)]
Apply title_align to non-leaf containers
Additionally, marks will now display for non-leaf containers.
Fixes #3540.
Ingo Bürk [Mon, 3 Dec 2018 19:16:47 +0000 (20:16 +0100)]
Merge pull request #3514 from xzfc/2742-shape
Add input and bounding shapes support (#2742)
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.