i3/i3bar
Uli Schlachter d65a7ed250
Drop xcb_flush() before xcb_aux_sync() (#4378)
xcb_flush() flushes xcb's output buffer. Thus, after this call, all
previous requests are surely written to the connection with the X11
server.

xcb_aux_sync() synchronises with the X11 server. It makes sure all
previous requests were sent to the X11 server and already processed. It
does this via free(xcb_get_input_focus_reply(xcb_get_input_focus())): It
sends a request and waits for its reply. It is guaranteed that the X11
server processes requests in-order.

This means that the sequence xcb_flush(); xcb_aux_sync() first writes
whatever is in the output buffer and then does another write for the
four bytes of the GetInputFocus request from xcb_aux_sync().

Put differently: xcb_flush(); xcb_aux_sync() doesn't do anything more
than just xcb_aux_sync(). In fact, it has slightly more overhead for the
same result.

Thus, this commit drops all calls to xcb_flush() immediately after
xcb_aux_sync().

Signed-off-by: Uli Schlachter <psychon@znc.in>
2021-05-20 21:44:13 +02:00
..
include i3bar: properly restart status command after config change 2021-01-12 08:56:38 +01:00
src Drop xcb_flush() before xcb_aux_sync() (#4378) 2021-05-20 21:44:13 +02:00
.gitignore Mention the color-options in the manpage 2010-11-04 12:43:41 +01:00
LICENSE Update i3bar LICENSE to conform to other LICENSE files. (#2284) 2016-04-10 04:15:49 -07:00