Pierre Habouzit
b4b381e947
Finish markup parsing rewrite to avoid mallocs.
...
For that matter, use elements as a filter for elements we care about, and
let the hook implement whatever it needs without duplicating everything.
The resulting algorithm is still O(n²) where n is the number of filtered
elements (3 at most right now), which isn't bad if we don't need to get
too many elements, but at least it's not quadratic in the number of
attributes anymore.
Speedup improvements could be done using gperf btw.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 17:45:45 +02:00
Pierre Habouzit
943e2035fa
Rework the markup_parser_* allocation API.
...
We have a stack, don't be ashamed to use it.
Instead of:
foo_t *foo;
foo = foo_new();
/* work with foo */
foo_delete(&foo);
It's way better to:
foo_t foo;
foo_init(&foo);
/* work with &foo */
foo_wipe(&foo);
Remember: more mallocs == more fragmentation.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 16:17:12 +02:00
Pierre Habouzit
0ad600ef0a
And use a buffer in the drawing stuff.
...
So that we don't stupidly call even more strlen's.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 15:27:06 +02:00
Pierre Habouzit
3fb0b5127e
Remove lots and lots of useless mallocs.
...
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 15:20:55 +02:00
Pierre Habouzit
5c601dfd19
Use extensible buffers in markup parsing.
...
This should avoid quite a few malloc calls.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 15:12:42 +02:00
Byron Clark
7106c9bcad
Stop spamming the log when there is no image present.
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-22 09:46:58 +02:00
Arnaud Fontaine
452b89d6ec
Always use unchecked xcb functions
2008-06-21 19:56:51 +09:00
Arnaud Fontaine
b9e1ec69d0
Replace xcb_aux_get_screen() by a safer function
2008-06-17 17:14:00 +02:00
Julien Danjou
ff6a814770
draw: markup now supports image as background
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-17 09:37:19 +02:00
Julien Danjou
114a97ee87
draw: remove useless draw_get_image_size()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-17 09:26:30 +02:00
Julien Danjou
64c4202519
draw: remove draw_image_from_file()
...
This should speed up tasklist image drawing.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-17 09:21:26 +02:00
Julien Danjou
54f2ebee96
draw: switch GTK dependency to GDK and GdkPixbuf
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-13 23:24:07 +02:00
Michael Gehring
b16493d878
random updates/fixes
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-13 20:33:47 +02:00
Julien Danjou
12d4c66771
draw: make draw_setup_cairo_color_source() alpha aware
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-12 15:24:27 +02:00
Julien Danjou
659f9bd048
draw: simplify draw_graph()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-12 15:21:25 +02:00
Julien Danjou
aa6bfc560a
[draw] Do inline UTF-8 conversion
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-10 07:32:35 +02:00
Julien Danjou
8776b3adb5
[draw] Rename var
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-08 10:58:48 +02:00
Julien Danjou
2742318f16
[common] Use pixmap instead of drawable type
...
It's just more clear.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 16:13:41 +02:00
Michael Gehring
f95889f2ad
unify draw_image_from_file
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 08:32:50 +02:00
Michael Gehring
88a0e58e79
add draw_image_new, draw_image_delete, draw_image
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 08:32:48 +02:00
Michael Gehring
d2f9c6518b
rename draw_image to draw_image_from_file
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 08:32:46 +02:00
Michael Gehring
c20a2cb416
[draw] fix --with-imlib2 build
...
when configured with imlib2 draw.c fails to compile (at least on arch
linux), as it cannot find the gtk/gdk-pixbuf headers. The #includes are
guarded by #ifdef HAVE_IMLIB2, but as config.h isn't included, this is
never defined.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-03 11:27:04 +02:00
Julien Danjou
d8a5b43f26
[widgets] Make draw functions statusbar-less dependents
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-02 12:18:17 +02:00
Julien Danjou
7cff3567e3
[statusbar] Fix left and right statusbars alpha support
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-30 18:09:54 +02:00
Julien Danjou
4f79c53f4c
[draw] Add alpha channel support
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-30 13:08:07 +02:00
Julien Danjou
066bfaacc8
[draw] Remove multiple strlen() calls
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-30 12:35:57 +02:00
Julien Danjou
c332971b21
[draw] Rename draw_color_new() to xcolor_new()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-30 12:34:38 +02:00
Julien Danjou
407972eb00
[xutil] Move xcolor_t into draw
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-30 12:33:08 +02:00
Julien Danjou
be108acc32
[util] warn() and eprint() now print \n
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 22:56:05 +02:00
Julien Danjou
c468d83059
[draw] Fix compilation errors with Imlib2
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 17:18:58 +02:00
Julien Danjou
b3f8464800
[draw] Make sure that font is not NULL before freeing
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-21 17:02:22 +02:00
Julien Danjou
1f046b3c9f
[everything] Switch from libconfuse to Lua
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-20 18:01:15 +02:00
Julien Danjou
61d552a860
[draw] Inline draw_context_delete() and check that it's != NULL
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-14 15:22:31 +02:00
Julien Danjou
effaa99b91
[awesome] Remove useless includes
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:35 +02:00
Julien Danjou
b142264787
[draw] Make draw_text using a const pointer to a style
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:06 +02:00
Julien Danjou
44890c7c33
[draw] Fix memory leak on bad markup parsing
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:06 +02:00
Julien Danjou
8af24939bd
[draw] Rework shadow
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:05 +02:00
Julien Danjou
33837d77a1
[draw] Rename DrawCtx to draw_context_t
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:05 +02:00
Julien Danjou
f12f1798dd
[draw] Add margin code inside markup string
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:05 +02:00
Julien Danjou
5c51759cca
[draw] Make text_align part of markup format
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:05 +02:00
Julien Danjou
7a8e39b3e7
[markup] Add generic substitution of elements and use it for titlebar
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +02:00
Julien Danjou
a4159bbaf7
[draw] Implement a more generic markup parser
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +02:00
Julien Danjou
1e7e4663a5
[draw] Simplify <markup> adding
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +02:00
Julien Danjou
0552376dba
[draw] Rebuild the pango markups while parsing ours
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +02:00
Julien Danjou
5447001254
[draw] Handle error on end of feeding into XML parser
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +02:00
Julien Danjou
a3b1b3be0b
[draw] Use g_markup API to parse bg elements
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +02:00
Julien Danjou
dd9cb9810b
[draw] Draw style background in draw text if no bg in markup
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +02:00
Julien Danjou
d3190fcf63
[draw] Tell pango about padding
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +02:00
Julien Danjou
1185d8b156
[draw] Add support for bg in draw_text and use ellipsize from pango
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +02:00
Julien Danjou
ce8d1ff89e
[titlebar] Add string to format
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +02:00