i3/libi3
Michael Stapelberg 9e3a9e8225
Allow text drawing to use the alpha channel. (#5246)
This is the last remaining diff from the i3-gaps tree.

related to https://github.com/i3/i3/issues/3724

Tested using the following config with picom:

bar {
	i3bar_command i3bar -t
	status_command i3status
	colors {
		# fully	transparent text on opaque background:
		statusline #ffffff00
		background #000000ff
	}
}
2022-11-06 12:43:37 +01:00
..
boolstr.c Implement showing window icons in titlebar (#4439) 2021-06-13 08:35:52 +02:00
create_socket.c Fix compilation error on debian 2021-11-04 19:27:40 +01:00
dpi.c Sort includes in *.c files 2020-04-19 09:58:25 +02:00
draw_util.c draw_util: refactor surface_initialized macro into function 2022-11-05 15:58:15 +01:00
fake_configure_notify.c Remove unused headers 2020-04-20 04:25:06 +02:00
font.c Allow text drawing to use the alpha channel. (#5246) 2022-11-06 12:43:37 +01:00
format_placeholders.c Remove unused headers 2020-04-20 04:25:06 +02:00
g_utf8_make_valid.c Sort includes in *.c files 2020-04-19 09:58:25 +02:00
get_colorpixel.c Allow text drawing to use the alpha channel. (#5246) 2022-11-06 12:43:37 +01:00
get_config_path.c move set_nonblock, create_socket and path_exists to libi3 2021-01-20 21:40:24 +01:00
get_exe_path.c Remove unused headers 2020-04-20 04:25:06 +02:00
get_mod_mask.c Sort includes in *.c files 2020-04-19 09:58:25 +02:00
get_process_filename.c Use mkdirp() in get_process_filename() (#4397) 2021-07-05 17:21:21 +02:00
get_visualtype.c Update copyright notices and get rid of ranges 2015-04-20 17:50:21 -04:00
ipc_connect.c Do not replace existing IPC socket (#4638) 2021-11-04 17:22:22 +01:00
ipc_recv_message.c Remove unused headers 2020-04-20 04:25:06 +02:00
ipc_send_message.c Remove unused headers 2020-04-20 04:25:06 +02:00
is_background_set.c Do not "set" the wallpaper during startup (#4373) 2021-05-20 21:37:35 +02:00
is_debug_build.c add meson build files (#4094) 2020-05-19 14:45:06 +02:00
mkdirp.c Fix #ifndef statements: HAVE_ variables are all upper case 2020-04-30 18:20:51 +02:00
nonblock.c i3-dump-log -f: switch from pthreads to UNIX sockets 2021-01-20 21:40:24 +01:00
path_exists.c move set_nonblock, create_socket and path_exists to libi3 2021-01-20 21:40:24 +01:00
README Introduce libi3, an *internal* library to eliminate code duplication 2011-10-02 16:11:30 +01:00
resolve_tilde.c resolve_tilde: strncpy + strlen is pointless (#3436) 2018-10-07 20:26:37 +02:00
root_atom_contents.c Remove unused headers 2020-04-20 04:25:06 +02:00
safewrappers.c Remove unused headers 2020-04-20 04:25:06 +02:00
screenshot_wallpaper.c Do not "set" the wallpaper during startup (#4373) 2021-05-20 21:37:35 +02:00
string.c Sort includes in *.c files 2020-04-19 09:58:25 +02:00
strndup.c Fix #ifndef statements: HAVE_ variables are all upper case 2020-04-30 18:20:51 +02:00
ucs2_conversion.c Remove unused headers 2020-04-20 04:25:06 +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.