i3/libi3
Michael Stapelberg d3beff2339 make i3bar use libi3’s root_atom_contents()
This removes code duplication, which will be useful for a subsequent
commit.

Furthermore, we now don’t open X11 connections unnecessarily in some
corner cases.
2013-11-22 15:48:45 +01:00
..
fake_configure_notify.c normalize file headers across **/*.{h,c} 2011-10-25 21:19:38 +01:00
font.c refactor previous commit’s new code into a function, add log message 2013-11-18 23:17:44 +01: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 Bugfix: s/i3bar/i3-nagbar/ (Thanks badboy) 2013-06-10 23:23:22 +02:00
get_mod_mask.c normalize file headers across **/*.{h,c} 2011-10-25 21:19:38 +01: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 Bugfix: mark IPC fd CLOEXEC (Thanks Layus) 2013-04-14 10:12:21 +02:00
ipc_recv_message.c Bugfix: fix bus error on OpenBSD/sparc64 (Thanks tobiasu) 2013-06-29 19:28:13 +02:00
ipc_send_message.c ipc_send_message: use stack frame with fixed size 2013-01-11 19:09:41 +01: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 make i3bar use libi3’s root_atom_contents() 2013-11-22 15:48:45 +01: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 Don't multiply by sizeof(char) twice. 2012-03-26 16:47:44 +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.