Julien Danjou
35e948f53b
draw: xcolor_t store color name
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-28 13:30:17 +02:00
Julien Danjou
823ed27b82
graph: use newindex API
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-28 13:02:42 +02:00
Julien Danjou
09647eef9b
taglist: use newindex API
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-27 22:25:31 +02:00
Julien Danjou
e9b6c33be3
tasklist: bug fix in show
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-27 22:21:10 +02:00
Julien Danjou
c4cc8da645
tasklist: use newindex API
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-27 22:15:54 +02:00
Julien Danjou
5aa2768861
textbox: use newindex API
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-27 20:24:30 +02:00
Julien Danjou
39e1fc7011
textbox: use newindex
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-27 12:49:24 +02:00
Julien Danjou
4bf6d2df62
widgets: add documentation support
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-26 23:32:33 +02:00
Pierre Habouzit
cde80ab49a
Move CLEANMASK to xutil.h, remove useless #Includes
...
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-26 22:47:56 +02:00
Julien Danjou
2cdfb71f15
textbox: remove wrong comment
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-26 22:06:47 +02:00
Michael Gehring
f56f34d715
widgets: remove unnecessary #includes
2008-06-26 19:33:43 +02:00
Julien Danjou
25f795b04f
graph: add comments
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-26 17:22:01 +02:00
Julien Danjou
c9311efd5b
widgets: s/lstack/luastack/
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-26 17:13:02 +02:00
Julien Danjou
37e8b95ad9
widgets: handle image size in text data
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-26 16:53:58 +02:00
Julien Danjou
094d0ebc50
widget: new widget index method
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-26 16:35:07 +02:00
Julien Danjou
68f0eda193
iconbox: remove
...
This can be replaced by textbox.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-25 16:37:16 +02:00
Julien Danjou
ec414ae39b
systray: set orientation
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-24 19:56:10 +02:00
Pierre Habouzit
17744fc81d
Be more on the safe side.
...
it's useless to escape anything if text_len is 0, also some clients seem
to have a NULL name, so use NONULL(p->priv).
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-23 18:55:29 +02:00
Julien Danjou
425c8ea635
util: tokenize a_strtobool()
2008-06-23 18:06:00 +02:00
Pierre Habouzit
14f4e02e66
Replace tag_t lists with arrays.
...
This improves lots of code efficiency (we *know* how many tags we have
now, YA'RLY).
Also fix a \todo in client.c: since knowing the number of tags is cheap,
ignore props that don't match it.
Use many p_alloca for things that depends on the number of tags (no sane
user will have *thousands* of tags. This saves a few more mallocs.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-23 17:37:19 +02:00
Pierre Habouzit
3116c0d381
Add draw_parser_data_{init,wipe}.
...
Use it everywhere needed instead of wrong p_clear's, this fixes memory
leaks.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-23 15:23:49 +02:00
Julien Danjou
4711f4631f
systray: restack on client raise
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 14:53:31 +02:00
Julien Danjou
446df09acc
cosmetic
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 14:14:47 +02:00
Julien Danjou
cd21e6665b
tasklist: tokenize
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 14:12:01 +02:00
Julien Danjou
e880f7c11b
taglist: use tokenize
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 14:09:00 +02:00
Julien Danjou
4c133bc646
iconbox: use tokenize
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 14:06:37 +02:00
Julien Danjou
ab5119732d
use more tokenizer, with len
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 14:01:33 +02:00
Julien Danjou
28830c0dc9
textbox: use tokenize
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 13:24:03 +02:00
Julien Danjou
7aab504350
draw: store parser_data made by extents call
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 13:09:42 +02:00
Pierre Habouzit
8d7f45d76a
And more gperf.
...
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-23 07:41:22 +02:00
Pierre Habouzit
4d21d0fd98
Use more gperf stuff.
...
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-23 07:41:22 +02:00
Julien Danjou
46f03fd6a6
area_t: make it smaller, use arrays instead of lists.
...
Make area_t smaller so that it fits in an uint64_t using 4 {u,}int16_t's
for it. Note that xcb uses the very same structure, so we aren't loosing
any information while remaining very small.
This is better to use arrays in term of:
* memory access when iterating over area_t's;
* allocation because area_t's have no *next/*prev members anymore, which
makes it a tiny structure (8 octets);
* allocation because we allocate area_t's by vector of'em rather than one
by one.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 22:09:48 +02:00
Pierre Habouzit
25fc879582
Stupid memory leak fixed.
...
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 22:03:01 +02:00
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
37d69b8dcc
markup substitutions enhancements.
...
Do not preemptively allocate a g_markup_escape_text for substitutions,
just remember what we want to substitute markup with, and substitute it in
the final buffer efficiently.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 16:58:56 +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
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
Julien Danjou
92f369e3aa
lua: userdata_new is now macro
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-18 18:31:35 +02:00
Julien Danjou
8753a54c65
ewmh: s/NetWMIcon/netwm_icon_t/
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-18 09:29:57 +02:00
Julien Danjou
514320a576
systray: support running without any systray widget
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-17 13:33:17 +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
72957f999a
systray: handle window that are on phys_screen only
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-15 10:50:50 +02:00
Julien Danjou
f418cb0c2e
systray: attach systray to external window, not statusbar
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-15 10:33:10 +02:00
Julien Danjou
70dbe7bc4d
systray: add support for multiple physical screens
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-14 23:23:00 +02:00
Julien Danjou
f5314dbc9e
widgets: add destructors functions
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-14 22:56:05 +02:00
Julien Danjou
e5e379656a
systray: import widget
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-14 18:12:16 +02:00
Julien Danjou
89e03dd326
textbox: rename data type
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-14 09:18:51 +02:00
Julien Danjou
3fa072504f
graph: draw everything in one loop
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-12 16:14:51 +02:00
Julien Danjou
4b6ba11360
graph: allow graphs to overlap
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-12 16:10:12 +02:00
Julien Danjou
30a19041c9
graph: use round()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-12 14:59:06 +02:00