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
dc6373488f
wipe elements overwritten by a splice
...
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 22:09:19 +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
Julien Danjou
93289a1c1d
add Michael as author
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-22 19:38:55 +02:00
Pierre Habouzit
3862a626c2
fix typo
...
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 18:58:52 +02:00
Julien Danjou
0ee345f07e
misc: add Pierre as author
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-22 18:43:45 +02:00
Julien Danjou
901d8db5b6
buffer: add various code documentation
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-22 18:43:04 +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
c3e01fdd43
Add buffer_add_xmlescaped, and malloc--
...
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 16:02:13 +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
Pierre Habouzit
e25a50774b
Add extensible buffers to awesome.
...
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 15:04:09 +02:00
Pierre Habouzit
848a0b1987
add {un,}likely macros
...
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 14:58:37 +02:00
Pierre Habouzit
ea646e7077
Make refcounting safer.
...
put *item to NULL on unref, as we cannot know if the pointer is valid
after an unref, so just segfault rather than hide a problem.
Also return *item on ref() it allow short versions like:
foo_list_push(&list, foo_ref(&elem));
which is kind of readable _and_ handy.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 14:22:44 +02:00
Pierre Habouzit
2a5014383d
No need to copy the parser each time it's allocated.
...
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 14:22:44 +02:00
Pierre Habouzit
f2fd90655e
Add a simple array generic type.
...
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 13:52:26 +02:00
Pierre Habouzit
f055e4a13b
Add p_grow.
...
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 13:30:39 +02:00
Félix C. Morency
d42cdc47c3
cmake: Fixed source package generation
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-22 09:51:54 +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
Michael Gehring
e1dd1344fc
cmake: make out-of-source build work with readonly source dir
2008-06-22 03:00:42 +02:00
Michael Gehring
000e69729a
cmake: figure out man section from filename
2008-06-21 19:14:26 +02:00
Michael Gehring
62f2e3d549
cmake: stop deleting the source when gzipping manpages
2008-06-21 18:27:36 +02:00
Félix C. Morency
041207090a
* Fixed header generation
2008-06-21 18:08:55 +02:00
Michael Gehring
8cf710acad
cmake: make manpages have dependecies again
2008-06-21 18:08:45 +02:00
Michael Gehring
15dbc1c887
cmake: make lua api documentation a target with dependencies
2008-06-21 17:04:02 +02:00
Michael Gehring
f231e8496a
cmake: cmake < 2.6 doesn't know FILE(STRINGS ...)
2008-06-21 15:10:59 +02:00
Arnaud Fontaine
452b89d6ec
Always use unchecked xcb functions
2008-06-21 19:56:51 +09:00
Byron Clark
d8104e8ad4
awful: mouse.screen_get only uses passed screen
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-21 10:20:00 +02:00
Michael Gehring
482679548b
cmake: scan sources for lua exports
2008-06-21 10:20:00 +02:00
Michael Gehring
8fdd5fa62e
cmake: install LICENSE/README/...
2008-06-21 10:20:00 +02:00
Michael Gehring
94c0b483fb
cmake: make generated headers a real target with dependecies
2008-06-21 10:20:00 +02:00
Michael Gehring
0ec46b99b9
cmake: move cmake 2.4 compatibility settings on top
2008-06-21 10:20:00 +02:00
Michael Gehring
dd3e37624b
cmake: macroify FIND_LIBRARY/check
2008-06-21 10:20:00 +02:00
Michael Gehring
ad073bc64c
cmake: add vim fold markers
2008-06-21 10:20:00 +02:00
Michael Gehring
bc85cd80ea
cmake: awesome-client: stop linking to X libs
2008-06-21 10:20:00 +02:00
Michael Gehring
37ccec4800
cmake: restructure required/optional libs
2008-06-21 10:20:00 +02:00
Michael Gehring
30ea399f52
cmake: remove unnecessary variables
2008-06-21 10:20:00 +02:00
Michael Gehring
a25ce00935
cmake: make building manpages an option
2008-06-21 10:20:00 +02:00
Michael Gehring
92e7c4f940
cmake: move doxygen target to CMakeLists.txt
2008-06-21 10:20:00 +02:00
Michael Gehring
0aa87e68b8
cmake: group external utilities
2008-06-21 10:20:00 +02:00
Julien Danjou
de0d6045ba
client: do not send request for WM_NAME
...
It's X standard.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-20 16:42:07 +02:00
Michael Gehring
8b4f39900a
cmake: add WITH_IMLIB2 WITH_DBUS to config.h.in
2008-06-20 15:40:31 +02:00
Michael Gehring
69c2e771dc
cmake: it's Imlib2 not Imlib
2008-06-20 15:40:31 +02:00
Michael Gehring
c656591bef
gitignore: add cpack configuration files
2008-06-20 15:40:31 +02:00
Michael Gehring
ddbabb3479
cmake: UsePkgConfig module is not used
2008-06-20 15:40:31 +02:00
Félix C. Morency
77f5fbcc60
Fixed loose loop construct support and cmake min version
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-20 15:38:37 +02:00
Julien Danjou
6f89051f8d
build: add -Wmissing-format-attribute
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-20 14:49:37 +02:00