]> git.sur5r.net Git - i3/i3/log
i3/i3
8 years agoAdded Neovim to i3-sensible-editor 2186/head
Brian Millar [Mon, 1 Feb 2016 01:18:41 +0000 (01:18 +0000)]
Added Neovim to i3-sensible-editor

8 years agoMerge pull request #2185 from nicklan/next
Michael Stapelberg [Sun, 31 Jan 2016 21:22:04 +0000 (22:22 +0100)]
Merge pull request #2185 from nicklan/next

Fix issue #2184.  don't send atom, but raw code

8 years agoFix issue #2184. don't send atom, but raw code 2185/head
Nick Lanham [Sun, 31 Jan 2016 20:21:47 +0000 (12:21 -0800)]
Fix issue #2184.  don't send atom, but raw code

XEMBED messages aren't atoms, but just codes, so i3bar should just send
XEMBED_EMBEDDED_NOTIFY rather than indexing the atom array.

8 years agoMerge pull request #2183 from jolange/hacking_update
Michael Stapelberg [Sun, 31 Jan 2016 15:22:21 +0000 (16:22 +0100)]
Merge pull request #2183 from jolange/hacking_update

changed old `cfgparse.y` reference to `config_parser.c`

8 years agochanged old "cfgparse.y" reference to "config_parser.c" 2183/head
Johannes Lange [Sat, 30 Jan 2016 12:40:45 +0000 (13:40 +0100)]
changed old "cfgparse.y" reference to "config_parser.c"

8 years agoMerge pull request #2177 from dcoppa/next
Michael Stapelberg [Tue, 26 Jan 2016 09:06:27 +0000 (01:06 -0800)]
Merge pull request #2177 from dcoppa/next

Remove commented-out code and fix i3-nagbar manpage

8 years agoFix i3-nagbar example. 2177/head
David Coppa [Tue, 26 Jan 2016 08:57:59 +0000 (09:57 +0100)]
Fix i3-nagbar example.

8 years agoRemove commented-out code.
David Coppa [Tue, 26 Jan 2016 08:55:24 +0000 (09:55 +0100)]
Remove commented-out code.

8 years agoMerge pull request #2172 from Airblader/bug-net-wm-desktop-1
Michael Stapelberg [Mon, 25 Jan 2016 08:30:12 +0000 (00:30 -0800)]
Merge pull request #2172 from Airblader/bug-net-wm-desktop-1

Don't ignore focus on _NET_WM_DESKTOP client messages.

8 years agoDon't ignore focus on _NET_WM_DESKTOP client messages. 2172/head
Ingo Bürk [Fri, 22 Jan 2016 19:32:51 +0000 (20:32 +0100)]
Don't ignore focus on _NET_WM_DESKTOP client messages.

Ignoring the focus leads to a broken focus if the pointer is, e.g.,
over i3bar at the point in time the window is moved by the client
message. It also causes i3bar's workspace display to break.

Thanks to GermainZ for reporting.

8 years agoMerge pull request #2169 from Airblader/bug-2168
Michael Stapelberg [Wed, 20 Jan 2016 21:43:20 +0000 (13:43 -0800)]
Merge pull request #2169 from Airblader/bug-2168

Don't grab the buttons on the root window.

8 years agoDon't grab the buttons on the root window. 2169/head
Ingo Bürk [Wed, 20 Jan 2016 21:28:20 +0000 (22:28 +0100)]
Don't grab the buttons on the root window.

We don't actually need to grab the buttons to fix #2097, but doing so
will cause a freeze due to unreleased events.

We partially revert 6f12f02 which avoids the freeze, but doesn't break
functionality.

relates to #2097
fixes #2168

8 years agoMerge pull request #2162 from Airblader/feature-2153
Michael Stapelberg [Mon, 18 Jan 2016 21:31:03 +0000 (13:31 -0800)]
Merge pull request #2162 from Airblader/feature-2153

