i3/libi3
Ingo Bürk bf442ff5de Make freeing surfaces idempotent
If a window with border is set to "border none" and then closed, we would
call cairo_destroy / cairo_surface_destroy twice, causing an assertion
failure in cairo as the objects already had zero references the second
time. We fix this by explicitly setting these objects to NULL.

relates to #1278
2015-11-23 22:18:02 +01:00
..
dpi.c Update copyright notices and get rid of ranges 2015-04-20 17:50:21 -04:00
draw_util.c Make freeing surfaces idempotent 2015-11-23 22:18:02 +01:00
fake_configure_notify.c libi3: change scalloc() signature to match calloc() 2015-08-03 12:50:13 +03:00
font.c Rename is_markup to pango_markup. 2015-10-13 09:59:26 +02:00
get_colorpixel.c Remove support for 32-bit visuals and RGBA colors. 2015-10-11 00:33:14 +02:00
get_config_path.c Update copyright notices and get rid of ranges 2015-04-20 17:50:21 -04:00
get_exe_path.c Use safe wrappers wherever possible 2015-08-03 12:50:50 +03:00
get_mod_mask.c Update copyright notices and get rid of ranges 2015-04-20 17:50:21 -04:00
get_process_filename.c Update copyright notices and get rid of ranges 2015-04-20 17:50:21 -04:00
get_visualtype.c Update copyright notices and get rid of ranges 2015-04-20 17:50:21 -04:00
ipc_connect.c Update copyright notices and get rid of ranges 2015-04-20 17:50:21 -04:00
ipc_recv_message.c Update copyright notices and get rid of ranges 2015-04-20 17:50:21 -04:00
ipc_send_message.c Update copyright notices and get rid of ranges 2015-04-20 17:50:21 -04: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
mkdirp.c Changes for compiling on Illumos 2015-07-30 07:44:10 -04:00
README Introduce libi3, an *internal* library to eliminate code duplication 2011-10-02 16:11:30 +01:00
resolve_tilde.c libi3: change scalloc() signature to match calloc() 2015-08-03 12:50:13 +03:00
root_atom_contents.c Use safe wrappers wherever possible 2015-08-03 12:50:50 +03:00
safewrappers.c libi3: change scalloc() signature to match calloc() 2015-08-03 12:50:13 +03:00
string.c Rename is_markup to pango_markup. 2015-10-13 09:59:26 +02:00
strndup.c Update copyright notices and get rid of ranges 2015-04-20 17:50:21 -04:00
ucs2_conversion.c libi3: change scalloc() signature to match calloc() 2015-08-03 12:50:13 +03: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.