- 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>
- 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.
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>
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>
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>
deinit_x11() was called too late, and it seems some libs like xinerama
and xcb-render add cleanup hooks but forget to remove them when they get
unloaded.
* initialize XColor/XftColor
this does not change behavior, but avoids passing uninitialized data to X/Xft functions
* gui, x11: move have_argb_visual to x11 files
this variable only has meaning with respect to X11
* x11: clear have_argb_visual if the setting changes to false
otherwise, we may try to use colors with alpha when we no longer requested a 32-bit visual
* x11: premultiply alpha of background colors
* x11: clean up set_foreground_color a bit
---------
Co-authored-by: bi4k8 <bi4k8@github>
* Add libXdamage to flake.nix
* Add TYPE_UTILITY as above-all alternative to TYPE_OVERRIDE
* Click-through for TYPE_UTILITY
* Added libxfixes to MacOS CI workflow
* Disable building of XFIXES on MacOS
* Fix build for xinerama/xfixes on macos.
* Update Lua version check.
* Tidy this up.
* Fix BUILD_XFIXES on Linux
* Sigh, fix this.
---------
Co-authored-by: tranquillity-codes <dev@itycodes.org>
Co-authored-by: Brenden Matthews <brenden@brndn.io>