]> git.sur5r.net Git - i3/i3/commit
Allow to validate the config file without X.
authoraszlig <aszlig@redmoonstudios.org>
Sat, 2 Aug 2014 05:01:15 +0000 (07:01 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Mon, 25 Aug 2014 17:34:26 +0000 (19:34 +0200)
commit9058fc44e6e3e483473380bcede88f92c5b7c3c6
tree6a8418722008de76b6fde91f640d155762ab38b0
parentbeba1633ac67b6cfa911b1a2c162ea928359d885
Allow to validate the config file without X.

We're going to call parse_configuration() very early if -C is given on
the command line. Instead of the previous "only_check_config", which has
been a global variable, we now simply pass use_nagbar as false if we're
just validating.

This causes the whole parsing to run without X and of course without
starting nagbar and displaying the errors to standard out/error instead.

The return code of parse_configuration() is now a boolean which
represents whether an error occured during parsing and the programs exit
code is returned accordingly.

Although the config parser still has a lot of side-effects, we now can
parse without the need to have an XCB connection. A nicer implementation
would be to just set the new font and load it just after we're done
parsing, but to ensure we don't break functionality we just load a dummy
FONT_TYPE_NONE if XCB isn't available. The main reason for going this
route is that it's a bit difficult to test fonts in a distribution
agnostic way without bundling fonts with i3 (or Xdummy to be more
exact).

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
include/config.h
include/config_parser.h
libi3/font.c
src/config.c
src/config_parser.c
src/main.c
testcases/t/235-check-config-no-x.t [new file with mode: 0644]