Commit Graph

131 Commits

Author SHA1 Message Date
Julien Danjou dc61d258f0 luaclass: optimize type handling
We use lua_class_t pointer as key in the registry to store metatable we
will compare.
lauxlib uses a string, which sucks, because it forces to do a
pushliteral() each time you want to get a metatable from the registry,
which is slower.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:47 +02:00
Gregor Best 6bbcb1f56e widgets: add bool widget_geometries(wibox_t *)
Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-17 16:46:48 +02:00
Gregor Best 0f2da4b9bf widgets: export extents() function
This commit adds a function called extents() to widgets. In the case of
a systray, it takes the systray's screen as its argument to correctly
calculate the width. By default, 1 is assumed. For all other widgets,
the argument can be ommitted.
The function doesn't return the geometry as drawn, instead it returns
the geometry the widget _wants_ to be drawn at, for example an imagebox
always has (image width, image height) as the return values even if it's
drawn with a smaller width and height on a smaller wibox.

Signed-off-by: Gregor Best <farhaven@googlemail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-04 17:23:29 +02:00
Julien Danjou 9e7054f3c0 progressbar: deprecate old widget
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-04 17:23:05 +02:00
Uli Schlachter df0df1bc37 Fix a couple of harmless compiler warnings
In each widget's *_geometry function, two warnings were generated, e.g.:
 warning: ‘geometry.y’ is used uninitialized in this function
 warning: ‘geometry.x’ is used uninitialized in this function

Found by gogonkt with GCC 4.2.4 on gentoo.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2009-05-25 12:07:06 +02:00
Uli Schlachter 829caf45ba Convert the progressbar widget to color_t
Signed-off-by: Uli Schlachter <psychon@znc.in>
2009-04-18 14:02:21 +02:00
Uli Schlachter 37862c83c0 Make the draw_*() functions take a color_t*
Signed-off-by: Uli Schlachter <psychon@znc.in>
2009-04-18 14:02:21 +02:00
Julien Danjou 486ef71a7f screen: replace screens pointer by a screen_t array
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-17 16:14:09 +02:00
Julien Danjou b1a59aca07 widget: widget are now full Lua object
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-12 15:11:33 +02:00
Uli Schlachter 95457c5ab7 Move the definition of globalconf into a header file
Pretty much every single source file needs this struct, so it makes sense to
define it in a common header instead of in every single .c file.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-10 16:32:42 +02:00
Julien Danjou 8f9cc9a262 widgets: use integer instead of int8_t
The computer is smart, and the compiler also.
Should fix:
widgets/progressbar.c:451: warning: array subscript has type `char'

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-01-18 11:03:13 +01:00
Julien Danjou ccc6452d49 widget: change widget initialization code
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-12 16:51:41 +01:00
Julien Danjou f556c04868 widget: remove common_new()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-12 16:51:41 +01:00
Julien Danjou 25bf12868a widgets: use a geometry callback
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-22 17:32:17 +02:00
Julien Danjou 0178a75c7d graph, progressbar: fix bar/plot additions
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-22 10:30:20 +02:00
Julien Danjou c0f75c2ed8 widgets: clear private struct
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-21 15:07:41 +02:00
Julien Danjou fba1a96737 progressbar: use bar array rather than linked list
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-21 14:48:49 +02:00
Julien Danjou 0feb7de68e wibox: merge statusbars and titlebars Lua objects
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 14:34:43 +02:00
Julien Danjou 34fe130307 wibox: merge statusbar and titlebar types
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:56 +02:00
Julien Danjou 6a5ad6af9b common: move draw, xscreen and swindow out
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:55 +02:00
Julien Danjou c3f0335cd2 progressbar: add fake struct to build doc
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-29 13:55:09 +02:00
Julien Danjou 033d7c82bc progressbar: fix vertical type and document fields
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-29 13:52:25 +02:00
Arnaud Fontaine 193a73c5d9 draw: make xcolor_init() asynchronous. 2008-08-12 14:53:57 +02:00
Julien Danjou 3db9f29453 appicon: new widget, used in titlebar
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-29 16:51:21 +02:00
Julien Danjou 80b79717ba various documentation update for _index()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-28 16:03:38 +02:00
Julien Danjou 36fd44d1a0 draw: add char len as arg of xcolor_init()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-10 15:30:16 +02:00
marco candrian 2b767c2352 widgets: use vector_t for the color-gradients course.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-02 13:59:30 +02:00
marco candrian 3074c3fdf4 progressbar: cosmetic
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-02 13:59:25 +02:00
Pierre Habouzit 924078c898 Streamline xcolor_t.
Do not have a ->name char * field, but a char[32] instead.  This isn't a
big problem, the longest color in /etc/X11/rgb.txt is 23 chars long, and
if it becomes a problem one day, one could just strip the name and
generate an hexadecimal representation on the fly instead. But allocating
the name is asking for a lot of trouble.

Since we do not allocate anything anymore, just don't allocate anything
anymore at all, it avoids the mess of xcolor_copy/_wipe and fixes a lot of
sleeping bugs (p_dup were used e.g., which is wrong).

Pass xcolor_t *, xcolor_t becomes too big to be passed by value. Add
consts at some places.

xcolor_new allocates nothing, hence is renamed xcolor_init, has xcolor_t
as a first argument (OO-style, this is self), and doesn't touch the
structure at all if it returns false, which allow us to skip a lot of
intermediates values.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-02 10:36:46 +02:00
marco candrian 0c4b56a065 add fg_off to set + fix copy/paste typo
- widgets/progressbar.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-02 08:10:46 +02:00
Julien Danjou 5bb431fc4a widgets: don't tokenize twice
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 15:27:41 +02:00
Pierre Habouzit 1bdf22f631 Add stricter warnings wrt prototypes.
And add the missing static's it found.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 08:12:22 +02:00
Byron Clark 1e4641389c progressbar: fix newindex
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-30 19:30:09 +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
Pierre Habouzit b63f768f00 MIN/MAX multi-evaluate their arguments.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-29 11:28:10 +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 4bf6d2df62 widgets: add documentation support
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-26 23:32:33 +02:00
Michael Gehring f56f34d715 widgets: remove unnecessary #includes 2008-06-26 19:33:43 +02:00
Julien Danjou c9311efd5b widgets: s/lstack/luastack/
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-26 17:13:02 +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 425c8ea635 util: tokenize a_strtobool() 2008-06-23 18:06:00 +02:00
Julien Danjou 28830c0dc9 textbox: use tokenize
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 13:24:03 +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
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 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 807c5bf208 [widget] Remove useless drawing args
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-03 16:08:33 +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 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