- Separated displays so they don't have to all be included in build even when the features are disabled.
- Removed weird linker magic for display init and replaced it with straightforward (and faster) template functions that behave the same.
- Replaced `disabled_display_output` classes with log messages.
- Add explicit compiler errors when feature dependent headers get included where they shouldn't (wl, x11).
- Switch BUILD_MOUSE_EVENTS dependency from OWN_WINDOW to BUILD_X11.
- Other minor improvements to some existing code which shouldn't affect behavior.
- Improve documentation.
- Remove X11 from unrelated headers.
- This reaches 0% unneeded X11 polution in the sources.
- Reenabled parts of window_type which would work in Wayland.
- Remove unneeded guards.
- Display files are now no longer compiled if their features are disabled.
Signed-off-by: Tin Švagelj <tin.svagelj@live.com>
I'm assuming sending None Atom in the request will cause an error.
I defined those properties on my platform so that's why the function
didn't fail.
Signed-off-by: Tin Švagelj <tin.svagelj@live.com>
- This commit changes mouse events to use XInput exclusively if it's not disabled.
- Added support for changing valuator properties through device configuration (see wiki for details).
- Fixed and cleaned up a lot of previously added code.
XSendEvent propagate bool argument is actually "don't force propagation", so
True value means the event will only get propagated if it's not handled,
and False means the event will _always_ get propagated.
Signed-off-by: Tin Švagelj <tin.svagelj@live.com>
Events now get correctly propagated to a window (or root if none) behind conky.
This was a necessary change to handle cases such as MATE+caja where caja
is used between conky and background to show icons and desktop menu.
* Don't change input focus on propagation
Could cause input focus flickering, so I'm leaving it up to WMs to manage focus.
Signed-off-by: Tin Švagelj <tin.svagelj@live.com>
Pre draw hook is expected to run before anything else, so I moved imlib (e.g. ${image}) rendering after it.
Signed-off-by: Tin Švagelj <tin.svagelj@live.com>
This ensures that text_object.data.l is at least 64 bits in size,
even in a 32-bit environment. It can cause issues if smaller,
such as text turning black instead of a desired color (see #1477).
Fontconfig has a bug in FcFini() where it calls assert when it probably
shouldn't. This looks to be fixed in
6f6b397802,
which is in libfontconfig >=2.13.93.
Removing this seems to be safe, it will cause valgrind to show mem
leaks, but it doesn't look to be a problem in practice.
Skip descendant checking if cursor over desktop in query_x11_window_at_pos.
Simplify and correct check for whether cursor is over conky.
Signed-off-by: Tin Švagelj <tin.svagelj@live.com>
For reproducible builds, the build date messes things up, and some
distros just set it to 1980 now anyway. Thus, it's better to remove the
date altogether.
Cleanup number namespaces so they use cstdint types instead of stdint.h
types. Latter could've caused some issues in the future.
Simplify valuator mask checking expression.
Signed-off-by: Tin <tin.svagelj@live.com>
There was no way to propagate move events otherwise
Also, clang-format decided to kick in and reformat Xinput related
code...
Signed-off-by: Tin <tin.svagelj@live.com>
Cleanup modifiers
- This is preparation so that once Wayland adds support for these
they're not an alien X11 bitset.
- Removed ones that aren't actual modifiers.
Tidy up code
Signed-off-by: Tin <tin.svagelj@live.com>