Julien Danjou
46f03fd6a6
area_t: make it smaller, use arrays instead of lists.
...
Make area_t smaller so that it fits in an uint64_t using 4 {u,}int16_t's
for it. Note that xcb uses the very same structure, so we aren't loosing
any information while remaining very small.
This is better to use arrays in term of:
* memory access when iterating over area_t's;
* allocation because area_t's have no *next/*prev members anymore, which
makes it a tiny structure (8 octets);
* allocation because we allocate area_t's by vector of'em rather than one
by one.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 22:09:48 +02:00
Pierre Habouzit
25fc879582
Stupid memory leak fixed.
...
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 22:03:01 +02:00
Pierre Habouzit
b4b381e947
Finish markup parsing rewrite to avoid mallocs.
...
For that matter, use elements as a filter for elements we care about, and
let the hook implement whatever it needs without duplicating everything.
The resulting algorithm is still O(n²) where n is the number of filtered
elements (3 at most right now), which isn't bad if we don't need to get
too many elements, but at least it's not quadratic in the number of
attributes anymore.
Speedup improvements could be done using gperf btw.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 17:45:45 +02:00
Pierre Habouzit
37d69b8dcc
markup substitutions enhancements.
...
Do not preemptively allocate a g_markup_escape_text for substitutions,
just remember what we want to substitute markup with, and substitute it in
the final buffer efficiently.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 16:58:56 +02:00
Pierre Habouzit
943e2035fa
Rework the markup_parser_* allocation API.
...
We have a stack, don't be ashamed to use it.
Instead of:
foo_t *foo;
foo = foo_new();
/* work with foo */
foo_delete(&foo);
It's way better to:
foo_t foo;
foo_init(&foo);
/* work with &foo */
foo_wipe(&foo);
Remember: more mallocs == more fragmentation.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 16:17:12 +02:00
Pierre Habouzit
5c601dfd19
Use extensible buffers in markup parsing.
...
This should avoid quite a few malloc calls.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 15:12:42 +02:00
Julien Danjou
92f369e3aa
lua: userdata_new is now macro
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-18 18:31:35 +02:00
Julien Danjou
8753a54c65
ewmh: s/NetWMIcon/netwm_icon_t/
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-18 09:29:57 +02:00
Julien Danjou
514320a576
systray: support running without any systray widget
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-17 13:33:17 +02:00
Julien Danjou
64c4202519
draw: remove draw_image_from_file()
...
This should speed up tasklist image drawing.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-17 09:21:26 +02:00
Julien Danjou
72957f999a
systray: handle window that are on phys_screen only
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-15 10:50:50 +02:00
Julien Danjou
f418cb0c2e
systray: attach systray to external window, not statusbar
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-15 10:33:10 +02:00
Julien Danjou
70dbe7bc4d
systray: add support for multiple physical screens
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-14 23:23:00 +02:00
Julien Danjou
f5314dbc9e
widgets: add destructors functions
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-14 22:56:05 +02:00
Julien Danjou
e5e379656a
systray: import widget
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-14 18:12:16 +02:00
Julien Danjou
89e03dd326
textbox: rename data type
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-14 09:18:51 +02:00
Julien Danjou
3fa072504f
graph: draw everything in one loop
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-12 16:14:51 +02:00
Julien Danjou
4b6ba11360
graph: allow graphs to overlap
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-12 16:10:12 +02:00
Julien Danjou
30a19041c9
graph: use round()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-12 14:59:06 +02:00
Julien Danjou
b6eea1788f
[graph] Rewrite with linked list
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-11 17:39:24 +02:00
Julien Danjou
ebb25ba2d4
[graph] Rename Data to graph_data_t
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-11 16:44:18 +02:00
Julien Danjou
35e83ddfa6
[progressbar] Rewrite progressbar with linked list
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-11 14:39:00 +02:00
Julien Danjou
5955a8754b
[progressbar] Stop duplicating code
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-11 09:49:57 +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
Julien Danjou
1049393840
Revert "Replace tags by workspaces"
...
This reverts commit 00f966ea04
.
Revert "[focus] Fix bogus arguments"
This reverts commit 816b5d16bc
.
Revert "[mouse] Fix bug with floating"
This reverts commit 89daa72790
.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-09 21:56:03 +02:00
Julien Danjou
816b5d16bc
[focus] Fix bogus arguments
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-09 18:18:27 +02:00
Julien Danjou
00f966ea04
Replace tags by workspaces
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-09 16:30:46 +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
Lucas de Vries
90088be534
[taglist] Fix taglist bugs in show_empty=false mode
...
Attached patch fixes the width allocation for the taglist (it stayed
the same size when it should've become smaller (FS#205)), as well as a
bug with mouse bindings when the first tag was empty and thus hidden.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-08 09:32:18 +02:00
marco candrian
265fc187a9
[graph] rename 'max' to 'max_value' (like in the progressbar)
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-07 10:41:19 +02:00
Alex Cornejo
e63312766d
[tasklist] Fix incorrect icon background.
...
The tasklist widget displayed the icon over the statusbar background
ignoring the user preferences of the tasklist widget.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-05 14:53:57 +02:00
Julien Danjou
4c41361d6c
[lua] Add object as argument to mouse click function
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 19:21:21 +02:00
Michael Gehring
321f855752
stop reloading image on every draw
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 08:32:58 +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
marco candrian
0afa1a41b7
[tasklist] 'tags', 'focus', 'all', are new_value's
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 08:23:17 +02:00
Julien Danjou
807c5bf208
[widget] Remove useless drawing args
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-03 16:08:33 +02:00
Julien Danjou
34cd5504a7
[widget] Make button press event statusbar indep
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-03 11:40:50 +02:00
marco candrian
007787107c
[graph] re-add draw_style ('bottom', 'top' and 'line')
...
e.g.: graph:set("draw_style", "data-title line")
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-03 07:58:45 +02:00
Julien Danjou
e350a61eb0
[widget] Add tasklist show property
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-02 14:26:49 +02:00
Lucas de Vries
a4161434c2
[tasklist] Add show_icons property handling
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-02 14:24:57 +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
marco candrian
878b4de509
[graph] lua transition
...
no 'draw_style' yet.
2008-05-31 14:53:56 +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
14c29006f2
[tasklist] Remove useless draw_rectangle()
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-29 13:01:53 +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
marco candrian
270c705447
[progressbar] remove tmp variable stuff formerly used for check_settings
2008-05-29 08:21:32 +02:00
marco candrian
4a38937cf3
[progressbar] allow setting a range (min_value + max_value) for the bar
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-29 08:21:19 +02:00
marco candrian
3b3b7db99f
[progressbar] allow floats for incoming values
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-29 08:20:33 +02:00
Julien Danjou
64ed9512de
[progressbar] Remove useless = NULL
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-29 08:17:44 +02:00
Julien Danjou
76a61de862
[progressbar] Cosmetic
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-28 13:53:32 +02:00