Commit Graph

532 Commits

Author SHA1 Message Date
Julien Danjou 9caa9fc96f draw: add background alignment
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 18:01:15 +02:00
Julien Danjou 236ccc165c placement: fix smart
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 17:30:35 +02:00
Pierre Habouzit 3513e43f0f fix stupid array bug: missing sizeof()
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-23 17:26:35 +02:00
Pierre Habouzit df89ea2887 Add type and memset safe alloca wrapper. 2008-06-23 16:40:43 +02:00
Pierre Habouzit ef4eae17c4 Split DO_ARRAY in two parts. 2008-06-23 16:40:43 +02:00
Julien Danjou fa2648bf15 Revert "Use gcc to find places needing a a_tokenize call."
Not needed anymore.

This reverts commit 7b7af60dcd.
2008-06-23 15:46:26 +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 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 f0a01c6131 util: remove useless fuzzy
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 13:41:26 +02:00
Julien Danjou 7803225553 draw: use tokenize() in markup parsing
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 13:39:47 +02:00
Julien Danjou 7dd1fa0e0b draw: rename on_event() to on_element()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 13:32:22 +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
Julien Danjou 00b119c1ac draw: remove draw_get_image_size()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 12:44:01 +02:00
Pierre Habouzit 7b7af60dcd Use gcc to find places needing a a_tokenize call.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-23 07:41:22 +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
Pierre Habouzit f423719bd6 use gperf
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-23 07:41:22 +02:00
Pierre Habouzit c2df807ede Use gperf to tokenize some strings.
This makes the code way more readable, and also avoids a lot of strcmps.

