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
Michael Stapelberg
d51173b2ba
i3-nagbar: take our terminal execution kludge to the next level
...
Please read commit 2bf80528bd
first.
Then read the comment within the code of this commit.
Then run in circles and cry loudly.
fixes #1002
fixes #1026
2013-06-10 22:55:39 +02:00
Michael Stapelberg
62b0df0640
Make i3-nagbar use the same font as configured for i3
2013-01-26 09:55:38 +01:00
Michael Stapelberg
dcb8ac84f8
ipc_recv_message: store message_type, don’t compare. add distinct EOF retval
...
Also use ELOG, which requires i3-msg to provide logging functions.
2013-01-23 18:51:39 +01:00
Michael Stapelberg
7b0d75ee0a
ipc_send_message: use stack frame with fixed size
2013-01-11 19:09:41 +01:00
Michael Stapelberg
b3d7531947
refactor both i3-nagbar starts into src/util.c
...
With this change, libev >= 4 is a hard dependency. It should be present
in all major linux distributions (even the latest ubuntu LTS).
2012-12-24 16:53:20 +01:00
Michael Stapelberg
d638e3029a
don’t use reversed identifiers for include guards (Thanks Markus)
...
Done with:
sed -in 's/\(ifndef\|define\) _\([0-9A-Z_]*\)$/\1 I3_\2/' include/**/*.h
fixes #804
2012-09-21 15:36:25 +02:00
Michael Stapelberg
2896ae8057
logging: make libi3 use verboselog()/errorlog(), provide it in each caller
...
While this is a bit ugly, it makes the log messages end up where they
are supposed to: in the shmlog/stdout in case of i3 and on stdout in
case of utilities such as i3-input
2012-08-13 13:27:16 +02:00
Quentin Glidic
9f7247fd9c
libi3: Introduce LOG
2012-08-13 11:39:30 +02:00
Fernando Tarlá Cardoso Lemos
6ff3f7abad
libi3: Implement Pango rendering
2012-08-13 11:39:30 +02:00
Fernando Tarlá Cardoso Lemos
ec17a26b0e
libi3: Rework font to support multiple backends
2012-08-13 11:39:29 +02:00
Fernando Tarlá Cardoso Lemos
5d8ccc5912
libi3: Introduce get_visualtype
2012-08-13 11:37:34 +02:00
Quentin Glidic
210fc6dfed
libi3: Rework predict_text_width
...
predict_text_width now takes an i3String as argument
2012-08-13 11:37:23 +02:00
Quentin Glidic
53365fa887
libi3: Rework draw_text
...
We now have two versions of draw_text
draw_text: Now takes an i3String
draw_text_ascii: Designed for static strings in plain ASCII
2012-08-13 11:37:21 +02:00
Fernando Tarlá Cardoso Lemos
7f22d4fe32
libi3: Implement i3String
...
New type designed to handle UCS-2/UTF-8 conversion nicely
2012-08-13 11:29:18 +02:00
Michael Stapelberg
eeb6ff9237
Move is_debug_build() to libi3/
2012-05-09 19:12:20 +02:00
Michael Stapelberg
206b96202c
Use (void) instead of () for functions without args (Thanks fernandotcl)
...
See also:
http://article.gmane.org/gmane.linux.kernel/1268792
The C compiler will handle (void) as "no arguments" and () as "variadic
function" (equivalent to (...)) which might lead to subtle errors, such
as the one which was fixed with commit 0ea64ae4
.
2012-03-31 10:53:04 +02:00
Fernando Tarlá Cardoso Lemos
484c2a697b
Document text_len in the draw_text description.
2012-03-26 16:47:23 +02:00
Michael Stapelberg
dee7c07ad2
shmlog: store meta information in the buffer itself, store path as X11 atom
...
This makes i3-dump-log completely independent of a running i3 instance.
2012-01-06 23:40:07 +00:00
Fernando Tarlá Cardoso Lemos
340592a532
Invalidate cached pixmaps on reload and redraw.
...
After a reload, the drawing parameters for the decorations might
have changed, so we need to invalidate the cache and force a redraw
of the currently visible decorations. Also, don't leak the previous
font when reloading by freeing it before parsing the config.
2011-11-26 21:51:49 +00:00
Michael Stapelberg
561cf3719f
little style fixes
2011-11-21 21:48:24 +00:00
Fernando Tarlá Cardoso Lemos
344c04af12
Implement set_font_colors.
...
This paves the way for other font rendering backends. Fonts and
colors shouldn't be specified manually from now on.
2011-11-21 20:52:32 +00:00
Fernando Tarlá Cardoso Lemos
5c2088c87e
Enhance libi3 and use it in i3bar.
...
Abstracted draw_text and predict_text_width into libi3. Use
predict_text_width from libi3 in i3 too. This required tracking
xcb_connection in a xcb_connection_t *conn variable that libi3
expects to be available in i3bar.
2011-11-21 20:52:26 +00:00
Fernando Tarlá Cardoso Lemos
fb11cc2d14
Consolidate all convert_* functions into libi3.
...
Some minor fixes along the way as well. Very minor stuff, unlikely
to ever be visible to the user.
2011-11-16 20:54:30 +00:00
Michael Stapelberg
726f2a1e5a
normalize file headers across **/*.{h,c}
2011-10-25 21:19:38 +01:00
Michael Stapelberg
a58018cf66
Add libi3/load_font, use it everywhere
...
…except for i3bar, which needs slightly more information about the font
2011-10-23 22:37:11 +01:00
Michael Stapelberg
91134f75c0
Move get_mod_mask to libi3, use it in i3 and i3-config-wizard
...
Also, the API changed a bit. There are two functions now, both assume you
already got the keysyms (which is the case for i3 and i3-config-wizard),
one gets the modifier mapping for you (aio_get_mod_mask_for) while the other
assumes you also got that. No roundtrips are required for the latter.
2011-10-23 21:26:15 +01:00
Michael Stapelberg
9eda7fb6fb
move strndup to libi3
2011-10-23 18:02:01 +01:00
Michael Stapelberg
cb9bbcfccf
Move get_colorpixel to libi3, use it everywhere else
2011-10-23 17:38:21 +01:00
Michael Stapelberg
4f57d49318
add libi3/ipc_connect, use it in i3-config-wizard, i3-input, i3bar
2011-10-23 17:18:14 +01:00
Michael Stapelberg
9d15a00ba8
introduce sasprintf() in libi3, use it everywhere
2011-10-23 13:16:56 +01:00
Michael Stapelberg
29c185dd0b
Move fake_configure_notify to libi3
2011-10-09 13:40:15 +01:00
Michael Stapelberg
046cf99585
Move ipc_send_message and ipc_recv_message to libi3
...
Make i3-msg and src/ipc.c use it
2011-10-02 18:33:36 +01:00
Michael Stapelberg
501dc36b98
move sstrdup, scalloc, smalloc, srealloc to libi3, improve error messages
2011-10-02 18:09:30 +01:00
Michael Stapelberg
8f5dd749c3
Include libi3.h (Thanks fernandotcl)
2011-10-02 16:41:26 +01:00