Handle the EWMH atom _NET_WM_DESKTOP.

8 years agoHandle the EWMH atom _NET_WM_DESKTOP. 2162/head
Ingo Bürk [Mon, 11 Jan 2016 19:53:26 +0000 (20:53 +0100)]
Handle the EWMH atom _NET_WM_DESKTOP.

We already claim _NET_WM_DESKTOP support in _NET_SUPPORTED since around 2009,
but haven't actually done anything with it. However, especially pagers like
gnome-panel rely on this property to be updated and many tools, like GTK, want
to use the corresponding client messages to make a window sticky, move it
around etc.

This patch implements full support according to the EWMH spec. This means:

* We set the property on all windows when managing it.
* We keep the property updated on all windows at all times.
* We read and respect the property upon managing a window if it was set before
  mapping the window.
* We react to client messages for it.
* We remove the property on withdrawn windows.

Note that the special value 0xFFFFFFFF, according to the spec, means that the
window shall be shown on all workspaces. We do this by making it sticky and
float it. This shows it on all workspaces at least on the output it is on.

Furthermore, the spec gives us the freedom to ignore _NET_WM_DESKTOP when
managing a window if we have good reason to. In our case, we give window
swallowing a higher priority since the user would likely expect that and we
want to keep placeholder windows only around for as long as we have to.
However, we do prioritize this property over, for example, startup
notifications.

fixes #2153
fixes #1507
fixes #938

8 years agoMerge pull request #2164 from pra85/patch-1
Michael Stapelberg [Sun, 17 Jan 2016 21:22:11 +0000 (13:22 -0800)]
Merge pull request #2164 from pra85/patch-1

Update license year range to 2016

8 years agoMerge pull request #2161 from botovq/next
Michael Stapelberg [Sun, 17 Jan 2016 21:21:56 +0000 (13:21 -0800)]
Merge pull request #2161 from botovq/next

Add pledge support for OpenBSD

8 years agoAdd pledge(2) support for OpenBSD 2161/head
Theo Buehler [Thu, 14 Jan 2016 09:06:34 +0000 (10:06 +0100)]
Add pledge(2) support for OpenBSD

pledges for i3:
"stdio rpath unix" for talking to the i3 socket usually in /tmp
"proc exec" for executing programs
"wpath cpath" are needed for the restart-in-place functionality

To make this work, @semarie pointed out that it is sufficient to ensure
that we get physical_mem_bytes only once, namely in init_logging().

pledges for i3-msg:
"stdio rpath unix" are needed for talking to the i3-socket

pledges for i3-nagbar
"rpath getpw" to find the home directory
"wpath cpath" to write the script
"proc exec" to execute the script

8 years agoRemove copyright year range from License 2164/head
Prayag Verma [Sun, 17 Jan 2016 10:55:54 +0000 (16:25 +0530)]
Remove copyright year range from License

8 years agotravis: use trusty (simpler config, faster builds)
Michael Stapelberg [Mon, 11 Jan 2016 20:18:11 +0000 (21:18 +0100)]
travis: use trusty (simpler config, faster builds)

8 years agotravis: build with AddressSanitizer enabled
Michael Stapelberg [Mon, 11 Jan 2016 19:59:26 +0000 (20:59 +0100)]
travis: build with AddressSanitizer enabled

This requires us to use a more recent compiler.

8 years agoMerge pull request #2156 from Airblader/feature-2154
Michael Stapelberg [Sun, 10 Jan 2016 19:04:08 +0000 (11:04 -0800)]
Merge pull request #2156 from Airblader/feature-2154

Rename decoration_border to child_border.

8 years agoRename decoration_border to child_border. 2156/head
Ingo Bürk [Sat, 9 Jan 2016 21:47:33 +0000 (16:47 -0500)]
Rename decoration_border to child_border.

fixes #2154

