9058fc44e6
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> |
||
---|---|---|
.. | ||
Makefile | ||
README | ||
dpi.c | ||
fake_configure_notify.c | ||
font.c | ||
get_colorpixel.c | ||
get_exe_path.c | ||
get_mod_mask.c | ||
get_process_filename.c | ||
get_visualtype.c | ||
ipc_connect.c | ||
ipc_recv_message.c | ||
ipc_send_message.c | ||
is_debug_build.c | ||
libi3.mk | ||
root_atom_contents.c | ||
safewrappers.c | ||
string.c | ||
strndup.c | ||
ucs2_conversion.c |
README
Introduction ============ libi3 is an *INTERNAL* library which contains functions that i3 and related tools (i3-msg, i3-input, i3-nagbar, i3-config-wizard, i3bar) use. It is NOT to be used by other programs. Structure ========= Every function gets its own .c file, which in turn gets compiled into an .o object file. Afterwards, all .o files are archived into one static library (libi3.a). This library will be linked into all i3 binaries. The linker is able to eliminate unused .o files when linking, so only the functions which you actually use will be included in the corresponding binary.