Use it for draw_align_get_from_str as a proof of concept.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-23 07:41:22 +02:00
Michael Gehring 9206a60e88 cmake: consolidate version strings 2008-06-22 22:13:06 +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 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 3862a626c2 fix typo
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 18:58:52 +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
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
Julien Danjou 0fdc03faa4 util: rename eprint() to fatal()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-19 09:45:08 +02:00
Julien Danjou 5773f5eddb util: remove useless compute_new_value_from_arg()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-19 09:43:08 +02:00
Julien Danjou 1a31d49b3d swindow: do not resize if nothing to do
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-18 13:50:50 +02: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 3555e89c1c swindow: only send one event for moveresize
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-16 11:44:33 +02:00
Pierre Habouzit a4953d13d5 Fix a couple of warnings.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-15 23:58:51 +02:00
Julien Danjou 67de549992 xembed: simplify
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-15 20:30:55 +02:00
Julien Danjou 6f9d196e67 systray: check for embedder window on startup
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-14 23:39:12 +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 477c6eb4a1 xutil: support NULL as atom cache
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-14 16:59:31 +02:00
Julien Danjou ce08d9769f xutil: fix potential leak
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-14 08:23:16 +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 3d8613daf4 Fix comments typos
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-12 13:42:39 +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
Michael Gehring 59c04890fc [cleanup] random doxygen fixes
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-08 17:13:09 +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 4f0dbdabb0 [xutil] Move cursor creation to xutil
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-08 10:08:44 +02:00
Michael Gehring 8ab1831ed6 [mouse] Use different cursors for vert./horiz. resize
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-08 09:28:11 +02:00
Julien Danjou 6d89565c8e [mouse] Use different cursors for corners
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-07 16:38:33 +02:00
Julien Danjou 8fdc1d9608 [version] Typo
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 20:26:47 +02:00
Julien Danjou 05ef68a4c4 [refcount] Check for pointer existence
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 18:14:08 +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
Julien Danjou 1dbea735b3 [list] Remove useless DO_SLIST_UNREF
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-03 11:53:59 +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 e39bb8eac6 [markup] Stop recomputing len, use slen
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-30 07:52:29 +02:00
Julien Danjou eaf38a6a69 [xutil] Add list_attach_after() and use it for cache atom
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-29 14:24:33 +02:00
Julien Danjou 2a4971b725 [xutil] Fix strdup() usage
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-29 14:15:03 +02:00
Julien Danjou fda025a591 [statusbar] Add fake transparency
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-29 13:01:09 +02:00
Julien Danjou 9e2ff3f893 [util] Rewrite a_strndup()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-29 09:45:10 +02:00
Julien Danjou 83470a99e8 [xutil] Fix typo
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-28 10:15:58 +02:00
Julien Danjou 7fc41ca7cf [xutil] Fix typo
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-28 07:31:09 +02:00
Julien Danjou 1a3d59ddfa [xutil] Add support to mouse button 8 and 9
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-28 07:27:12 +02:00
Alex Cornejo 710c457f08 Remove old confuse structures and include.
I noticed the new version of awesome does not (or should not) depend
on libconfuse, however there were some unused headers and structures
that needed to be removed in order to compile without having
libconfuse.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-26 18:21:20 +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 e710cff383 [xscreen] Add some documentation
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 22:31:08 +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 ff8603110a [util] Add name_func_rlookup()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 16:53:37 +02:00
Julien Danjou a04417494b [mouse] Rename Button to button_t
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 15:12:01 +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 680944d583 [build] Use autoheader & config.h
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-20 19:55:37 +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 e5ed2f2f1c [swindow] Permit to delete NULL swindow
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-13 18:56:33 +02:00
Julien Danjou e80e6a73c5 [draw] Remove useless default_screen
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-13 17:42:05 +02:00
Julien Danjou f824e383c9 [markup] Check that str is not NULL
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-11 16:23:05 +02:00
Arnaud Fontaine 162b8a690c [all] Implement an atom cache in xutil as an ordered linked-list 2008-05-11 01:10:37 +02:00
Julien Danjou 6a06e44461 [markup] Check for error before warning
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-10 10:37:12 +02:00
Julien Danjou c3e063d55e [config] Use a string array as args for uicb
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-04 12:47:16 +02:00
Julien Danjou f42f75468c [swindow] Add border manipulation function
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 15:17:46 +02:00
Julien Danjou 0e1747587c [swindow] Store border width
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:35 +02:00
Julien Danjou c57435c96d [util] Add a_strtobool() function
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:35 +02:00
Julien Danjou 03170abfe1 [config] Use golden ratio by default for mwfact
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:35 +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 dc27cff8ab [awesome] Remove checking for value before p_delete()'ing memory
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:35 +02:00
Julien Danjou 5638661157 [markup] Fix memory leak
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:06 +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 de3fbffcf1 [xutil] Rewrite gettextprop() proto
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:06 +02:00
Julien Danjou ca4821fc9e [markup] Fix memory leak in text handling
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:06 +02:00
Julien Danjou f1ccb31bca [markup] Fix bad allocation size
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 e2bf0042fc [xutil] Convert len to signed size
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:05 +02:00
Julien Danjou 7a4237f34f [markup] Print the unparseable text on error
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:05 +02:00
Julien Danjou 547d72270b [markup] Re-escape text on re-insertion 2008-05-03 12:01:05 +02:00
Julien Danjou 7b8e7bc486 [markup] Simplify
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:05 +02:00
Julien Danjou 39364393f4 [markup] Escape text on reconstruct
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:05 +02:00
Julien Danjou 5397e10a0f [config] Do not set background by default
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:05 +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 04ea13c205 [screen] Rename ScreensInfo to screen_info_t
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 1fc2b7997a [taglist] Stop using styles, use 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 eab7633675 [tasklist] Remove styles; use drawtext format
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +02:00
Julien Danjou 26621fd598 [emptybox] Remove
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +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 4d3d97fd4f [xutil] Use a_strndup()
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 3965c1e1f0 [textbox] Clean things which became useless with 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
Julien Danjou f5997892d2 [xutil] Use memcpy() instead of strncpy() for safety
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +02:00
Julien Danjou 0642e415dd [util] Fix warning for position returning
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:03 +02:00
Julien Danjou 834f1f2424 [common] Add support for pango markup (FS#171)
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:03 +02:00
Julien Danjou ae1cea061c [util] Add position_to_str()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:03 +02:00
Julien Danjou c3642713b9 [draw] Do not declare vars in blocs 2008-05-03 12:01:03 +02:00
Arnaud Fontaine 059829e37e [xutil] check whether the error code and request are actually defined 2008-05-03 12:01:03 +02:00
Julien Danjou e272000cc6 [util] Change Fuzzy type to fuzzy_t
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:03 +02:00
Julien Danjou bd18eb2018 [util] Change Position type to position_t
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:03 +02:00
Julien Danjou df7db5e86b [util] Change Alignment type to alignment_t
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:03 +02:00
Arnaud Fontaine 21141c0508 [xutil] Fix missing applied mask when getting request code in xutil_get_error().
Thanks to Matthieu Pasini.
2008-05-03 12:01:03 +02:00
Julien Danjou dba40b0ca4 [xutil] Make the request earlier
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:02 +02:00
Julien Danjou 521f7d58be [xutil] Do not use strncmp here
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:02 +02:00
Julien Danjou 97dc830db5 [util/rules] Move Fuzzy from rules to util
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:02 +02:00
Julien Danjou 70d26b5b36 [swindow] Free GC, make refresh inline
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:02 +02:00
Julien Danjou 32fc1a0a78 [draw] Build with GTK by default instead of Imlib2
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:02 +02:00
Julien Danjou e246410126 [swindow] Rename SimpleWindow to simple_window_t
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:02 +02:00
Julien Danjou a04395ddc9 [swindow] Store gc
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:02 +02:00
Julien Danjou 33709c62cd [xutil] Remove map_raised
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:01 +02:00
Julien Danjou 82f305b1b1 [xutil] Rework some stuff and rename xgettextprop()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:01 +02:00
Julien Danjou 328a04fb17 [draw/config] Cosmetics
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:01 +02:00
Julien Danjou a664203639 [xutil/awesome] Cosmetic
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:01 +02:00
Arnaud Fontaine a541477e94 Cosmetic 2008-05-03 12:01:01 +02:00
Arnaud Fontaine d2d85941ad [common/xutil.c] Free ClassHint reply 2008-05-03 12:01:01 +02:00
Arnaud Fontaine d99586f68b [common/xutil.c] Rewrite xgettextprop properly for UTF8_STRING 2008-05-03 12:01:01 +02:00
Arnaud Fontaine 70dafae396 Move xcb_event_handler code to xutil 2008-05-03 12:01:00 +02:00
Arnaud Fontaine 71e9100927 Remove useless xutil_root_window() 2008-05-03 12:01:00 +02:00
Arnaud Fontaine da5236d57a Cosmetic 2008-05-03 12:01:00 +02:00
Arnaud Fontaine 02c99fccb8 Prefix xutil functions properly 2008-05-03 12:01:00 +02:00
Arnaud Fontaine 1eab0e44e7 * Make key symbols table, NumLock, ShiftLock and CapsLock global variables.
* Get CapsLock and ShiftLock masks properly and fix XLookupString() XCB equivalent.
2008-05-03 12:01:00 +02:00
Julien Danjou 3b295beaed Fix Xinerama detection 2008-05-03 12:01:00 +02:00
Arnaud Fontaine 64edc7c767 Allow to specify hexadecimal colors in configuration 2008-05-03 12:01:00 +02:00
Arnaud Fontaine 4a1720ddca Remove useless x_select_input() which leaded to useless requests 2008-05-03 12:01:00 +02:00
Arnaud Fontaine abcb60b9ea Fix x_get_transient_for_hint() based on XGetTransientForHint() 2008-05-03 12:01:00 +02:00
Arnaud Fontaine df3e102832 Rewrite code which query xinerama screens to fix a double free 2008-05-03 12:00:59 +02:00
Arnaud Fontaine 4bd034f768 Use unchecked instead of checked call because the error has to be in the error queue 2008-05-03 12:00:59 +02:00
Arnaud Fontaine 98091b2f1e Copy properly a window text property 2008-05-03 12:00:59 +02:00
Arnaud Fontaine dafafd077c Port Awesome to XCB 2008-05-03 12:00:59 +02:00
Julien Danjou e3496f7a25 [config] Enhance rules documentation a bit
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-30 11:11:32 +02:00
Julien Danjou 84df60e11b [draw] Check len while checking for UTF-8 chars
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-28 07:35:03 +02:00
Nikos Ntarmos ef60378754 [common] remove and getline and strndup usage
There is no getline() on FreeBSD, nor any strndup().

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-19 23:08:18 +02:00
marco candrian 1b65a8acfd [draw] line-width increasing from 1.0 to 1.25 for line-style
1.25 figured out by testing...

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-19 11:20:06 +02:00
marco candrian 37f05a8277 [draw] precise line drawing using antialiasing
Antialiasing also has the advantage, that the path get's drawn now precisely -
there have been some issues without ... depending on the line-angle, some
pixels weren't filled on some y coordinates etc.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-19 11:19:59 +02:00
marco candrian 2eb6fda36e [graph] simplify 'line' drawing; draw the border after the graph-drawing
Drawing the border after the graph-drawing, allows to draw down to the border itself
when 0 values occur.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-18 09:12:02 +02:00
marco candrian 84e8949860 [draw] draw_rectangle draws stuff inside the coordinates
E.g. to get single line (or rectangle with width = 1 etc), the path should go
through the center of the pixels (.5), when that path gets stroked finally, it
filles the pixels fully.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-17 19:10:24 +02:00
marco candrian 47495c50e3 [draw] provide the middle of a pixel to make sure it draws/fills that particular pixel/line
Fixes FS#162 now also on my PC in any way (it filled the pixels on the right
when a gradient was given, else the one on the left of x.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-17 09:46:23 +02:00
marco candrian bc7d9211ba [widgets/graph] offset fixed now.
In fact on my pc, when there is no fg_end or fg_center defined,
it draws it one pixel too much on the right.

On Gigamo's PC, that patch should work on any case.

It also 'should' work from what I guess!

For people having a problem, they could define fg_end to the same as fg.

Or when it's really serious (on not just here), that could be done inside
awesome.

(Finally somekind of little cairo bug, from my perspektive)
2008-04-14 04:21:52 +02:00
marco candrian 8277693ab4 [common/draw] no slightly diagonal gradient anymore (again)
that 'fix' didn't work out anyway properly.
Following patches should do a better job.
2008-04-14 04:18:40 +02:00
marco candrian fe07cd4f30 [draw] miter set to 10 is enough
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-13 14:18:29 +02:00
marco candrian 62ac090368 [common/draw] curious (cairo?) bug, sometimes draws the line 1 pixel to much on the right
happens only when creating a gradient, and not always, and
adding + 1 (creating a slightly diagonal gradient), seems to help a little bit).
2008-04-12 06:56:14 +00:00
marco candrian 727a42eb41 [common/draw] force the draw of the left bottom corner on rectangles
setting the miter limit to 100 works here. How to do it really properly, I won't know actually.