8 years agotests: switch to xft fonts
Michael Stapelberg [Sat, 9 Jan 2016 16:22:45 +0000 (17:22 +0100)]
tests: switch to xft fonts

See issue #2155 for details.

8 years agotestcases: report tests with AddressSanitizer/LeakSanitizer reports
Michael Stapelberg [Sat, 9 Jan 2016 16:19:12 +0000 (17:19 +0100)]
testcases: report tests with AddressSanitizer/LeakSanitizer reports

8 years agoASAN: trigger leak before exiting
Michael Stapelberg [Sat, 9 Jan 2016 16:18:05 +0000 (17:18 +0100)]
ASAN: trigger leak before exiting

This disables the default leak-check-on-exit behavior which reports a
bunch of leaks that are only leaks while exiting, at which point they
don’t matter, because the operating system will clean up the memory our
process used.

8 years agocommon.mk: add ASAN flag for AddressSanitizer
Michael Stapelberg [Sat, 9 Jan 2016 16:15:33 +0000 (17:15 +0100)]
common.mk: add ASAN flag for AddressSanitizer

See https://github.com/google/sanitizers/wiki for details.
Compile with “make ASAN=1” to enable.

8 years agofont: free errors
Michael Stapelberg [Sat, 9 Jan 2016 16:07:23 +0000 (17:07 +0100)]
font: free errors

8 years agofix memory leak: use xcb_disconnect() instead of free()
Michael Stapelberg [Sat, 9 Jan 2016 16:05:40 +0000 (17:05 +0100)]
fix memory leak: use xcb_disconnect() instead of free()

8 years agoi3bar: free font when exiting
Michael Stapelberg [Sat, 9 Jan 2016 16:03:36 +0000 (17:03 +0100)]
i3bar: free font when exiting

8 years agoi3bar: fix memory leak
Michael Stapelberg [Sat, 9 Jan 2016 16:03:29 +0000 (17:03 +0100)]
i3bar: fix memory leak

8 years agofix memory leak when swallowing windows
Michael Stapelberg [Sat, 9 Jan 2016 15:47:48 +0000 (16:47 +0100)]
fix memory leak when swallowing windows

8 years agomanage.c: fix memory leak
Michael Stapelberg [Sat, 9 Jan 2016 15:34:41 +0000 (16:34 +0100)]
manage.c: fix memory leak

8 years agofree dynamically allocated matches
Michael Stapelberg [Sat, 9 Jan 2016 13:19:00 +0000 (14:19 +0100)]
free dynamically allocated matches

8 years agofree container matches when destroying containers
Michael Stapelberg [Sat, 9 Jan 2016 13:18:16 +0000 (14:18 +0100)]
free container matches when destroying containers

8 years agotree_append_json: fix memory leaks
Michael Stapelberg [Sat, 9 Jan 2016 13:17:47 +0000 (14:17 +0100)]
tree_append_json: fix memory leaks

8 years agocon_get_tree_representation: fix memory leak
Michael Stapelberg [Sat, 9 Jan 2016 13:05:05 +0000 (14:05 +0100)]
con_get_tree_representation: fix memory leak

8 years agowindow.c: fix memory leak
Michael Stapelberg [Sat, 9 Jan 2016 12:54:37 +0000 (13:54 +0100)]
window.c: fix memory leak

8 years agoreload: fix memory leak
Michael Stapelberg [Sat, 9 Jan 2016 12:46:49 +0000 (13:46 +0100)]
reload: fix memory leak

8 years agocommands.c: fix memory leak
Michael Stapelberg [Sat, 9 Jan 2016 12:39:00 +0000 (13:39 +0100)]
commands.c: fix memory leak

8 years agox.c: fix memory leak
Michael Stapelberg [Sat, 9 Jan 2016 12:13:57 +0000 (13:13 +0100)]
x.c: fix memory leak

