You can now specify `BUILD_COLOUR_NAME_MAP=OFF` to disable building the
gperf-based colour map, which also removes the requirement for gperf at
build time.
Per the docs at
https://cmake.org/cmake/help/latest/command/add_library.html, we should
use `MODULE` rather than `SHARED` for the Lua libraries.
This mostly affects macOS, where the libraries are compiled as MH_DYLIB
(`.dylib`) rather than MH_BUNDLE (`.so`).
* Update xft_dpi on property change
* Added fallback calculation when Xft is disabled.
* Removed display_width/height and replaced it with workarea for
consistency.
* Make DPI work on X11 when Xft is disabled
* Make find_subwindow more specific, rename it
Signed-off-by: Tin Švagelj <tin.svagelj@live.com>
* Fix dpi scaling maximum_width setting
* Set workspace dimensions from WL output_geometry
* Append script parent dir to lua package.path
* Fix issues with dpi_scale function selection
* Re-implement rounding through `type_traits` generically
Signed-off-by: Tin Švagelj <tin.svagelj@live.com>
Rather than allowing the build to continue without gperf, we should
fail with an error so that the colour behaviour does not change in a
backward incompatible manner. The old colour behaviour should continue
to work going forward.
This resolves #1868.
Older versions of gperf use the `register` keyword which is deprecated
in C++17, and warnings are treated as errors.
This disables the warning on gperf's output (colour-names.hh). I also
renamed `colour-names.cc` -> `colour-names.hh` because we're including
it as a header, not compiling it separately.
This resolves #1865.
The behaviour of the RSS flag changed in 4936c74, previously it would
enable cURL support when it was switched on, but now you must pass both
BUILD_RSS=ON and BUILD_CURL=ON to CMake at configure time.
This fixes #1861.
- 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>
- Separate cairo-xlib.h Lua bindings from cairo.h
- This allows cairo.h to be used from Lua on Wayland without X11 as requirement.
- Add pango dependency for Wayland (adds pangocairo).
- Make graphics related bindings depend on BUILD_GUI.
- Remove BUILD_GUI guard around options in platform checks.
- Keeping only checks that **directly contain module requirements**
A way of creating surfaces in Lua that uses Shm allocated buffers should
be added in future. This commit only cleans up build options to avoid weird
errors.
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.