Commit Graph

485 Commits

Author SHA1 Message Date
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 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
Julien Danjou ec414ae39b systray: set orientation
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-24 19:56:10 +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 425c8ea635 util: tokenize a_strtobool() 2008-06-23 18:06:00 +02:00
Pierre Habouzit 14f4e02e66 Replace tag_t lists with arrays.
This improves lots of code efficiency (we *know* how many tags we have
now, YA'RLY).

Also fix a \todo in client.c: since knowing the number of tags is cheap,
ignore props that don't match it.

Use many p_alloca for things that depends on the number of tags (no sane
user will have *thousands* of tags. This saves a few more mallocs.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-23 17:37:19 +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 4711f4631f systray: restack on client raise
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 14:53:31 +02:00
Julien Danjou 446df09acc cosmetic
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 14:14:47 +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 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
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
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
marco candrian 7af0aeb58d [widgets/progressbar] cosmetic / typo fixing 2008-05-28 12:27:29 +02:00
marco candrian e756b2bc9a [widgets/progressbar] add missing 'border_width' for lua interface 2008-05-28 12:27:28 +02:00
marco candrian ac07ea957e [widgets/progressbar] autocreate data section when they get mentioned 2008-05-28 12:27:28 +02:00
marco candrian 5e4da273f5 [widgets/progressbar] add needed values to _tell for dynamic change (lua) 2008-05-28 12:27:28 +02:00
marco candrian 30decf7c6b [widgets/progressbar] initial lua adjusting 2008-05-28 12:27:28 +02:00
Lucas de Vries 08b2949e69 [taglist] Add show_empty option
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-27 18:40:41 +02:00
Julien Danjou c774a01b9b [taglist] Fix taglist drawing
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-27 17:09:24 +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 0e3531d3a3 [client] Rework raise and mouse stuff
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-26 18:08:29 +02:00
Julien Danjou d9dd1fba8e Revert "[client] Remove ismax attribute."
This reverts commit fb822997b3.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-25 17:42:20 +02:00
Julien Danjou ca68059b19 [iconbox] Do not draw iconbox if not enough size
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-24 09:07:56 +02:00
Julien Danjou 21ae849d9f Rename VirtScreen to screen_t
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-24 09:01:49 +02:00
Julien Danjou 0bbd2d4b3e Rename AwesomeConf to awesome_t
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-24 08:59:27 +02:00
Julien Danjou 4e4a7d2703 [tag] Add luaA_tag_userdata_new() function
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-24 08:40:41 +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 db5430420d [client] Create luaA_client_userdata_new() function
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 22:56:03 +02:00
Julien Danjou ed44254aeb [widget] Merge common functions.
Not really common after all.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 15:12:01 +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 fb822997b3 [client] Remove ismax attribute.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 13:11:47 +02:00
Julien Danjou 65cdf2d536 [taglist] Count tag references
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-22 08:46:14 +02:00
Julien Danjou e25434fe25 [client/tasklist] Reactivate icon drawing with client.icon_set()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-20 22:37:08 +02:00
Julien Danjou dc431ec430 [scratch] Remove scratch client support.
This can be done in Lua now.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-20 19:47:29 +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 e80e6a73c5 [draw] Remove useless default_screen
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-13 17:42:05 +02:00
Julien Danjou 255d91c711 [statusbar] Separate widget cache inside widets and sbars
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-13 16:48:33 +02:00
Arnaud Fontaine bd0e92ef1d [iconbox] Get rid of GCC warning 2008-05-12 19:36:28 +01:00
Julien Danjou fb1ab46eea [iconbox] Use a_strtobool()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-11 16:20:58 +02:00
Julien Danjou ed7865c37b [graph] Cosmetic
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 a3a47d718e [widgets] Cosmetic, and allow more bindings in tasklist
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:35 +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 f0e29977d8 [client] introduce client_style_get() and use it in tasklist/titlebar
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:06 +02:00
Julien Danjou 046c54a118 [taglist] Fix memory leak in parsing and escape title
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:05 +02:00
Julien Danjou c9f8d4e859 [taglist] Honors style; use pointers instead of hard copies
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 4d64efe64e [tasklist] Rename showclient_t type correctly
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 0bbbfb5c67 [taglist] Prefix tag function
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 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 02c31eae05 [textbox] Remove bg property in widget_tell
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
marco candrian 8fa33698d2 replace 'command' with 'new_value'
Describes it somebit better

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 e4d091ab2e [tag] Rename Tag type to tag_t
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:03 +02:00
Julien Danjou d1635db59f [client] Rename Client type to client_t
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:03 +02:00
Julien Danjou a73b07f5d3 [statusbar] Rename Statusbar type to statusbar_t
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:03 +02:00
Julien Danjou 0cd46ab6b1 [widgets] Rename Widget type to widget_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
Julien Danjou c9f4c45007 [rules] Rename Rule to rule_t
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:03 +02:00
Arnaud Fontaine dafafd077c Port Awesome to XCB 2008-05-03 12:00:59 +02:00
marco candrian ce17b1457e [widgets] allow NULL for 'command' (FS#175)
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-23 08:49:31 +02:00
marco candrian 7cad52aa01 [progressbar] Fix X computation
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-20 09:25:13 +02:00
marco candrian cbef649a2d [graph] fix: use own vertical_gradient config for each data{}
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-18 09:12:08 +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 9ba6cfd6c5 [progressbar] using the new draw_rectangle function with outer-coordinates
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-18 09:11:48 +02:00
marco candrian 66d24bb191 [progressbar] fix vertical-reversed bar + cosmetic
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-17 09:50:00 +02:00
marco candrian 3f1c8a9479 [progressbar] about cosmetic
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-17 09:49:49 +02:00
marco candrian 96fe2ec6fd [widgets/graph] when grow=right, fg_end in on the left of the rectangle (FS#163) 2008-04-14 04:23:57 +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 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 4e15b4fab4 [widgets/progressbar] calculate/return 'real' width (instead of d->width) when ticks are used 2008-04-12 04:49:15 +00:00
Julien Danjou 7124b8887c [tasklist] Fix focused client handling
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-07 20:34:42 +02:00
marco candrian 4a7ebc9c5c [widgets/progressbar] fix FS#145 - empty progressbar draws one pixel too far
+ check_settings should be below the check for data_items (count).
+ some fix on check_settings
2008-04-02 15:51:30 +02:00
Julien Danjou c582f4397b [widgets] Check for no value in uicb_widget_tell and only update sbar on no error
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-02 15:31:19 +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
Julien Danjou c43054bc4d [progressbar] check_settings should be static
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-02 08:46:32 +02:00
marco candrian ed231336fb [widgets/progressbar] try to prevent the bug FS#141
The real cause for it is unknown to me. I personally can't reproduce it.

Even when it won't fix, that patch makes still sense so:
no drawing of a rectangle what will get 'overdrawn' fully anyway.
2008-04-02 06:26:17 +02:00
marco candrian 30de23d8c7 [widgets/progressbar] fix x-offset value (pb_x actually) 2008-04-02 06:26:17 +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 3fbf7bd7d1 [emptybox] Remove align
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-31 15:58:33 +02:00
Julien Danjou 6c6d86eef1 [widgets/graph] Fix regression in padding removal (FS#139)
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-31 14:31:58 +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
marco candrian 0e1dbe40d2 [widgets/progressbar.c] x_offset+1 and bg color fix
the widget got drawn 1 pixel to much on the left.
adding one progressbar x offset (pb_x) seems to work nicely.

also. bg shall draw (according to the manpage), the gaps
between the 'ticks' + the padding between the border and the ticks
(... everthing inside the border only the ticks)

so, an additional rectangle draw line to achieve that basic bg color.
2008-03-28 09:53:50 +01:00
Julien Danjou 3ea69238ae [widgets/progressbar] Initialize unit value to 0
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-26 10:59:06 +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
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 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 0a6c6e017b Store physical screen id in statusbar and client, change get_phys_s() to screen_virttophys()
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 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 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
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 a47e3d26d5 Add support for urgent style in tasklist 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
Julien Danjou 403d7e89f9 Compute style when we need to. 2008-03-23 15:52:20 +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
Julien Danjou ece6ffb8fe Fix background color for icons in tasklist 2008-03-23 15:52:19 +01:00
Julien Danjou c6eec955c8 Rename Area to area_t 2008-03-23 15:52:18 +01:00
Julien Danjou a2082ffbae Factorize some code with taglist_style_get() 2008-03-23 15:52:18 +01:00
Julien Danjou fa47024714 Change colors infrastructure to style: rename colors_ctx_t to style_t and add font in it 2008-03-23 15:52:18 +01:00
Julien Danjou 9dfd488dda Change colors handling 2008-03-23 15:52:18 +01:00
marco candrian 2e6dccc5ac make sure command is some text != ""
else call with command arg = NULL

No need to check for a_strlen(command) then on _tell anymore if command != NULL
2008-03-23 15:52:18 +01:00
marco candrian d1e216936c try to calculated the height etc in the same way on progressbar and graph
some issue is still there (anyway). When there are e.g. 5 horizontal bars
the width of that progressbar (multiply of 5 or similar) may won't be the
same like a graph.

So some tweaking on the graphs' height is necessary then.
2008-03-23 15:52:18 +01:00
marco candrian b1b2b48a4c graph: different widget index's (FIXME) handled now
widget_tell can feed data to some with another frequenzy.

When drawing a line, it has to be searched for a smaller value, what should
not get overdrawed. In order to find such a smaller value, the correct value
has to be compared to - and therefore the correct index.
2008-03-23 15:52:18 +01:00
marco candrian 2e935ae1f6 vertical_gradient option for the graph widget
if true, the color values (fg, fg_center, fg_end) create a color gradient
from 0 to full value, instead of new values to old values.

each data{} can have it's own setting
2008-03-23 15:52:17 +01:00
Julien Danjou 0a980095b3 Rework colors stuff, add a common colors_ctx_t containing colors and shadow options 2008-03-23 15:52:17 +01:00
Julien Danjou 5f26ab448c Free the previously opened font if changing it via widget_tell in textbox 2008-03-23 15:52:17 +01:00
Julien Danjou f3652aaca6 Add a pointer to SLIST struct to store previous element
This will make back cycling faster
2008-03-23 15:52:17 +01:00
marco candrian 04ff373a63 New progressbar option: vertical=<boolean>
if 'true', draws the whole progressbar-block vertically
instead of horizontally.
2008-03-23 15:52:16 +01:00
marco candrian 6216d25bc6 new progressbar option for reversing the drawing
inside a data section, with reverse=<boolean> it's possible to reverse the
drawing i.e instead of left to right, from right to left. etc.
2008-03-23 15:52:16 +01:00
marco candrian 397aa33163 widget error infrastructure additions 2008-03-23 15:52:16 +01:00
Julien Danjou 0e69534a65 Add a common error infratructure for widget_tell
Signed-off-by: Marco Candrian <mac@calmar.ws>
2008-03-23 15:52:16 +01:00
marco candrian 3efadded39 graph widget handles property arguments now
data section values:

echo '0 widget_tell progess data title new_value' ...

universal settings  are width, height, padding_left, bg, bordercolor like:

echo '0 widget_tell progess height value' ...
2008-03-23 15:52:16 +01:00
marco candrian 0c4dc79bb6 progressbar widget handles property arguments now
data section values:

echo '0 widget_tell progess data title new_value' ...

data properties: fg, bg, fg_center, fg_end, bordercolor works like this:

echo '0 widget_tell progess fg_end title new_color' ...

universal settings to tune are gap, width, height, padding:

echo '0 widget_tell progess padding value' ...
2008-03-23 15:52:16 +01:00
marco candrian 57e9cb468f textbox handles properties now
text, fg, bg, font, width and text_align actually
2008-03-23 15:52:16 +01:00
marco candrian c384252bc6 iconbox handles the property arguments
image <image), resize <{true, false}> are supported actually
2008-03-23 15:52:16 +01:00
marco candrian 3569ab617d new property argument to widget _tell functions
actually the _tell function won't handle the new argument.
Coming patches will handle them.

it will need now something like this:

echo '0 widget_tell widget property value'

where property can be anything used in the awesomerc file,
that means what will be supported. Like: fg, fg_end, width, font...

(actually it ignores the property value and changes what have been changed in
the past as well.)
2008-03-23 15:52:16 +01:00
Julien Danjou 4451e9099e Add support for text shadow, add new text_shadow_offset option. 2008-03-23 15:52:15 +01:00
Julien Danjou 86927a9e7e textbox can be flex-aligned 2008-02-28 16:19:38 +01:00
Julien Danjou b7d79d8bea use physical screen 2008-02-26 07:15:24 +01:00
marco candrian 4ff0dae17e trailing whitespaces removed
like:
find . -iname "*.txt" -o -iname "*.c" -o -iname "*.h" | xargs sed -i 's/\s\+$//'

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-02-13 09:05:10 +01:00
marco candrian 070ec6dbcd little memory leak fix *shrug*
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-02-13 09:04:32 +01:00
Julien Danjou ae75f55acd change draw_color_new() proto to fill the struct and return status 2008-02-13 08:58:21 +01:00
Julien Danjou 68affe21fd do not draw win that skip focus 2008-02-12 10:29:41 +01:00
Julien Danjou 95fc524993 set widget alignment for graph 2008-02-11 19:01:48 +01:00
Julien Danjou 72d68b13a3 change focus raising 2008-02-09 23:12:40 +01:00
Julien Danjou 0bfa880b0f add align option to widget to specify their alignment 2008-02-08 10:59:55 +01:00
Julien Danjou 91f80b251c rename align to text_align 2008-02-08 09:58:36 +01:00
Julien Danjou 170ed9882a rename netwmicon to focusicon 2008-02-06 20:13:41 +01:00
Julien Danjou ffbcea0084 remove focustitle widget 2008-02-06 20:05:14 +01:00
Julien Danjou 528ff7316c tasklist can now show focused only client 2008-02-06 20:03:18 +01:00
Julien Danjou b2e004b453 add scratch window support 2008-02-06 09:06:43 +01:00