8 years agolog.c: fix memory leak
Michael Stapelberg [Sat, 9 Jan 2016 12:10:54 +0000 (13:10 +0100)]
log.c: fix memory leak

8 years agotree_restore(): fix memory leak
Michael Stapelberg [Sat, 9 Jan 2016 11:50:29 +0000 (12:50 +0100)]
tree_restore(): fix memory leak

8 years agot/525-i3bar-mouse-bindings: wait for i3bar to appear before testing
Michael Stapelberg [Sat, 9 Jan 2016 11:47:00 +0000 (12:47 +0100)]
t/525-i3bar-mouse-bindings: wait for i3bar to appear before testing

Otherwise, this test is flaky when i3bar takes a while to start.

8 years agoi3test::XTEST: free errors and connections with errors
Michael Stapelberg [Sat, 9 Jan 2016 11:41:02 +0000 (12:41 +0100)]
i3test::XTEST: free errors and connections with errors

8 years agoi3bar: fix memory leak in socket path
Michael Stapelberg [Sat, 9 Jan 2016 11:30:15 +0000 (12:30 +0100)]
i3bar: fix memory leak in socket path

8 years agofix memory leak: free(pointerreply);
Michael Stapelberg [Sat, 9 Jan 2016 11:07:47 +0000 (12:07 +0100)]
fix memory leak: free(pointerreply);

8 years agoipc: fix memory leak when clients with subscriptions disconnect
Michael Stapelberg [Fri, 8 Jan 2016 20:24:21 +0000 (21:24 +0100)]
ipc: fix memory leak when clients with subscriptions disconnect

8 years agoipc: fix cosmetic memory leak when shutting down
Michael Stapelberg [Fri, 8 Jan 2016 20:24:12 +0000 (21:24 +0100)]
ipc: fix cosmetic memory leak when shutting down

8 years agocon_mark: fix heap-use-after-free
Michael Stapelberg [Fri, 8 Jan 2016 19:41:09 +0000 (20:41 +0100)]
con_mark: fix heap-use-after-free

8 years agorename workspace: fix heap-use-after-free
Michael Stapelberg [Fri, 8 Jan 2016 19:21:54 +0000 (20:21 +0100)]
rename workspace: fix heap-use-after-free

8 years agoi3-dump-log: explicitly free shmname
Michael Stapelberg [Fri, 8 Jan 2016 19:17:34 +0000 (20:17 +0100)]
i3-dump-log: explicitly free shmname

Reduces memory usage and makes LeakSanitizer more quiet.

8 years agoroot_atom_contents: properly clean up in all cases
Michael Stapelberg [Fri, 8 Jan 2016 19:15:34 +0000 (20:15 +0100)]
root_atom_contents: properly clean up in all cases

8 years agobindings.h: mark DEFAULT_BINDING_MODE as external
Michael Stapelberg [Fri, 8 Jan 2016 18:56:32 +0000 (19:56 +0100)]
bindings.h: mark DEFAULT_BINDING_MODE as external

This prevents the following linker warning (only when compiling with
-fsanitize=address):

