gri3-wm/libi3
Orestis Floros 7df88f18eb
Sort dock clients by class and instance
This is similar to #3820 but does not use qsort but an insertion sort in
con_attach.

Since each bar block automatically gets its own incremental bar id,
bards end up being sorted according to their definition order in the
config file.

For i3bar, the WM_CLASS is modified to include an instance name which
depends on the bar_id. This could be useful for other reason, e.g. users
targeting a specific bar instance.

Fixes #3491
2020-04-14 20:47:51 +02:00
..
README Introduce libi3, an *internal* library to eliminate code duplication 2011-10-02 16:11:30 +01:00
dpi.c Use lround instead of (long)round 2018-10-13 21:10:10 +03:00
draw_util.c libi3: Make visual_type extern 2020-02-01 17:32:54 +01:00
fake_configure_notify.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
font.c Remove various unused parameters 2019-10-20 16:14:20 +03:00
format_placeholders.c make format_placeholders case-sensitive 2018-07-10 23:24:50 +02:00
g_utf8_make_valid.c Provide g_utf8_make_valid if not available 2018-09-25 10:28:20 +03:00
get_colorpixel.c clang-format: bring back ForeachMacros (#3948) 2020-02-19 11:31:09 +01:00
get_config_path.c Correct XDG paths precedence for config files 2018-07-10 05:04:34 +03:00
get_exe_path.c Code style: fix misaligned and trailing whitespaces 2020-02-21 02:06:48 +00:00
get_mod_mask.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
get_process_filename.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
get_visualtype.c Update copyright notices and get rid of ranges 2015-04-20 17:50:21 -04:00
ipc_connect.c no-op refactoring: make ipc_connect find socket path 2017-11-26 16:41:59 +01:00
ipc_recv_message.c Bugfix: avert endless loop on unexpected EOF at ipc messages (#3021) 2017-11-09 11:18:23 -08:00
ipc_send_message.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
is_debug_build.c Enforce strict prototypes 2018-10-13 21:10:09 +03:00
mkdirp.c Use AC_REPLACE_FUNCS 2019-10-13 13:17:40 +03:00
resolve_tilde.c resolve_tilde: strncpy + strlen is pointless (#3436) 2018-10-07 20:26:37 +02:00
root_atom_contents.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
safewrappers.c Sort dock clients by class and instance 2020-04-14 20:47:51 +02:00
string.c Make comment style more consistent 2018-10-13 21:10:10 +03:00
strndup.c Use AC_REPLACE_FUNCS 2019-10-13 13:17:40 +03:00
ucs2_conversion.c convert_utf8_to_ucs2: Allow partial conversion 2019-03-19 10:31:34 +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.