http://cairographics.org/manual/cairo-cairo-t.html#cairo-set-miter-limit
2008-04-12 05:41:46 +00:00
Fabienne Ducroquet b12a5235a5 [doc] Fix some typos, modify a few descriptions
Before awesome 2.3 release, I've decided to look for typos in the
awesome* manpages, here is the result. I've also modified some options'
descriptions that I didn't find very clear, I hope I have not
added/missed too many mistakes as I'm not a native English speaker...

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-11 07:34:45 +02:00
Julien Danjou 038e52c699 [draw] Allow more space for characters conversion
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-04 11:07:57 +02:00
Alex Cornejo cee3e9b60d [draw] Add option to link against GTK instead of Imlib2
I added an option to the configure script to link against gdk instead
of imlib2. Most people already have gdk installed so that way they can
use awesome without installing imlib2, and gdk's pixbuf was explicitly
designed to replace imlib2.

Also, a nice side effect is that GDK works directly with cairo
surfaces, so the process of loading images should be faster, although
since awesome does very little image loading it probably wont have a
noticable impact on performance, but it certainly won't hurt.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-03 09:16:58 +02:00
Julien Danjou ae096824d6 [draw] Better check for cairo version
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-02 17:14:09 +02:00
marco candrian 6d0040603f [config] minus values would be useful for the progressbar's gap option.
in order to get a single border for e.g. two bars. Looks more unified then.
2008-04-02 15:51:32 +02:00
Julien Danjou a79cb3f927 [config] Add a bunch of new checks in configuration file
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-02 09:17:25 +02:00
Martin Stubenschrott 8b7c8e3822 [draw] Better computation for vertical text centering
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-01 17:59:23 +02:00
Julien Danjou c4eaec5b82 [emptybox] Add alignment option
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-01 08:20:59 +02:00
Julien Danjou 2fd0b3c008 [widgets] New emptybox widget
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-31 10:15:38 +02:00
Julien Danjou c4cc8c5e04 [widgets] Remove paddings
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-31 10:04:03 +02:00
Julien Danjou fb36ccee49 [styles] Set shadow_offset to 0 by default
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-28 13:40:59 +01:00
Julien Danjou 18117e8495 [styles] Use 0xffffffff as auto value for shadow (FS#117)
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-28 12:13:16 +01:00
marco candrian 9db8635523 [config] add missing documentation 2008-03-28 09:53:50 +01:00
Julien Danjou 3692e5f251 [config] Add documentation for a bunch of options
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-27 18:31:55 +01:00
Julien Danjou 25b22a7cb9 [doc] Add autogeneration of options documentation
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-27 16:48:52 +01:00
marco candrian 89f4e22255 [widgets] new progressbar options
if a ticks_count is defined (!= 0), round the value to them ('ticks')
and draw finally some gaps.

Also an important issue: since the bar needs to be 'homogenous', they may won't
match a given height. Some value tweaking will be necessary then.

An alternative would be a not homogenous bar, what is worse I think.

The values, when there are 'ticks', get rounded up somebit. So they get turned on,
when half of them is reached - or so.

new options (see awesomerc.5.txt for a more detailed description):

border_width
border_padding
fg_off

ticks_count
ticks_gap

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-26 10:02:37 +01:00
Julien Danjou f00b0b850e draw_textwidth() can use a const char *
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-25 15:55:45 +01:00
Julien Danjou da119cda7d Add alignment attribute to titlebar
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-24 17:42:45 +01:00
Julien Danjou c39d8c2a7e Add width and height option to titlebars
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-24 16:31:02 +01:00
Julien Danjou 60e36aee54 Add a workaround for cairo < 1.5
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-24 10:48:15 +01:00
Julien Danjou 8b411eb15d Use pre-multiplied alpha for cairo rendering
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-24 10:26:35 +01:00
Julien Danjou afa8591d50 Change opacity between 0 and 1 and update validation
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-24 07:47:07 +01:00
Julien Danjou ec96d4d1f8 Add and update doc for opacity_[un]focused, and switch to float
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 20:38:16 +01:00
Steffen Schulz 3b8cf66822 new directive opacity_focused=<int>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 20:36:55 +01:00
marco candrian b92a292e43 additional line width argument to draw_rectangle[_gradient] in draw.c
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:22 +01:00
Julien Danjou de5d82b8c2 Use Imlib2 to load images
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:22 +01:00
Julien Danjou 1d468c5583 Lot of cosmetic changes: proto change, etc.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:22 +01:00
Julien Danjou 8d0e5b29a6 Cosmetic formating changes
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:22 +01:00
Julien Danjou 2aebe166c7 Add support for styles in titlebar
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:22 +01:00
Julien Danjou 2473de53b7 Removed unused options for titlebar
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:22 +01:00
Julien Danjou 4a7e52cc27 Change draw_rotate() proto to directly render on the right Pixmap 2008-03-23 15:52:22 +01:00
Julien Danjou 098b5d40a5 Cosmetic 2008-03-23 15:52:22 +01:00
Julien Danjou a3f9eb7af9 Revert "Add preliminary support for XPM format"
This reverts commit 5f8b538a5e4eeea159b26c3d0b943cac745ffdce.
2008-03-23 15:52:22 +01:00
Julien Danjou df2555d9fe Add preliminary support for XPM format
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:22 +01:00
Julien Danjou 58402c9641 Add a_strcasecmp() function
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:22 +01:00
Julien Danjou c496df9fc6 Add support for mouse bindings on titlebars 2008-03-23 15:52:22 +01:00
Julien Danjou 393b6e1f88 Cosmetics
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:22 +01:00
Julien Danjou accf223bb1 Use warn() instead of perror()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:21 +01:00
Julien Danjou 93c75433f9 Make icon in statusbar as CFG_ALIGNMENT 2008-03-23 15:52:21 +01:00
Julien Danjou 2a47aa7f0b Add cfg_getalignment() functions
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:21 +01:00
Julien Danjou 7b1ce042de Add cfg_getposition() and cie to ease libconfuse compatibility
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:21 +01:00
Julien Danjou 19656fc36d Add a CFG_ALIGNMENT type and use it
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:21 +01:00
Julien Danjou fe8bd0bb5b Implement a CFG_POSITION type and use it 2008-03-23 15:52:21 +01:00
Julien Danjou f01a2ad47d Check for alignment values in configuration file 2008-03-23 15:52:21 +01:00
Julien Danjou 532709ec3e Add validate functions for positions 2008-03-23 15:52:21 +01:00
Julien Danjou b748d114bf Use common validation infra for mwfact upper and lower limits values
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:21 +01:00
Julien Danjou d4f08ae5ae Force validation of some more values 2008-03-23 15:52:21 +01:00
Julien Danjou 9204066788 Begin to use validate function in config handling 2008-03-23 15:52:21 +01:00
marco candrian 214a5c4bfa new graph-widget option: grow = <{right, left}>
Signed-off-by: Marco Candrian <mac@calmar.ws>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:21 +01:00
Julien Danjou 44824e9ac7 Draw buf, not text
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:21 +01:00
Arnaud Fontaine f75f16c325 Don't get ascent/descent informations about a font because it's not
useful at the moment (commented out).
2008-03-23 15:52:21 +01:00
Arnaud Fontaine 542a944361 Use Pango for fonts instead of Xft (which hasn't been ported yet to
XCB) to measure text.
2008-03-23 15:52:21 +01:00
marco candrian 29673467f9 change graph's style to draw_style
to prevent confusion with the other style {} sections,
and it might also better describes what is it used for..
2008-03-23 15:52:20 +01:00
marco candrian 0795334dd8 Font removed where style should be used now
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:19 +01:00
Julien Danjou bc6656320d Add support for text_align option in titlebars 2008-03-23 15:52:19 +01:00
Julien Danjou f9f75629e1 Rule for titlebar applies event if we restart; set default to auto, which means off 2008-03-23 15:52:19 +01:00
Julien Danjou cc56ccd2e9 Use section for titlebar parameters 2008-03-23 15:52:19 +01:00