/usr/bin/ld: Warning: size of symbol `DEFAULT_BINDING_MODE' changed
from 8 in src/resize.o to 64 in src/bindings.o

8 years agoMerge pull request #2150 from Airblader/bug-2149
Michael Stapelberg [Wed, 6 Jan 2016 20:15:18 +0000 (21:15 +0100)]
Merge pull request #2150 from Airblader/bug-2149

Use correct fallback color for decoration_border.

8 years agoUse correct fallback color for decoration_border. 2150/head
Ingo Bürk [Wed, 6 Jan 2016 14:19:42 +0000 (09:19 -0500)]
Use correct fallback color for decoration_border.

The newly introduced decoration_border color incorrectly uses the default value
for "background" as a fallback when not specified. Instead, it should use the
user-specified "background" as a fallback.

fixes #2149

8 years agoMerge pull request #2145 from Airblader/bug-2144
Michael Stapelberg [Wed, 6 Jan 2016 08:15:07 +0000 (09:15 +0100)]
Merge pull request #2145 from Airblader/bug-2144

Fix segfault when calling "i3 -C".

8 years agoFix segfault when calling "i3 -C". 2145/head
Ingo Bürk [Sun, 3 Jan 2016 00:11:55 +0000 (19:11 -0500)]
Fix segfault when calling "i3 -C".

Commit 287a0b4 introduced a segfault when validating the i3 config
as the root_screen will not be set in this case, causing a null
pointer dereference.

fixes #2144

8 years agoMerge pull request #2143 from Airblader/feature-2120
Michael Stapelberg [Tue, 5 Jan 2016 21:32:15 +0000 (22:32 +0100)]
Merge pull request #2143 from Airblader/feature-2120

Allow title_format for all containers

8 years agoMerge pull request #2136 from lotheac/next
Michael Stapelberg [Tue, 5 Jan 2016 21:24:53 +0000 (22:24 +0100)]
Merge pull request #2136 from lotheac/next

draw client borders in border color, not background

8 years agoMove title_format from window to container. 2143/head
Ingo Bürk [Tue, 29 Dec 2015 17:01:51 +0000 (12:01 -0500)]
Move title_format from window to container.

This patch moves the title_format information from windows to containers.
Furthermore, it allows correctly setting it on window-less containers and
displays the title accordingly for split containers.

We now also dump and read title_format in GET_TREE / during restarts.

fixes #2120

8 years agoadd decoration_border color for the actual client borders 2136/head
Lauri Tirkkonen [Mon, 28 Dec 2015 12:37:42 +0000 (14:37 +0200)]
add decoration_border color for the actual client borders

see https://github.com/i3/i3/pull/2136

8 years agoMerge pull request #2148 from Airblader/feature-2120-memleaks
Michael Stapelberg [Tue, 5 Jan 2016 08:11:44 +0000 (09:11 +0100)]
Merge pull request #2148 from Airblader/feature-2120-memleaks

Fix memory leaks in title_format.

8 years agoFix memory leaks in title_format. 2148/head
Ingo Bürk [Mon, 4 Jan 2016 23:39:40 +0000 (18:39 -0500)]
Fix memory leaks in title_format.

This fixes three memory leaks that were found during the implementation of #2120
so that they can be fixed in a bugfix release.

relates to #2143

8 years agoMerge pull request #2139 from jolange/feature_split-toggle
Michael Stapelberg [Mon, 4 Jan 2016 18:34:09 +0000 (19:34 +0100)]
Merge pull request #2139 from jolange/feature_split-toggle

added "toggle" option to "split" command

8 years agoadded "toggle" option to "split" command 2139/head
Johannes Lange [Mon, 4 Jan 2016 16:31:47 +0000 (17:31 +0100)]
added "toggle" option to "split" command

as requested in #1814

8 years agoi3-nagbar: explicitly set cursor using libxcursor if available
Michael Stapelberg [Mon, 4 Jan 2016 08:26:45 +0000 (09:26 +0100)]
i3-nagbar: explicitly set cursor using libxcursor if available

See commit b1f1da432 for context.

fixes #2114

8 years agoMerge pull request #2133 from Airblader/feature-2115
Michael Stapelberg [Mon, 4 Jan 2016 08:04:51 +0000 (09:04 +0100)]
Merge pull request #2133 from Airblader/feature-2115

Added test for #2097.

8 years agoMigrate "xdotool click" in tests to XTEST. 2133/head
Ingo Bürk [Mon, 4 Jan 2016 02:48:39 +0000 (21:48 -0500)]
Migrate "xdotool click" in tests to XTEST.

8 years agoAdded test for #2097.
Ingo Bürk [Mon, 28 Dec 2015 00:03:31 +0000 (19:03 -0500)]
Added test for #2097.

fixes #2115

8 years agoMerge pull request #2135 from Alexis211/colors
Michael Stapelberg [Wed, 30 Dec 2015 15:24:31 +0000 (16:24 +0100)]
Merge pull request #2135 from Alexis211/colors

Correct color management for non-true color displays

8 years agodocs/ipc: add https://github.com/drmgc/i3ipcpp
Michael Stapelberg [Wed, 30 Dec 2015 14:59:53 +0000 (15:59 +0100)]
docs/ipc: add https://github.com/drmgc/i3ipcpp

8 years agoget_colorpixel support for non-true color displays 2135/head
Alex Auvolat [Mon, 28 Dec 2015 11:58:32 +0000 (12:58 +0100)]
get_colorpixel support for non-true color displays

Re-introduce fully-fledged get_colorpixel function, which enables arbitrary
color depths for the display.  The previous code is kept as an optimization for
the case of a true color display, where a X11 roundtrip is unnecessary.

8 years agoCorrect color management for pango fonts
Alex Auvolat [Mon, 28 Dec 2015 11:43:53 +0000 (12:43 +0100)]
Correct color management for pango fonts

Corrects the cases where the colorpixel is not 0xRRGGBB : we have to
use the full color_t struct to describe font colors, as Pango expects
RGB values and not an XCB colorpixel value.

8 years agoMerge pull request #2138 from Alexis211/factor
Michael Stapelberg [Tue, 29 Dec 2015 12:51:15 +0000 (13:51 +0100)]
Merge pull request #2138 from Alexis211/factor

Refactor extern definition of conn and root_screen

8 years agoRefactor extern definition of conn and root_screen 2138/head
Alex Auvolat [Tue, 29 Dec 2015 11:47:12 +0000 (12:47 +0100)]
Refactor extern definition of conn and root_screen

8 years agoMerge pull request #2137 from fmthoma/fix-assign-workspace
Michael Stapelberg [Tue, 29 Dec 2015 11:26:38 +0000 (12:26 +0100)]
Merge pull request #2137 from fmthoma/fix-assign-workspace

Comply with documentation: 'workspace' token in 'assign' command

8 years agoMerge pull request #2131 from kneitinger/next
Michael Stapelberg [Tue, 29 Dec 2015 11:18:57 +0000 (12:18 +0100)]
Merge pull request #2131 from kneitinger/next

userguide: clarify quoting of exec commands

8 years agoMerge pull request #2134 from Airblader/bug-1761
Michael Stapelberg [Tue, 29 Dec 2015 10:50:58 +0000 (11:50 +0100)]
Merge pull request #2134 from Airblader/bug-1761

Properly validate containers when killing via criteria

8 years agoMerge pull request #2132 from Airblader/bug-2128
Michael Stapelberg [Tue, 29 Dec 2015 10:44:19 +0000 (11:44 +0100)]
Merge pull request #2132 from Airblader/bug-2128

Move urgent flag before killing the parent.

8 years agoComply with documentation: 'workspace' token in 'assign' command 2137/head
Franz Thoma [Mon, 28 Dec 2015 18:38:17 +0000 (19:38 +0100)]
Comply with documentation: 'workspace' token in 'assign' command

According to the User's Guide [1], an `assign` command allows a
`workspace` token after the selector, as an alternative or in addition
to the unicode arrow `→`. In reality, however, the `workspace` token is
not recognized.

Example:
  assign [class="Firefox"] workspace "1: Browser"
should assign Firefox windows to workspace `1: Browser`, but the the
browser window appears on a new workspace called
`workspace "1: Browser"` instead.

With this fix, both `→` and `workspace` are recognized (and ignored)
after the selector.

[1] https://i3wm.org/docs/userguide.html#_automatically_putting_clients_on_specific_workspaces

8 years agoValidate matched containers for "kill" command correctly. 2134/head
Ingo Bürk [Mon, 28 Dec 2015 03:11:51 +0000 (22:11 -0500)]
Validate matched containers for "kill" command correctly.

We now execute the validations when "kill" is executed even if match
criteria are used. This prevents users from killing workspace containers,
which instead kills all clients (as before when not using criteria).

fixes #1761

8 years agoRename tree_close() to tree_close_internal().
Ingo Bürk [Mon, 28 Dec 2015 01:58:35 +0000 (20:58 -0500)]
Rename tree_close() to tree_close_internal().

It should be clear for callers of this function that this is an internal
function that skips certain validations which might be important. Therefore
we make it clear that this is an internal function by renaming it.

relates to #1761

8 years agoMove urgent flag before killing the parent. 2132/head
Ingo Bürk [Sun, 27 Dec 2015 23:08:30 +0000 (18:08 -0500)]
Move urgent flag before killing the parent.

We need to move the urgent flag when moving a container across
workspaces before calling on_remove_child on the parent in order
to avoid a crash.

fixes #2128

8 years agouserguide: clarify quoting of exec commands 2131/head
Kyle Kneitinger [Sun, 27 Dec 2015 07:29:26 +0000 (23:29 -0800)]
userguide: clarify quoting of exec commands

8 years agoMerge pull request #2113 from Airblader/bug-2111
Michael Stapelberg [Fri, 25 Dec 2015 16:14:29 +0000 (17:14 +0100)]
Merge pull request #2113 from Airblader/bug-2111

Match on all criteria even if con_id or con_mark are given.

8 years agoi3bar: explicitly set cursor using libxcursor if available
Michael Stapelberg [Fri, 25 Dec 2015 15:38:11 +0000 (16:38 +0100)]
i3bar: explicitly set cursor using libxcursor if available

Even if the X11 root window cursor is not set up correctly for some
reason, with this fix, users should at least see the correct cursor when
the pointer is over i3bar.

see issue #2114

8 years agomake: should be XCB_CURSOR, not XCURSOR
Michael Stapelberg [Fri, 25 Dec 2015 15:37:44 +0000 (16:37 +0100)]
make: should be XCB_CURSOR, not XCURSOR

After all, we’re not using libXcursor, but libxcb-cursor :).

8 years agoBugfix: don’t remove SubstructureRedirect event mask temporarily
Michael Stapelberg [Tue, 22 Dec 2015 21:33:37 +0000 (22:33 +0100)]
Bugfix: don’t remove SubstructureRedirect event mask temporarily

This fixes race conditions, for example when i3bar gets reconfigured
after the available outputs change. In that specific case, i3bar sends a
ConfigureWindow request (see
https://github.com/i3/i3/blob/b5693d6fb33ad29337e4187a2db4a2618ea8fb4c/i3bar/src/xcb.c#L376)
which normally is turned into a ConfigureRequest that i3 largely
ignores, only the dock client’s height is considered (see
https://github.com/i3/i3/blob/b5693d6fb33ad29337e4187a2db4a2618ea8fb4c/src/handlers.c#L390).

Turning ConfigureWindow into ConfigureRequest is only done when the
SubstructureRedirect event mask is set, and because we temporarily
removed _all_ events from our mask, the ConfigureWindow request went
through unmodified.

This in turn lead to the i3bar client window (not its decoration frame)
being positioned at e.g. y=1304, whereas dock client windows should
always end up at x=0 y=0 within their decoration frame. The result of
the i3bar client window being out of the visible space was either a
black i3bar or graphics corruption.

This also fixes issue #1904, I think. I couldn’t reproduce issue #1904
specifically, but when i3bar is in the misconfigured state, it will
receive a VisibilityNotify event, telling i3bar that it is obscured.
This would explain why i3bar sent a SIGSTOP in issue #1904.

fixes #1904

8 years agouserguide: faq has moved to reddit
Michael Stapelberg [Sun, 20 Dec 2015 12:12:37 +0000 (13:12 +0100)]
userguide: faq has moved to reddit

8 years agoMerge pull request #2121 from Airblader/bug-base-10
Michael Stapelberg [Thu, 17 Dec 2015 21:10:06 +0000 (22:10 +0100)]
Merge pull request #2121 from Airblader/bug-base-10

Don't force base 10 for parsing id.

8 years agoDon't force base 10 for parsing id. 2121/head
Ingo Bürk [Thu, 17 Dec 2015 14:43:34 +0000 (09:43 -0500)]
Don't force base 10 for parsing id.

8 years agoMatch on all criteria even if con_id or con_mark are given. 2113/head
Ingo Bürk [Tue, 15 Dec 2015 12:38:56 +0000 (07:38 -0500)]
Match on all criteria even if con_id or con_mark are given.

Previously, if a match specification contained the con_id or con_mark criterion,
all other criteria were ignored. However, a user may want to specify one of
those two unique identifiers and still specify others as well, for example to
match the currently focused window, but only if it has a certain WM_CLASS:

    [con_id=__focused__ class=special] kill

We now check all specified criteria.

fixes #2111

8 years agoMerge pull request #2102 from ccryx/next
Michael Stapelberg [Wed, 16 Dec 2015 07:58:59 +0000 (08:58 +0100)]
Merge pull request #2102 from ccryx/next

Add support for _NET_WM_WINDOW_TYPE_NOTIFICATION

8 years agoMerge pull request #2112 from Airblader/feature-multiple-tree-render
Michael Stapelberg [Wed, 16 Dec 2015 07:56:11 +0000 (08:56 +0100)]
Merge pull request #2112 from Airblader/feature-multiple-tree-render

Avoid rendering the tree twice in a row

8 years agoSupport matching _NET_WM_WINDOW_TYPE_NOTIFICATION 2102/head
Florian Merkel [Mon, 7 Dec 2015 11:34:24 +0000 (12:34 +0100)]
Support matching _NET_WM_WINDOW_TYPE_NOTIFICATION

This commit fixes #1969 by adding support for matching a window's type
against _NET_WM_WINDOW_TYPE_NOTIFICATION. The userguide and tests were
updated to reflect this change.

8 years agoAvoid rendering the tree twice in a row 2112/head
Ingo Bürk [Tue, 15 Dec 2015 12:21:11 +0000 (07:21 -0500)]
Avoid rendering the tree twice in a row

The callee already renders the tree if necessary, so despite the documentation
of the function, doing it again on the caller side is unnecessary.

8 years agoMerge pull request #2108 from Airblader/feature-2097
Michael Stapelberg [Tue, 15 Dec 2015 18:15:03 +0000 (19:15 +0100)]
Merge pull request #2108 from Airblader/feature-2097

Allow mouse bindings to run on the root window.

8 years agoAllow mouse bindings to run on the root window. 2108/head
Ingo Bürk [Sat, 12 Dec 2015 20:45:59 +0000 (15:45 -0500)]
Allow mouse bindings to run on the root window.

Previously, mouse bindings could only be run when a window was present,
by using --whole-window. Such bindings would not work on empty
workspaces. However, this is a valid usecase for bindings like

    bindsym $mod+button4 workspace prev
    bindsym $mod+button5 workspace next

Hence, we need to grab the root window as well and run bindings on it.

fixes #2097

8 years agoMerge pull request #2105 from Airblader/bug-2099
Michael Stapelberg [Mon, 14 Dec 2015 19:48:49 +0000 (20:48 +0100)]
Merge pull request #2105 from Airblader/bug-2099

Reject empty swallow definitions

8 years agoMerge pull request #2103 from Airblader/bug-2091
Michael Stapelberg [Mon, 14 Dec 2015 08:17:12 +0000 (09:17 +0100)]
Merge pull request #2103 from Airblader/bug-2091

Reject invalid match criteria with an error.