It relies on some SSE2 instructions, so performance gain is not that
huge (about 1.4x).
I experimented with 256-bit loads, but they turned out to be slower (at
least on Sandy Bridge).
Overall, I'm very happy with performance of this code, but not so much
with resulting image. It seems like integer approximations won't do.
I might remove this code altogether, so I didn't update comments.
Calculations are done on integer, rather than floating point numbers,
so this implementation is not as accurate (but when scale factor is
reasonable enough, no artifacs are visible).
It is, however, faster by a factor of ~3.
Display "locking…" message when grabbing the pointer/keyboard,
after at least 250 ms of unfruitful attempts. If grabbing
eventually fails, application will not fork and return 1.
This will make i3 unlock automatically after authentication failure and
correct input without pressing <Enter> again after the "wrong"-indicator
is gone.
We need to ensure that the window handle is valid, i. e. the window is
actually created and accessible, before returning.
This is necessary because we immediately fork after returning, and the
child process opens its own X11 connection and expects the window handle
to be valid.
Fixes#46
Older versions of libxkbcommon-dev (in Debian / Ubuntu) don't provide
xkbcommon-compose.h and the accompanying API. Detect whether the header
file is present when building and if not, revert to the behaviour prior to
ef3ef30400, the commit that introduced the
usage of that header.
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>