]> git.sur5r.net Git - i3/i3/log
i3/i3
6 years agorelease i3 4.14.1 4.14.1
Michael Stapelberg [Sun, 24 Sep 2017 17:21:26 +0000 (19:21 +0200)]
release i3 4.14.1

6 years agodocs/ipc: document the GET_CONFIG request (#2984)
Michael Stapelberg [Sun, 24 Sep 2017 15:25:41 +0000 (17:25 +0200)]
docs/ipc: document the GET_CONFIG request (#2984)

This was neglected in commit a6d8ed9b1ac6efa507d65b752758522bcfcc5213

related to #2856

6 years agotests: replace http:// with https:// where appropriate
Michael Stapelberg [Sun, 24 Sep 2017 08:19:50 +0000 (10:19 +0200)]
tests: replace http:// with https:// where appropriate

This was done automatically using:

% sed -i 's,http://build.i3wm.org,https://build.i3wm.org,g' testcases/t/*.t

6 years agoReplace http:// with https:// where applicable
Michael Stapelberg [Sun, 24 Sep 2017 08:19:07 +0000 (10:19 +0200)]
Replace http:// with https:// where applicable

The testcases will be updated automatically in a separate commit.

6 years agoCheck container existance during drag events
Orestis Floros [Fri, 22 Sep 2017 16:25:02 +0000 (19:25 +0300)]
Check container existance during drag events

This fixes a crash that occurs when disabling floating for a container
while it is being moved or resized.

@Deiz describes the problem:
> It occurs because the command that disables floating runs before the
event loop. So, the window is tiled, its floating parent is destroyed,
but then a key event is handled which causes the position/size of the
now-destroyed parent to be modified.

Fixes #1627

6 years agoAdd con_exists function
Orestis Floros [Fri, 22 Sep 2017 16:22:48 +0000 (19:22 +0300)]
Add con_exists function

Checks the all_cons queue and returns true if a given con is found.

6 years agoRaise floating window to top when it gets focus
Orestis Floros [Fri, 22 Sep 2017 19:00:06 +0000 (22:00 +0300)]
Raise floating window to top when it gets focus

Applied for:
1. '[...] focus' for a floating container raises it to the top.
2. Focusing a window through a focus event raises it to the top.

Fixes #2572

6 years agoDon't put new floating windows on top unless they're focused
Martin T. H. Sandsmark [Tue, 27 Dec 2016 18:00:09 +0000 (19:00 +0100)]
Don't put new floating windows on top unless they're focused

6 years agoDo not canonicalize special output names
Vladimir Panteleev [Tue, 19 Sep 2017 14:46:27 +0000 (14:46 +0000)]
Do not canonicalize special output names

canonicalize_output_name allowed the "primary" special output name to
be canonicalized, thus converting it to the name of whatever output
was the primary output at the time. This caused settings
(specifically, i3bar output and tray_output settings) to be stored as
specific output names, instead of the intended special names whose
referred output may change as the system's configuration (i.e. current
primary output) changes.

Add a check to canonicalize_output_name to return the name as-is if it
is the special name "primary".

6 years agofake_outputs: Allow designating a fake output as primary
Vladimir Panteleev [Tue, 19 Sep 2017 14:42:13 +0000 (14:42 +0000)]
fake_outputs: Allow designating a fake output as primary

Allow appending 'P' to the fake output specification to set the
created output's "primary" flag, to allow writing test cases that
depend on the presence of a primary output.

6 years agofake_outputs: Don't read past the end of string
Vladimir Panteleev [Tue, 19 Sep 2017 14:37:35 +0000 (14:37 +0000)]
fake_outputs: Don't read past the end of string

fake_outputs_init would unconditionally increase the string read
pointer variable (walk) by one character more than the number of
characters that have been read, to skip past the character delimiting
records (a comma). However, when the input string was not terminated
by a comma, it would cause the function to read past the null
terminator instead.

Avoid this by explicitly checking for the expected delimiter.

6 years agofake_outputs: Use %n format specifier instead of sprintf
Vladimir Panteleev [Tue, 19 Sep 2017 14:33:51 +0000 (14:33 +0000)]
fake_outputs: Use %n format specifier instead of sprintf

fake_outputs_init used a sprintf invocation with a throw-away buffer
to estimate how many characters the sscanf invocation consumed. This
was unnecessary, and also potentially incorrect, as differences
between the read and formatted strings (such as leading zeros) could
lead to fake_outputs_init to lose its track.

Instead, use the %n format specifier which allows saving the number of
characters consumed by sscanf so far. %n is part of C99.

6 years agotests: unflake tests by not starting i3bar
Michael Stapelberg [Thu, 14 Sep 2017 11:35:26 +0000 (13:35 +0200)]
tests: unflake tests by not starting i3bar

6 years agotests: remove the (broken) exit_gracefully check
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.

6 years agotests: use i3_config arg instead of precisely one launch_with_config
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.

6 years agoi3test::XTEST: don’t “use i3test” to avoid clobbering state
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.

6 years agoReorder tests to not use the same number (#2947)
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

6 years agoKill windows between tests
Michael Stapelberg [Sun, 10 Sep 2017 09:31:10 +0000 (11:31 +0200)]
Kill windows between tests

6 years agoi3test: add kill_all_windows convenience function
Michael Stapelberg [Sun, 10 Sep 2017 09:30:56 +0000 (11:30 +0200)]
i3test: add kill_all_windows convenience function

6 years ago529-net-wm-desktop: avoid timeout, avoid restarts, split
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).

6 years ago165-for_window: merge config and re-use i3 instance, split remainder
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).

6 years agot/265-swap: don’t start new i3 instances with the same config
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.

6 years agoipc: document how to detect i3’s byte order in memory-safe languages (#2961)
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

6 years agoBugfix: avert crash by fixing focus when creating output containers (#2966)
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

6 years agoBugfix: don’t invalidate layout upon invalid 'layout toggle' params (#2965)
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

6 years agodocs/ipc: "urgent": complete the list of container types (#2967)
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!

6 years agoMigrate tooling to ExtUtils::MakeMaker (#2963)
Kent Fredric [Mon, 18 Sep 2017 11:03:54 +0000 (23:03 +1200)]
Migrate tooling to ExtUtils::MakeMaker (#2963)

6 years agoipc: rename COMMAND to RUN_COMMAND for consistency (#2956)
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.

6 years agoFix use of err after it is freed
Orestis Floros [Sat, 16 Sep 2017 22:14:47 +0000 (01:14 +0300)]
Fix use of err after it is freed

6 years agoFix wrong call to free
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.

6 years agoPrevent freeing of uninitialized pointer
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.

6 years agoipc: tree reply: document focus, nodes and floating_nodes (#2955)
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.

6 years agoFix 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.

6 years agoFix typo in con_parent_with_orientation description
Vladimir Panteleev [Thu, 14 Sep 2017 15:51:49 +0000 (15:51 +0000)]
Fix typo in con_parent_with_orientation description

6 years agotests: unflake t/257-keypress-group1-fallback.t (#2946)
Michael Stapelberg [Thu, 14 Sep 2017 15:48:37 +0000 (17:48 +0200)]
tests: unflake t/257-keypress-group1-fallback.t (#2946)

fixes #2944

6 years agovalidate JSON before loading
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

6 years agoBugfix: free incomplete containers when JSON parsing fails
Michael Stapelberg [Wed, 13 Sep 2017 14:39:13 +0000 (16:39 +0200)]
Bugfix: free incomplete containers when JSON parsing fails

related to #2755

6 years agoscalloc parse_config input to make sure it 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

6 years agoDon't insert newline at end of config with launch_with_config
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

6 years agodocs/userguide: Document that i3 can accept RandR output names
Vladimir Panteleev [Tue, 12 Sep 2017 09:27:49 +0000 (09:27 +0000)]
docs/userguide: Document that i3 can accept RandR output names

6 years ago533-randr15.t: Add test for bar output name canonicalization
Vladimir Panteleev [Tue, 12 Sep 2017 09:18:40 +0000 (09:18 +0000)]
533-randr15.t: Add test for bar output name canonicalization

6 years ago533-randr15.t: Stop hard-coding the output name
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.

6 years ago533-randr15.t: Add a fake output connected to the fake monitor
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.

6 years agotestcases/lib: Add inject_randr15_outputinfo argument
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.

6 years agoinject_randr1.5: Intercept X11 error responses in addition to replies
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.

6 years agoinject_randr1.5: Add RRGetOutputInfo reply injection
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.

6 years agoinject_randr1.5: Refactor reading and storing reply buffer to a struct
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.

6 years agoipc: Canonicalize output names in bar configuration
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.

6 years agorandr: Look up alternative output names when searching outputs
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.

6 years agorandr: Register monitors' output names as additional i3 output names
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.

6 years agoStore output names as a linked list
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.

6 years agoIntroduce output_primary_name function
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).

6 years agotestsuite: install Module::Install so that AnyEvent-I3/Makefile.PL works (#2940)
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

6 years agoFix userguide bug (#2932)
Orestis [Mon, 11 Sep 2017 19:31:29 +0000 (22:31 +0300)]
Fix userguide bug (#2932)

Fixes #2931

6 years agodocs/hacking-howto: Update section topology
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.

6 years agodocs/hacking-howto: Promote "How to build?" 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.

6 years agodocs/hacking-howto: Promote "Using git / sending patches" 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.

6 years agotests: run 533-randr15.t at the very end
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.

6 years agotests: unflake t/263-edge-borders.t
Michael Stapelberg [Sun, 10 Sep 2017 18:06:49 +0000 (20:06 +0200)]
tests: unflake t/263-edge-borders.t

6 years agotests: re-seed random number generator in workers
Michael Stapelberg [Sun, 10 Sep 2017 17:41:49 +0000 (19:41 +0200)]
tests: re-seed random number generator in workers

6 years agodocs/testsuite: Correct Xephyr package name on Arch Linux (#2913)
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`.

6 years agotestcases/Makefile.PL: tell MakeMaker this is a pure-Perl distribution (#2922)
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

6 years agoAdd files generated by make check in AnyEvent-I3/ to .gitignore (#2915)
Orestis [Sat, 9 Sep 2017 12:47:32 +0000 (15:47 +0300)]
Add files generated by make check in AnyEvent-I3/ to .gitignore (#2915)

6 years agoInclude AnyEvent-I3 directory in dist tarballs (#2916)
Michael Stapelberg [Sat, 9 Sep 2017 12:22:16 +0000 (14:22 +0200)]
Include AnyEvent-I3 directory in dist tarballs (#2916)

fixes #2905

6 years agotravis: downgrade temporarily due to asan issue
Michael Stapelberg [Sat, 9 Sep 2017 06:15:03 +0000 (08:15 +0200)]
travis: downgrade temporarily due to asan issue

fixes #2912

6 years agoi3bar: ensure get_buffer does not leak memory
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

6 years agoSet 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

6 years agoImprove 267-regress-mark-restart.t
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.

6 years agoCheck if con_id exists in cmd_swap (#2898)
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

6 years agoInvert condition to log debug message in correct situation (#2896)
Ingo Bürk [Tue, 5 Sep 2017 07:01:53 +0000 (09:01 +0200)]
Invert condition to log debug message in correct situation (#2896)

6 years agoProperly initialize sigaction struct
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().

6 years agoAvoid use of uninitialized in init_dpi_end
Theo Buehler [Wed, 23 Aug 2017 13:48:58 +0000 (15:48 +0200)]
Avoid use of uninitialized in init_dpi_end

If conn == NULL or display == NULL, init_dpi() jumps to init_dpi_end
before (declaring and) initializing resource. In init_dpi_end, there
is a free(resource) call conditionally on resource != NULL, so this
may lead to a bogus free. Found by clang -Wsometimes-uninitialized.

6 years agoUpdate debian/changelog
Michael Stapelberg [Mon, 4 Sep 2017 05:53:39 +0000 (07:53 +0200)]
Update debian/changelog

6 years agoMerge branch 'next' into master
Michael Stapelberg [Mon, 4 Sep 2017 05:53:39 +0000 (07:53 +0200)]
Merge branch 'next' into master

6 years agoMerge branch 'release-4.14'
Michael Stapelberg [Mon, 4 Sep 2017 05:53:39 +0000 (07:53 +0200)]
Merge branch 'release-4.14'

6 years agoSet non-git version to 4.14-non-git.
Michael Stapelberg [Mon, 4 Sep 2017 05:53:39 +0000 (07:53 +0200)]
Set non-git version to 4.14-non-git.

6 years agorelease i3 4.14 4.14
Michael Stapelberg [Mon, 4 Sep 2017 05:53:25 +0000 (07:53 +0200)]
release i3 4.14

6 years agoRevert "i3-nagbar: add button flag to execute action with /bin/sh directly" (#2893)
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)

6 years agoRespect focus_on_window_activation for ConfigureRequests (#2889)
Michael Stapelberg [Mon, 28 Aug 2017 10:07:56 +0000 (12:07 +0200)]
Respect focus_on_window_activation for ConfigureRequests (#2889)

fixes #2873

6 years agoMerge pull request #2888 from stapelberg/leak
Michael Stapelberg [Mon, 28 Aug 2017 10:07:40 +0000 (12:07 +0200)]
Merge pull request #2888 from stapelberg/leak

Fix memory leak

6 years agoUpdate doc for dependency Module::Install (#2877)
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.

6 years agodo leak check before exiting 2888/head
Michael Stapelberg [Mon, 28 Aug 2017 07:23:42 +0000 (09:23 +0200)]
do leak check before exiting

related to #2541

6 years agoFix memleak: free regex when parsing fails
Michael Stapelberg [Mon, 28 Aug 2017 07:22:38 +0000 (09:22 +0200)]
Fix memleak: free regex when parsing fails

fixes #2541

6 years agoMerge pull request #2882 from jolange/dev
Ingo Bürk [Sat, 26 Aug 2017 09:38:06 +0000 (11:38 +0200)]
Merge pull request #2882 from jolange/dev

docs markup fixes

6 years agodocs markup fixes 2882/head
Johannes Lange [Mon, 5 Jun 2017 12:30:49 +0000 (14:30 +0200)]
docs markup fixes

6 years agoMerge pull request #2868 from stapelberg/mouse
Ingo Bürk [Sun, 20 Aug 2017 16:07:34 +0000 (18:07 +0200)]
Merge pull request #2868 from stapelberg/mouse

t/264-keypress-numlock: add mouse binding test

6 years agot/264-keypress-numlock: add mouse binding test 2868/head
Michael Stapelberg [Sun, 20 Aug 2017 16:00:10 +0000 (18:00 +0200)]
t/264-keypress-numlock: add mouse binding test

fixes #2523

6 years agoRespect dont_warp flag when moving containers (#2867)
Michael Stapelberg [Sun, 20 Aug 2017 15:07:23 +0000 (17:07 +0200)]
Respect dont_warp flag when moving containers (#2867)

fixes #2681
fixes #2592

6 years agoi3bar: only restart child when command changed (#2866)
Michael Stapelberg [Sun, 20 Aug 2017 13:30:27 +0000 (15:30 +0200)]
i3bar: only restart child when command changed (#2866)

this is a follow-up to
https://github.com/i3/i3/commit/98f202dd1b2782d11a713513f5dcca2f52daab73

fixes #2689

6 years agoFocus windows upon ConfigureWindow with stack-mode=Above (#2865)
Michael Stapelberg [Sun, 20 Aug 2017 12:56:44 +0000 (14:56 +0200)]
Focus windows upon ConfigureWindow with stack-mode=Above (#2865)

fixes #2708
fixes #2745

6 years agoMerge pull request #2864 from stapelberg/fixconfig
Michael Stapelberg [Sun, 20 Aug 2017 11:16:53 +0000 (13:16 +0200)]
Merge pull request #2864 from stapelberg/fixconfig

Improve error messages for incorrect config lines starting with “set”

6 years agot/201-config-parser: update expected token list 2864/head
Michael Stapelberg [Sun, 20 Aug 2017 11:12:06 +0000 (13:12 +0200)]
t/201-config-parser: update expected token list

6 years agoparser: only skip set[\s], not set.*
Michael Stapelberg [Sun, 20 Aug 2017 10:58:13 +0000 (12:58 +0200)]
parser: only skip set[\s], not set.*

fixes #2564

6 years agostart nagbar when encountering invalid set statements
Michael Stapelberg [Sun, 20 Aug 2017 10:57:26 +0000 (12:57 +0200)]
start nagbar when encountering invalid set statements

related to #2564

6 years agoSkip lines consisting only of “set”
Michael Stapelberg [Sun, 20 Aug 2017 10:57:04 +0000 (12:57 +0200)]
Skip lines consisting only of “set”

6 years ago(Re-)initialize optional fields to empty strings
Michael Stapelberg [Sun, 20 Aug 2017 10:55:55 +0000 (12:55 +0200)]
(Re-)initialize optional fields to empty strings

6 years agoBugfix: check bounds before accessing memory
Michael Stapelberg [Sun, 20 Aug 2017 10:54:49 +0000 (12:54 +0200)]
Bugfix: check bounds before accessing memory

This fixes the following issue when having an error early in the config file:

==1562==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6220000180ff at pc 0x55c837edb1d3 bp 0x7ffee7534650 sp 0x7ffee7534648
READ of size 1 at 0x6220000180ff thread T0
    #0 0x55c837edb1d2 in start_of_line ../../i3/src/config_parser.c:238
    #1 0x55c837edc96f in parse_config ../../i3/src/config_parser.c:493
    #2 0x55c837edf527 in parse_file ../../i3/src/config_parser.c:1091
    #3 0x55c837ecf14b in parse_configuration ../../i3/src/config.c:65
    #4 0x55c837ed1ef4 in load_configuration ../../i3/src/config.c:230
    #5 0x55c837f0a8d0 in main ../../i3/src/main.c:539
    #6 0x7fb63ae042b0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202b0)
    #7 0x55c837e95eb9 in _start (/home/michael/i3/build/i3+0x4beb9)

0x6220000180ff is located 1 bytes to the left of 5165-byte region [0x622000018100,0x62200001952d)
allocated by thread T0 here:
    #0 0x7fb63e590cf8 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.3+0xc1cf8)
    #1 0x55c837f59aa6 in smalloc ../../i3/libi3/safewrappers.c:24
    #2 0x55c837edef45 in parse_file ../../i3/src/config_parser.c:1029
    #3 0x55c837ecf14b in parse_configuration ../../i3/src/config.c:65
    #4 0x55c837ed1ef4 in load_configuration ../../i3/src/config.c:230
    #5 0x55c837f0a8d0 in main ../../i3/src/main.c:539
    #6 0x7fb63ae042b0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202b0)

6 years agoMerge pull request #2863 from stapelberg/fixfreeze
Ingo Bürk [Sun, 20 Aug 2017 10:25:06 +0000 (12:25 +0200)]
Merge pull request #2863 from stapelberg/fixfreeze

i3bar: Bugfix: avoid freeze after VisibilityNotify

6 years agoi3bar: Bugfix: avoid freeze after VisibilityNotify 2863/head
Michael Stapelberg [Sun, 20 Aug 2017 10:14:12 +0000 (12:14 +0200)]
i3bar: Bugfix: avoid freeze after VisibilityNotify

fixes #2790

6 years agoBugfix: consider inactive monitors when querying (#2862)
Michael Stapelberg [Sat, 19 Aug 2017 22:19:45 +0000 (00:19 +0200)]
Bugfix: consider inactive monitors when querying (#2862)

fixes #2815
fixes #2594