Go to file
Michael Stapelberg 019ae6d06c 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
b5693d6fb3/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
b5693d6fb3/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
2015-12-22 22:33:37 +01:00
contrib contrib: add per-workspace-layout.pl 2014-01-26 16:51:32 +01:00
debian debian: update changelog 2015-09-30 09:03:34 +02:00
docs userguide: faq has moved to reddit 2015-12-20 13:12:37 +01:00
i3-config-wizard Merge pull request #1816 from tcreech/tcreech-for-illumos 2015-08-04 00:10:06 -07:00
i3-dump-log Update copyright notices and get rid of ranges 2015-04-20 17:50:21 -04:00
i3-input Use 32-bit visuals for i3bar when possible and allow RGBA colors. 2015-10-06 23:01:57 +02:00
i3-msg i3-msg: strdup getenv() result before freeing 2015-08-20 23:07:41 +03:00
i3-nagbar Use 32-bit visuals for i3bar when possible and allow RGBA colors. 2015-10-06 23:01:57 +02:00
i3bar Migrate i3 rendering to cairo. 2015-11-23 22:18:02 +01:00
include Support matching _NET_WM_WINDOW_TYPE_NOTIFICATION 2015-12-15 21:55:33 +01:00
libi3 Fail gracefully when the gc cannot be created 2015-12-03 18:59:35 +01:00
man man: add “floating window” to terminology (Thanks frederik) 2015-10-16 19:42:20 +02:00
parser-specs Optionally change i3bar color on focused output, implements #2020 2015-10-27 09:12:57 -04:00
src Bugfix: don’t remove SubstructureRedirect event mask temporarily 2015-12-22 22:33:37 +01:00
testcases Support matching _NET_WM_WINDOW_TYPE_NOTIFICATION 2015-12-15 21:55:33 +01:00
.clang-format clang-format: don’t define ForeachMacros 2014-06-19 11:17:46 +02:00
.gitignore Rebuild version.o when version.c or LAST_VERSION change 2015-04-12 12:31:58 -04:00
.travis.yml travis: install git 1.9.1 from trusty for git fetch --unshallow 2015-12-09 23:11:18 +01:00
common.mk Rename I3BAR_CAIRO to CAIRO_SUPPORT. 2015-11-07 14:28:45 -05:00
CONTRIBUTING.md docs: improve formatting for CONTRIBUTING 2015-08-01 14:50:55 -04:00
DEPENDS Raise dependency to cairo 1.14.4. 2015-11-02 17:32:04 -05:00
generate-command-parser.pl generate parser enums stably: additionally sort on name 2015-08-05 21:23:51 +01:00
i3-dmenu-desktop Update copyright notices and get rid of ranges 2015-04-20 17:50:21 -04:00
i3-migrate-config-to-v4 Remove dead documentation for non-existing feature "stack-limit". 2015-06-09 23:13:15 +02:00
i3-save-tree i3-save-tree: retain “rect” for floating_cons 2015-08-05 22:43:18 +02:00
i3-sensible-editor Quote the variables in i3-sensible-* correctly 2015-11-30 21:36:23 +00:00
i3-sensible-pager Quote the variables in i3-sensible-* correctly 2015-11-30 21:36:23 +00:00
i3-sensible-terminal Quote the variables in i3-sensible-* correctly 2015-11-30 21:36:23 +00:00
i3-with-shmlog.xsession.desktop enable shmlog when invoked as i3-with-shmlog, install symlink + .desktop file 2014-01-04 12:18:45 +01:00
i3.applications.desktop Add 'NoDisplay=true' to i3.application.desktop 2013-06-12 19:47:57 +02:00
i3.config Add 'tray_output primary' to the default config 2015-08-25 18:56:05 +02:00
i3.config.keycodes Add 'tray_output primary' to the default config 2015-08-25 18:56:05 +02:00
i3.xsession.desktop set DesktopNames (which gdm uses) (Thanks Yves-Alexis) 2014-10-23 23:18:15 +02:00
LICENSE remove obsolete CMDMODE and TODO files, update LICENSE 2011-10-08 15:18:04 +01:00
logo.svg s/i3.zekjur.net/i3wm.org/g 2011-08-28 17:44:42 +02:00
Makefile Rebuild version.o when version.c or LAST_VERSION change 2015-04-12 12:31:58 -04:00
PACKAGE-MAINTAINER Fix contact information 2015-11-22 19:57:46 +01:00
pseudo-doc.doxygen s/i3.zekjur.net/i3wm.org/g 2011-08-28 17:44:42 +02:00
RELEASE-NOTES-4.11 release i3 4.11 2015-09-30 08:55:07 +02:00
release.sh Use https if possible 2015-11-19 13:32:35 +01:00