i3/include
Michael Stapelberg 3721c598bd Bugfix: Set the cursor via the Xlib connection if XCursor is supported
This fixes a race where we created cursors on the Xlib connection, flushed,
then used the cursor on the XCB connection. Even though we flushed, the X
server did not process the requests yet and therefore returned a BadCursor
error.

This bugfix uses the Xlib connection for setting the root window cursor which
will ensure that the requests are properly serialized.

An easy test for this (on my machine) is the following ~/.xsession:
    xsetroot -cursor_name cross
    exec i3
If you see a cross cursor instead of the pointer, the race happens. You’ll see
a error_code=6 error in your ~/.xsession-errors.
2011-07-29 13:13:51 +02:00
..
i3 Ported over some message types from -next. 2010-11-21 21:36:19 +01:00
all.h Time Lord technology: for_window config directive to run arbitrary cmds 2011-05-15 20:10:25 +02:00
assignments.h Implement assignments for (named) workspaces, with '~' compatibility (floating) 2011-05-23 18:41:17 +02:00
atoms.xmacro Set some more atoms for _NET_SUPPORTED (Thanks lexszero) 2011-07-23 22:40:47 +02:00
click.h refactor handlers.{c,h}: declare the handlers static, remove unnecessary parameters 2011-03-20 16:53:12 +01:00
cmdparse.h ipc/parser: commands can now return custom JSON replies 2010-07-17 15:15:37 +02:00
con.h Implement 'fullscreen global' 2011-06-10 18:27:20 +02:00
config.h add i3-nagbar. tells you about config file errors (for example) 2011-07-10 14:33:19 +02:00
data.h patch to allow exec_always in configure file 2011-07-12 18:23:14 +02:00
debug.h Add vim hints, copyright notice to each file, add LICENSE, retab! everything 2009-02-14 02:33:31 +01:00
ewmh.h Bring back some more EWMH support. 2011-03-14 17:11:33 +01:00
floating.h Bugfix: Check if a floating window’s coordinates are within a different workspace when managing (Thanks Merovius) 2011-04-18 19:28:03 +02:00
handlers.h Ignore X11 errors caused by ReparentWindow / ChangeProperty on already destroyed windows 2011-07-10 23:44:13 +02:00
i3.h Bugfix: use the global root variable, don’t get the first one (Thanks quaec) 2011-07-23 22:29:01 +02:00
ipc.h Set the I3_SOCKET_PATH atom to the expanded path. 2011-03-21 23:46:03 +01:00
load_layout.h first step of the big refactoring ("tree" branch). 2010-04-13 13:17:39 +02:00
log.h add i3-nagbar. tells you about config file errors (for example) 2011-07-10 14:33:19 +02:00
manage.h Make i3 compatible with the very latest xcb 2011-03-18 14:39:27 +01:00
match.h Implement assignments for (named) workspaces, with '~' compatibility (floating) 2011-05-23 18:41:17 +02:00
move.h refactor tree_move() into src/move.c, change config (!), change testcase 2011-02-14 23:05:20 +01:00
output.h Bugfix: fix disabling RandR outputs 2011-02-21 01:43:39 +01:00
queue.h implement TAILQ_SWAP (only for consecutive elements, order relevant) and use it 2011-02-15 02:21:23 +01:00
randr.h Bugfix: Fix initialization / assignments when RandR is missing 2011-05-14 22:34:34 +02:00
render.h Bugfix: Don’t draw borders for fullscreen windows 2010-11-21 17:00:10 +01:00
resize.h Implement resizing (still buggy) 2010-11-29 10:56:16 +01:00
sighandler.h Retab sighandler.c 2010-12-31 19:36:32 +01:00
tree.h Implement 'fullscreen global' 2011-06-10 18:27:20 +02:00
util.h Add missing function prototype for strndup on Darwin (Thanks Marcus) 2011-07-17 22:18:00 +02:00
window.h Time Lord technology: for_window config directive to run arbitrary cmds 2011-05-15 20:10:25 +02:00
workspace.h Implement 'workspace next/prev' (+test) 2011-06-10 16:03:59 +02:00
x.h expose event handler: use x_deco_recurse 2011-07-10 22:06:16 +02:00
xcb_compat.h Make i3 compatible with the very latest xcb 2011-03-18 14:39:27 +01:00
xcb.h Handle FocusIn events generated by clients and update decoration accordingly (Thanks mseed) 2011-03-20 16:26:36 +01:00
xcursor.h Bugfix: Set the cursor via the Xlib connection if XCursor is supported 2011-07-29 13:13:51 +02:00
xinerama.h first step of the big refactoring ("tree" branch). 2010-04-13 13:17:39 +02:00