gri3-wm/libi3
Michael Stapelberg f5b7bfb12e Bugfix: fix IPC messages writes with low buffer sizes (Thanks jasper, dcoppa)
Use the following command to reproduce this bug:

    echo 4096 | sudo tee /proc/sys/net/core/wmem_default

Then just switch workspaces with some windows on it and i3bar would
exit due to malformed IPC messages.

This bug hits OpenBSD users (and possibly other BSDs) due to their lower
default buffer size.

fixes #896
2013-01-09 18:11:03 +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
fake_configure_notify.c normalize file headers across **/*.{h,c} 2011-10-25 21:19:38 +01:00
font.c libi3/font: Use "pango:" prefix to avoid confusion 2012-11-07 21:23:21 +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_mod_mask.c normalize file headers across **/*.{h,c} 2011-10-25 21:19:38 +01:00
get_visualtype.c libi3: Introduce get_visualtype 2012-08-13 11:37:34 +02:00
ipc_connect.c normalize file headers across **/*.{h,c} 2011-10-25 21:19:38 +01:00
ipc_recv_message.c remove unused variable 2012-05-09 19:58:50 +02:00
ipc_send_message.c Bugfix: fix IPC messages writes with low buffer sizes (Thanks jasper, dcoppa) 2013-01-09 18:11:03 +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
root_atom_contents.c root_atom_contents: handle CARDINAL atoms such as I3_PID 2012-08-12 14:30:24 +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 Don't multiply by sizeof(char) twice. 2012-03-26 16:47:44 +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.