Instead of a fixed table, allow an arbitrary number of backends to be
registered through `backend_register`.
Slightly refactored configuration validation.
As a side-effect, you now have to explicitly specify a backend, because
due to the dynamic nature of backends, there is no way to choose a
default.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
Bump the minimal required version of libconfig to 1.7. Time to force
debian to update their 10 years old version of libconfig.
Fixes#931
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
The main objective is to remove the need to worry about option value
assignment. Because of the way getopt works, we need to assign a number
to each option, and later match the return value of getopt in a big
switch. We have to make sure to not assign the same number to two
options, and we have to carefully make sure the same number is used in
two different places (once in the options table, once in the switch).
And that is just annoying.
With this commit everything is in one place, and the compiler will yell
at us if we assigned duplicated numbers.
Maybe this can also be a stepping stone for unifying command line
options parsing and config file parsing.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
These are removed long before our time, I don't even know what they are.
We have been rejecting them with an error message for a while too, it's
time to just remove them.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
Same logic as the format specifiers, we just use what the X server
reports, asking the user for the type is just going to be confusing.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
It's confusing to me what I should put as format, and the rule might or
might not work if I used the wrong format. In theory this can be used to
write condition that's only true when the specified property has a given
format, in reality I don't think anyone is doing that.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
On a second thought, the `corner-radius-rules` is a user noticeable
behavioral change, it should be more prominent.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
The intention is we update this file as PRs are merged, so the workload
when making a new release is reduced.
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>