* It was difficult/too costly ensuring temporary this was correct when vecs contained in rects were accessed directly.
* Added semantics to `rect` and some utility functions.
Signed-off-by: Tin Švagelj <tin.svagelj@live.com>
* Include the 3rdparty/ dir from top-level
* Set includes/libs at top-level
* Remove the inner CMake version requirement
* Fix deprecated use of CMake's exec_program()
Fix alignment documentation:
- while it renders fine on the web, it's stripped from man pages.
Inline HTML renders fine in some cases, but tables don't.
There's no unified (remark) plugin that works well with headless
tables pandoc supports as well, so the only way to achieve a similar
effect is to leave header cells empty.
Signed-off-by: Tin Švagelj <tin.svagelj@live.com>
* Use `latest` for the latest release
* Use `main` (or the branch) for the latest dev builds against a branch
* Tag releases with their version
* Only push when building against `main` branch
* Only build amd64 images on PRs for speedier builds
* Separate main/PR caches
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.