Julien Danjou
d7c70c57b5
client: merge floating_{set,get} into index
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 19:55:18 +02:00
Julien Danjou
495fd3d8e7
client: merge opacity into index
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 19:52:25 +02:00
Julien Danjou
7e95166629
client: merge icon path into index
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 19:49:14 +02:00
Julien Danjou
86df357a2b
client: merge hide into index
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 19:43:23 +02:00
Julien Danjou
3750b08248
statusbar: merge position_{set,get} into index
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 17:00:31 +02:00
Julien Danjou
49f823dcb6
statusbar: merge colors_set() into index
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 16:50:03 +02:00
Julien Danjou
a816ce0440
util: position_tostr() return const
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 16:33:24 +02:00
Julien Danjou
48111308a0
draw: add draw_align_tostr()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 16:29:50 +02:00
Julien Danjou
b72d5c7951
widget: visible is now part of index
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 15:20:42 +02:00
Julien Danjou
4ddf692ee4
tag: layout use index
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 15:06:20 +02:00
Julien Danjou
4e2e8a3653
draw: len is mandatory
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 15:05:00 +02:00
Julien Danjou
9b74cdbc0a
draw: iso2utf now gets len as arg
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 14:44:19 +02:00
Julien Danjou
282dc95042
tag: use index for name
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 14:31:47 +02:00
Julien Danjou
e012a4ba49
tag: use index for ncol
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 14:23:06 +02:00
Julien Danjou
d328904d30
tag: use index for nmaster
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 14:17:07 +02:00
Julien Danjou
ef7379c983
tag: remove mwfact_{get,set}, use {new,}index
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 13:59:40 +02:00
Julien Danjou
f750124d5c
tag: add {new,}index, use it for selected
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 11:38:40 +02:00
Julien Danjou
fc000acc8e
xembed: remove useless comments
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-30 20:15:46 +02:00
Julien Danjou
db49685413
atoms: autogenerate atom list
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-30 20:05:53 +02:00
Julien Danjou
b584b19104
atoms: add all used atoms
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-30 18:55:14 +02:00
Julien Danjou
5daa38ac2d
atom: new atom infra
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-30 18:25:01 +02:00
Julien Danjou
15111d8584
progressbar: use newindex API
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-30 17:42:36 +02:00
Julien Danjou
3ebca2181c
draw: really copy colors
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-29 12:14:09 +02:00
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
Pierre Habouzit
1b6543025c
Don't be silly and use our metatable rather than duplicating the effort.
...
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-28 07:56:35 +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
c4cc8da645
tasklist: use newindex API
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-27 22:15:54 +02:00
Julien Danjou
c007cacd09
xutil: make atoms cache an array
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-27 12:08:19 +02:00
Julien Danjou
ba13fba67c
xutil: stop leaking atom when called with no cache
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-27 11:13:33 +02:00
Julien Danjou
0fddca87c3
draw: stop leaking image on double parsing
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-27 10:08:22 +02:00
Julien Danjou
b63e10b7e8
xutil: stop leaking atom name, and don't dup on cache hit
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-27 10:06:31 +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
Lucas de Vries
b1c48b6834
[statusbar] add colors_set
2008-06-26 17:12:41 +02:00
Julien Danjou
0012b8dfc0
draw: honor bg_resize
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-26 16:49:16 +02:00
Julien Danjou
7dbd06c8ca
draw: markup bg image do not change the size
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-26 16:49:05 +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
d5ed48ffdd
widget: use __index to get method
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-25 16:37:51 +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
Pierre Habouzit
4d7a7694ae
Calling destructor on splice is wrong, take doesn't want it e.g.
...
Also fix one assert.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-25 11:04:56 +02:00
Pierre Habouzit
b19aace542
Fix draw_align_fromstr calls.
...
Note that it's undefined to have side effects on an argument and pass this
argument again to another function.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-24 22:40:34 +02:00
Julien Danjou
0aff415f37
version: add GdkPixBuf version
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-24 21:01:24 +02:00
Julien Danjou
a055634d4e
draw: use len param in draw_align_fromstr()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-24 20:34:02 +02:00
Julien Danjou
eb13ebcbf7
version: print compilation options
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-24 20:25:42 +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
fdcc507329
draw: add resize for bg
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 18:07:47 +02:00
Julien Danjou
425c8ea635
util: tokenize a_strtobool()
2008-06-23 18:06:00 +02:00
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