]>
git.sur5r.net Git - i3/i3/log
Orestis [Mon, 18 Sep 2017 16:02:38 +0000 (19:02 +0300)]
291-swap.t: make tests fail less (#2964)
Michael Stapelberg [Mon, 18 Sep 2017 15:15:28 +0000 (17:15 +0200)]
ipc: document how to detect i3’s byte order in memory-safe languages (#2961)
related to issue #2958
Michael Stapelberg [Mon, 18 Sep 2017 14:37:34 +0000 (16:37 +0200)]
Bugfix: avert crash by fixing focus when creating output containers (#2966)
fixes #2854
Michael Stapelberg [Mon, 18 Sep 2017 14:36:57 +0000 (16:36 +0200)]
Bugfix: don’t invalidate layout upon invalid 'layout toggle' params (#2965)
fixes #2903
Michael Stapelberg [Mon, 18 Sep 2017 14:36:34 +0000 (16:36 +0200)]
docs/ipc: "urgent": complete the list of container types (#2967)
Thanks chressie!
Kent Fredric [Mon, 18 Sep 2017 11:03:54 +0000 (23:03 +1200)]
Migrate tooling to ExtUtils::MakeMaker (#2963)
Michael Stapelberg [Sun, 17 Sep 2017 13:25:00 +0000 (15:25 +0200)]
ipc: rename COMMAND to RUN_COMMAND for consistency (#2956)
All other message types are verbs, only our first-ever message COMMAND wasn’t.
While we’re here, also change the message type dictionary into a table with
clickable links to the corresponding reply type.
Authors of downstream IPC libraries are encouraged to keep the old name around
so as to not break existing code, but mark it as deprecated.
Ingo Bürk [Sun, 17 Sep 2017 10:05:04 +0000 (12:05 +0200)]
Merge pull request #2960 from orestisf1993/next
Fix possible errors related to free()
Orestis Floros [Sat, 16 Sep 2017 22:14:47 +0000 (01:14 +0300)]
Fix use of err after it is freed
Orestis Floros [Sat, 16 Sep 2017 21:24:15 +0000 (00:24 +0300)]
Fix wrong call to free
To confirm, assign n to a constant value and try to use the
append_layout command.
Without the change i3 crashes.
Orestis Floros [Sat, 16 Sep 2017 20:53:31 +0000 (23:53 +0300)]
Prevent freeing of uninitialized pointer
> variable 'buf' is used uninitialized whenever 'if' condition is true
Note: freeing a NULL pointer is fine.
Michael Stapelberg [Sat, 16 Sep 2017 15:28:44 +0000 (17:28 +0200)]
ipc: tree reply: document focus, nodes and floating_nodes (#2955)
These haven’t ever changed, but were only included in the example, not in the
list, so people might not have realized that these are safe for use.
Ingo Bürk [Sat, 16 Sep 2017 11:07:21 +0000 (13:07 +0200)]
Merge pull request #2902 from orestisf1993/swap-for-fullscreen
Make swap work with fullscreen windows
Orestis Floros [Wed, 6 Sep 2017 01:10:22 +0000 (04:10 +0300)]
Make swap work with fullscreen windows
Swap works like normal with fullscreen windows but swaps the fullscreen
mode of the 2 containers after it's done.
Fixes #2811
Orestis Floros [Sat, 16 Sep 2017 10:43:28 +0000 (13:43 +0300)]
Add SWAP util macro
Ingo Bürk [Fri, 15 Sep 2017 19:26:35 +0000 (21:26 +0200)]
Merge pull request #2887 from orestisf1993/next
Allow assign to workspace by number
Michael Stapelberg [Fri, 15 Sep 2017 09:31:33 +0000 (11:31 +0200)]
Merge pull request #2950 from CyberShadow/pull-
20170914 -153533
Fix erratic behavior with single container child jumping outputs
Vladimir Panteleev [Thu, 14 Sep 2017 15:41:48 +0000 (15:41 +0000)]
Fix erratic behavior with single container child jumping outputs
This fixes a regression introduced in commit
4e88c10564ca5366c2578908f62ec56625a26718 : when attempting to move the
single child of a container in the direction of another output, i3
would move the window to the output, despite the window not being at
the edge of its output, instead of moving it to its parent container.
The bug occurred because the check for moving containers across
outputs with non-default workspace layouts (issue #1603) did not
actually verify that the moved window lies at the edge of the
workspace, despite what its comment said.
Fixes issue #2466.
Orestis [Fri, 15 Sep 2017 09:21:35 +0000 (12:21 +0300)]
Use numeric comparison in sort for $displaynum (#2952)
Eg in the case of sockets:
- X0
- X99
- X100
X99 would be picked instead of X100.
Orestis Floros [Mon, 28 Aug 2017 02:14:03 +0000 (05:14 +0300)]
Allow assign to workspace by number
Makes "assign [<criteria>] workspace number <number>" work in the same
manner as "move to workspace number <number>" instead of assigning the
window to a workspace named "number <number>".
config.spec is modified to expect a 'number' string and an extra
argument is used in cfg_assign.
For workspaces that don't exist yet, workspace_get is used as a
fallback. This also allows the user to assign to "<number> <workspace>"
eg "2: work" and the full name will be used if workspace number 2
doesn't exist yet.
Fixes #2590.
Vladimir Panteleev [Thu, 14 Sep 2017 15:51:49 +0000 (15:51 +0000)]
Fix typo in con_parent_with_orientation description
Orestis [Thu, 14 Sep 2017 20:10:16 +0000 (23:10 +0300)]
Add -name argument for Xephyr (#2937)
This way you can assign the test windows to an empty workspace to avoid
interacting with them (when xvfb-run is not an option):
assign [instance="i3test"] workspace testing
Michael Stapelberg [Thu, 14 Sep 2017 20:08:36 +0000 (22:08 +0200)]
Merge pull request #2945 from stapelberg/i3-config
simplify tests which use launch_with_config precisely once
Michael Stapelberg [Thu, 14 Sep 2017 11:35:26 +0000 (13:35 +0200)]
tests: unflake tests by not starting i3bar
Michael Stapelberg [Thu, 14 Sep 2017 09:30:58 +0000 (11:30 +0200)]
tests: remove the (broken) exit_gracefully check
I previously tried to fix the check, but could only come up with a fix which
required removing our module pre-loading, which makes the tests considerably
more expensive. Instead, let’s just remove the check.
Michael Stapelberg [Thu, 14 Sep 2017 10:30:42 +0000 (12:30 +0200)]
tests: use i3_config arg instead of precisely one launch_with_config
This way, tests are shorter, and i3test’s invocation of launch_with_config
parallelizes work better, using dont_block => 1.
Michael Stapelberg [Thu, 14 Sep 2017 09:44:49 +0000 (11:44 +0200)]
i3test::XTEST: don’t “use i3test” to avoid clobbering state
Before this commit, the $i3_autostart variable was accidentally overridden.
Michael Stapelberg [Thu, 14 Sep 2017 15:49:02 +0000 (17:49 +0200)]
Reorder tests to not use the same number (#2947)
Distinct numbers make re-running individual tests easier by helping with
tab-completion.
Completeness verified using:
% for i in $(seq 0 600)
do
files=$(ls testcases/t/$(printf "%03d" $i)-*.t 2>&- | wc -l)
[ "$files" != "0" ] && [ "$files" != "1" ] && echo "clash: $i"
done
Michael Stapelberg [Thu, 14 Sep 2017 15:48:37 +0000 (17:48 +0200)]
tests: unflake t/257-keypress-group1-fallback.t (#2946)
fixes #2944
Michael Stapelberg [Thu, 14 Sep 2017 15:48:22 +0000 (17:48 +0200)]
travis: install xrandr in Docker container for t/533-randr15.t (#2949)
Michael Stapelberg [Wed, 13 Sep 2017 16:38:47 +0000 (18:38 +0200)]
Merge pull request #2942 from stapelberg/append
Improve append_layout’s invalid JSON handling
Michael Stapelberg [Wed, 13 Sep 2017 16:38:27 +0000 (18:38 +0200)]
Add .editorconfig (see editorconfig.org) (#2943)
This file uses the same settings which we currently have in our vim modeline,
but can be picked up by many different editors without having to add and
maintain editor-specific modelines in all of our source files.
Michael Stapelberg [Wed, 13 Sep 2017 15:14:51 +0000 (17:14 +0200)]
validate JSON before loading
This commit also introduces slurp() which reads a file in its entirety. Using
this function instead of doing IO in the functions in load_layout.c again and
again makes the code cleaner (fixing at least two memory leaks) and avoids
re-reading the same file 3 times.
related to #2755
Michael Stapelberg [Wed, 13 Sep 2017 14:39:44 +0000 (16:39 +0200)]
AnyEvent-I3: use Carp for easier debugging (includes stacktraces)
Michael Stapelberg [Wed, 13 Sep 2017 14:39:13 +0000 (16:39 +0200)]
Bugfix: free incomplete containers when JSON parsing fails
related to #2755
Michael Stapelberg [Wed, 13 Sep 2017 13:07:21 +0000 (15:07 +0200)]
Merge pull request #2935 from orestisf1993/issue-2934
Make sure that parse_config input terminates with '\0'
Orestis Floros [Tue, 12 Sep 2017 09:29:01 +0000 (12:29 +0300)]
scalloc parse_config input to make sure it terminates with '\0'
Otherwise strchr() can crash for files that don't end with '\n' because
it won't find a null char to terminate at.
Fixes #2934
Orestis Floros [Wed, 13 Sep 2017 10:32:12 +0000 (13:32 +0300)]
Don't insert newline at end of config with launch_with_config
Michael Stapelberg [Wed, 13 Sep 2017 08:58:38 +0000 (10:58 +0200)]
Merge pull request #2920 from CyberShadow/monitor-output-names
Consider RandR 1.5's monitors' output names in addition to monitor names
Vladimir Panteleev [Tue, 12 Sep 2017 09:27:49 +0000 (09:27 +0000)]
docs/userguide: Document that i3 can accept RandR output names
Vladimir Panteleev [Tue, 12 Sep 2017 09:18:40 +0000 (09:18 +0000)]
533-randr15.t: Add test for bar output name canonicalization
Vladimir Panteleev [Tue, 12 Sep 2017 08:50:40 +0000 (08:50 +0000)]
533-randr15.t: Stop hard-coding the output name
Refactor away all mentions of DP3.
Vladimir Panteleev [Tue, 12 Sep 2017 08:42:46 +0000 (08:42 +0000)]
533-randr15.t: Add a fake output connected to the fake monitor
Add an output ID to the simulated RRGetMonitors reply, then add a
simulated RRGetOutputInfo reply describing the added output.
Vladimir Panteleev [Tue, 12 Sep 2017 08:41:00 +0000 (08:41 +0000)]
testcases/lib: Add inject_randr15_outputinfo argument
Allow tests to specify a file name for inject_randr15's
--getoutputinfo_reply command-line parameter.
Vladimir Panteleev [Tue, 12 Sep 2017 08:39:15 +0000 (08:39 +0000)]
inject_randr1.5: Intercept X11 error responses in addition to replies
Allow clients to send garbage to the server, then intercept the
server's error response and substitute it with the supplied simulated
reply data.
Vladimir Panteleev [Tue, 12 Sep 2017 07:03:20 +0000 (07:03 +0000)]
inject_randr1.5: Add RRGetOutputInfo reply injection
Add a --getoutputinfo_reply switch to indicate a filename containing
the RRGetOutputInfo reply data to inject.
Vladimir Panteleev [Tue, 12 Sep 2017 06:58:29 +0000 (06:58 +0000)]
inject_randr1.5: Refactor reading and storing reply buffer to a struct
Allows easier introduction of additional reply buffers in upcoming
changes.
Vladimir Panteleev [Mon, 11 Sep 2017 11:15:56 +0000 (11:15 +0000)]
ipc: Canonicalize output names in bar configuration
Convert the output names specified in the "output" and "tray_output"
fields in bar blocks in i3's configuration to the referred output's
primary name. This allows specifying names other than the primary
output's name in the given fields without changing the IPC protocol.
Vladimir Panteleev [Sat, 9 Sep 2017 09:23:50 +0000 (09:23 +0000)]
randr: Look up alternative output names when searching outputs
Update get_output_by_name to look at all additional names added by the
change in the previous commit, not just the primary one.
Vladimir Panteleev [Sat, 9 Sep 2017 09:00:22 +0000 (09:00 +0000)]
randr: Register monitors' output names as additional i3 output names
In addition to the name of the monitor itself (which is still used as
the i3 output's primary name), register RandR output names associated
with the RandR monitor as alternative i3 output names.
Vladimir Panteleev [Sat, 9 Sep 2017 07:37:37 +0000 (07:37 +0000)]
Store output names as a linked list
Currently, only one name is ever added, and only the first name is
ever accessed; actually using the capability to store and access
multiple names comes in the following commits.
Vladimir Panteleev [Sat, 9 Sep 2017 07:18:29 +0000 (07:18 +0000)]
Introduce output_primary_name function
Currently simply returns output->name, but this will make it easier to
change how output names are stored in the following commits.
Also replace reading output->name with invocations of
output_primary_name. Code which writes output->name is unchanged. Done
using a mostly mechanical replacement of output->name to
output_primary_name(output).
Michael Stapelberg [Tue, 12 Sep 2017 20:16:36 +0000 (22:16 +0200)]
testsuite: install Module::Install so that AnyEvent-I3/Makefile.PL works (#2940)
As per https://perlmaven.com/cant-locate-inc-module-install-in-inc, the inc/
directory should not be under version control.
fixes #2914
Orestis [Mon, 11 Sep 2017 19:31:29 +0000 (22:31 +0300)]
Fix userguide bug (#2932)
Fixes #2931
Ingo Bürk [Mon, 11 Sep 2017 18:49:47 +0000 (20:49 +0200)]
Merge pull request #2928 from CyberShadow/pull-
20170911 -130032
docs/hacking-howto: Promote "Using git / sending patches" section
Vladimir Panteleev [Mon, 11 Sep 2017 13:09:25 +0000 (13:09 +0000)]
docs/hacking-howto: Update section topology
- Promote the "How to build?" sub-section to a top-level
section ("Building i3")
- Convert the "Introduction" sub-section as the intro to the remaining
contents of the "Using git / sending patches" section
- Keep "Which branch to use?" as a level-3 sub-section, thus making it
a sub-section of what used to be the "Introduction" sub-section.
Vladimir Panteleev [Mon, 11 Sep 2017 13:06:40 +0000 (13:06 +0000)]
docs/hacking-howto: Promote "How to build?" sub-section
Move the "How to build?" sub-section to the top of its parent section.
Vladimir Panteleev [Mon, 11 Sep 2017 13:04:58 +0000 (13:04 +0000)]
docs/hacking-howto: Promote "Using git / sending patches" section
Move the contents of the "Using git / sending patches" section to the
top of the document.
Michael Stapelberg [Sun, 10 Sep 2017 20:08:05 +0000 (22:08 +0200)]
Merge pull request #2926 from stapelberg/unflake-tests
Unflake tests
Michael Stapelberg [Sun, 10 Sep 2017 18:05:55 +0000 (20:05 +0200)]
tests: run 533-randr15.t at the very end
The test runs `xrandr setmonitor`, which will otherwise affect any test
scheduled after 533-randr15.t, causing flakyness in t/217-NET_CURRENT_DESKTOP.t
for example.
Michael Stapelberg [Sun, 10 Sep 2017 18:06:49 +0000 (20:06 +0200)]
tests: unflake t/263-edge-borders.t
Michael Stapelberg [Sun, 10 Sep 2017 17:41:49 +0000 (19:41 +0200)]
tests: re-seed random number generator in workers
Ingo Bürk [Sun, 10 Sep 2017 15:03:09 +0000 (17:03 +0200)]
Revert "Use OVER operator for drawing text (#2908)" (#2925)
This reverts commit
16160462a30f186f5b72bb551ba2188670d4e45c .
Michael Stapelberg [Sun, 10 Sep 2017 11:41:46 +0000 (13:41 +0200)]
Merge pull request #2923 from stapelberg/tests-split
Testsuite: avoid starting new i3 instances where possible
Vladimir Panteleev [Sun, 10 Sep 2017 11:02:10 +0000 (11:02 +0000)]
docs/testsuite: Correct Xephyr package name on Arch Linux (#2913)
The package is called `xorg-server-xephyr`, not `xorg-xserver-xephyr`.
Michael Stapelberg [Sun, 10 Sep 2017 09:31:10 +0000 (11:31 +0200)]
Kill windows between tests
Michael Stapelberg [Sun, 10 Sep 2017 09:30:56 +0000 (11:30 +0200)]
i3test: add kill_all_windows convenience function
Michael Stapelberg [Sun, 10 Sep 2017 09:25:43 +0000 (11:25 +0200)]
testcases/Makefile.PL: tell MakeMaker this is a pure-Perl distribution (#2922)
fixes #2914
Vladimir Panteleev [Sun, 10 Sep 2017 05:43:53 +0000 (05:43 +0000)]
Add README.md (#2910)
Michael Stapelberg [Sat, 9 Sep 2017 16:39:56 +0000 (18:39 +0200)]
529-net-wm-desktop: avoid timeout, avoid restarts, split
This shaves off almost half a second of the wall-clock time (from 5.9s to 5.6s).
Michael Stapelberg [Sat, 9 Sep 2017 16:30:17 +0000 (18:30 +0200)]
travis: remove clang-analyze (#2917)
• The output currently contains a large number of false-positives and — AFAICT —
no actual issues.
• Upstream shows little interest in addressing the long-standing issues with the
TAILQ macros, so the false-positive situation probably won’t change soon:
https://bugs.llvm.org/show_bug.cgi?id=18222
Currently, we largely spend travis CPU cycles on this, for no additional value.
Michael Stapelberg [Sat, 9 Sep 2017 16:21:59 +0000 (18:21 +0200)]
165-for_window: merge config and re-use i3 instance, split remainder
This reduces total test wall-clock time by 1.5s (from 7.5s down to 5.9s).
Michael Stapelberg [Sat, 9 Sep 2017 15:50:23 +0000 (17:50 +0200)]
t/265-swap: don’t start new i3 instances with the same config
$config is never touched after being initially set up.
Not restarting i3 between each test case reduces the runtime of this test by an
order of magnitude.
Jan Alexander Steffens [Sat, 9 Sep 2017 15:32:34 +0000 (17:32 +0200)]
Use OVER operator for drawing text (#2908)
For opaque text, SOURCE is not any different from OVER. However, when
drawing color glyphs (which consist of RGBA pixels instead of strokes)
SOURCE's handling of alpha is not what we want.
I stumbled across this because cairo 1.15.8 seems to clear the surface
before drawing color emoji if the operator is SOURCE, deleting every-
thing drawn before. Arguably, the area outside the glyph bounds should
not be touched, but even if this is a cairo bug the problem of alpha
within the glyph remains.
Orestis [Sat, 9 Sep 2017 12:47:32 +0000 (15:47 +0300)]
Add files generated by make check in AnyEvent-I3/ to .gitignore (#2915)
Michael Stapelberg [Sat, 9 Sep 2017 12:22:16 +0000 (14:22 +0200)]
Include AnyEvent-I3 directory in dist tarballs (#2916)
fixes #2905
Michael Stapelberg [Sat, 9 Sep 2017 09:41:07 +0000 (11:41 +0200)]
Merge pull request #2911 from i3/asan
i3bar: ensure get_buffer does not leak memory
Michael Stapelberg [Sat, 9 Sep 2017 06:15:03 +0000 (08:15 +0200)]
travis: downgrade temporarily due to asan issue
fixes #2912
Michael Stapelberg [Sat, 9 Sep 2017 04:56:50 +0000 (06:56 +0200)]
i3bar: ensure get_buffer does not leak memory
This fixes an AddressSanitizer warning which recently popped up.
related to #2907
Michael Stapelberg [Thu, 7 Sep 2017 12:55:37 +0000 (14:55 +0200)]
Merge pull request #2901 from orestisf1993/issue-2900
Set marks to NULL after freeing
Orestis Floros [Thu, 7 Sep 2017 00:53:28 +0000 (03:53 +0300)]
Set marks to NULL after freeing
realloc() was being called on an already freed pointer.
Fixes #2900
Orestis Floros [Thu, 7 Sep 2017 01:19:57 +0000 (04:19 +0300)]
Improve 267-regress-mark-restart.t
Another window with a mark is needed for issue #2900.
Ingo Bürk [Wed, 6 Sep 2017 15:08:02 +0000 (17:08 +0200)]
Merge pull request #2899 from orestisf1993/patch-1
Fix typo in 265-swap.t
Orestis [Wed, 6 Sep 2017 15:02:52 +0000 (18:02 +0300)]
Fix typo in 265-swap.t
Orestis [Wed, 6 Sep 2017 05:34:14 +0000 (08:34 +0300)]
Check if con_id exists in cmd_swap (#2898)
Also adds some testcases for swap using con_id.
Fixes #2895
Ingo Bürk [Tue, 5 Sep 2017 07:01:53 +0000 (09:01 +0200)]
Invert condition to log debug message in correct situation (#2896)
Ingo Bürk [Mon, 4 Sep 2017 16:44:14 +0000 (18:44 +0200)]
Merge pull request #2891 from hwangcc23/init-sigaction
Properly initialize sigaction struct
Ingo Bürk [Mon, 4 Sep 2017 16:43:42 +0000 (18:43 +0200)]
Merge pull request #2875 from botovq/next
Avoid use of uninitialized in init_dpi_end
Michael Stapelberg [Mon, 4 Sep 2017 06:21:06 +0000 (08:21 +0200)]
debian: update changelog
Michael Stapelberg [Mon, 4 Sep 2017 05:53:39 +0000 (07:53 +0200)]
Merge branch 'release-4.14'
Michael Stapelberg [Mon, 4 Sep 2017 05:53:39 +0000 (07:53 +0200)]
Set non-git version to 4.14-non-git.
Michael Stapelberg [Mon, 4 Sep 2017 05:53:25 +0000 (07:53 +0200)]
release i3 4.14
Michael Stapelberg [Thu, 31 Aug 2017 20:50:00 +0000 (22:50 +0200)]
Revert "i3-nagbar: add button flag to execute action with /bin/sh directly" (#2893)
hwangcc23 [Thu, 31 Aug 2017 14:48:33 +0000 (22:48 +0800)]
Properly initialize sigaction struct
The code in handle_signal() wasn't clearing the struct sigaction before passing it to sigaction().
This meant that we would block a random set of signals while executing the default handler, or jump to the uninitialized __sa_sigaction__ (instead of sa_handler).
Initialize properly as we do in setup_signal_handler().
Michael Stapelberg [Mon, 28 Aug 2017 10:07:56 +0000 (12:07 +0200)]
Respect focus_on_window_activation for ConfigureRequests (#2889)
fixes #2873
Michael Stapelberg [Mon, 28 Aug 2017 10:07:40 +0000 (12:07 +0200)]
Merge pull request #2888 from stapelberg/leak
Fix memory leak
Chih-Chyuan Hwang [Mon, 28 Aug 2017 07:43:42 +0000 (15:43 +0800)]
Update doc for dependency Module::Install (#2877)
After moving to AnyEvent-I3, a new testsuite dependency is introduced: Module::Install.
Update the doc for this.
See the issue #2876.
Michael Stapelberg [Mon, 28 Aug 2017 07:23:42 +0000 (09:23 +0200)]
do leak check before exiting
related to #2541
Michael Stapelberg [Mon, 28 Aug 2017 07:22:38 +0000 (09:22 +0200)]
Fix memleak: free regex when parsing fails
fixes #2541
Ingo Bürk [Sat, 26 Aug 2017 09:38:06 +0000 (11:38 +0200)]
Merge pull request #2882 from jolange/dev
docs markup fixes