i3/libi3
Michael Stapelberg 9200094203 format **/*.c with clang-format-3.5
This has multiple effects:

1) The i3 codebase is now consistently formatted. clang-format uncovered
   plenty of places where inconsistent code made it into our code base.

2) When writing code, you don’t need to think or worry about our coding
   style. Write it in yours, then run clang-format-3.5

3) When submitting patches, we don’t need to argue about coding style.

The basic idea is that we don’t want to care about _how_ we write the
code, but _what_ it does :). The coding style that we use is defined in
the .clang-format config file and is based on the google style, but
adapted in such a way that the number of modifications to the i3 code
base is minimal.
2014-06-15 19:07:02 +02:00
..
dpi.c format **/*.c with clang-format-3.5 2014-06-15 19:07:02 +02:00
fake_configure_notify.c format **/*.c with clang-format-3.5 2014-06-15 19:07:02 +02:00
font.c format **/*.c with clang-format-3.5 2014-06-15 19:07:02 +02:00
get_colorpixel.c Implement support for chosing a 32 bit visual (necessary for pseudo-transparency) (Thanks darkraven) 2012-02-15 18:56:07 +00:00
get_exe_path.c format **/*.c with clang-format-3.5 2014-06-15 19:07:02 +02:00
get_mod_mask.c format **/*.c with clang-format-3.5 2014-06-15 19:07:02 +02:00
get_process_filename.c Improve error message when $XDG_RUNTIME_DIR is not writable 2013-09-25 19:33:28 +02:00
get_visualtype.c libi3: Introduce get_visualtype 2012-08-13 11:37:34 +02:00
ipc_connect.c format **/*.c with clang-format-3.5 2014-06-15 19:07:02 +02:00
ipc_recv_message.c Don't ELOG ipc EOF 2014-06-08 13:54:55 +02:00
ipc_send_message.c format **/*.c with clang-format-3.5 2014-06-15 19:07:02 +02:00
is_debug_build.c Move is_debug_build() to libi3/ 2012-05-09 19:12:20 +02:00
libi3.mk Repect AR environment variable 2012-12-17 10:24:42 +01:00
Makefile Add stub Makefiles to allow subdir make calls 2012-07-22 19:57:48 +02:00
README Introduce libi3, an *internal* library to eliminate code duplication 2011-10-02 16:11:30 +01:00
root_atom_contents.c format **/*.c with clang-format-3.5 2014-06-15 19:07:02 +02:00
safewrappers.c normalize file headers across **/*.{h,c} 2011-10-25 21:19:38 +01:00
string.c libi3: Implement i3String 2012-08-13 11:29:18 +02:00
strndup.c normalize file headers across **/*.{h,c} 2011-10-25 21:19:38 +01:00
ucs2_conversion.c format **/*.c with clang-format-3.5 2014-06-15 19:07:02 +02:00

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.