gri3-wm/libi3
Michael Stapelberg f354f53435 Ensure all *.[ch] files include config.h
Including config.h is necessary to get e.g. the _GNU_SOURCE define and
any other definitions that autoconf declares. Hence, config.h needs to
be included as the first header in each file.

This is done either via:
1. Including "common.h" (i3bar)
2. Including "libi3.h"
3. Including "all.h" (i3)
4. Including <config.h> directly

Also remove now-unused I3__FILE__, add copyright/license statement
where missing and switch include/all.h to #pragma once.
2016-10-23 21:09:24 +02:00
..
README Introduce libi3, an *internal* library to eliminate code duplication 2011-10-02 16:11:30 +01:00
dpi.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
draw_util.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
fake_configure_notify.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
font.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
format_placeholders.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
get_colorpixel.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
get_config_path.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
get_exe_path.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
get_mod_mask.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
get_process_filename.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
get_visualtype.c Update copyright notices and get rid of ranges 2015-04-20 17:50:21 -04:00
ipc_connect.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
ipc_recv_message.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
ipc_send_message.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
is_debug_build.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
mkdirp.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
resolve_tilde.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
root_atom_contents.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
safewrappers.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
string.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
strndup.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
ucs2_conversion.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00

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.