Commit Graph

2508 Commits

Author SHA1 Message Date
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
Michael Gehring 1f889a0108 cmake: provide PREFIX as shorthand for CMAKE_INSTALL_PREFIX 2008-06-20 12:42:46 +02:00
Michael Gehring 925c9452d0 cmake: macroify CONFIGURE_FILE 2008-06-20 12:40:01 +02:00
Michael Gehring 1a94a4b36e cmake: make d-bus and imlib optional again 2008-06-20 12:19:21 +02:00
Michael Gehring 7ed1ee43ca cmake: remove second ${LIB_EV} in target_libraries 2008-06-20 12:15:23 +02:00
Julien Danjou b83052281e awful: fix screen.focus()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-20 11:13:02 +02:00
Julien Danjou 936d5457a3 awful: bug fix in swap
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-20 11:06:59 +02:00