Commit Graph

261 Commits

Author SHA1 Message Date
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
marco candrian 8567009d22 rename of fg_middle/fg_half to fg_center and fg_full to fg_end
A hint from maxauthority. The names would be unified now in the progressbar
and the graph widget. And (hopefully) it's easier to guess what they mean now.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-02-06 07:32:22 +01:00
Julien Danjou 0e890697ac fix uninit warning 2008-02-05 15:40:16 +01:00
marco candrian ff753f1f14 Adds fg_middle + fg_end color option for the graph widget
Draws a color-gradient beginning from fg and
if either fg_middle or fg_end is set, through them.

example config:

    graph gr_cpu
    {
      data { scale = false max = 100  style = bottom
             fg = "#cc6666" fg_half = "#cc6666" fg_full = "#998888"}
      ...
      ...
    }

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-02-05 15:37:21 +01:00
marco candrian a28f931d08 awesomerc(1) update for progressbar widget option fg_half
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-02-05 12:04:03 +01:00
marco candrian 09e60cb95e adds fg_half as an option to the progressbar
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-02-05 07:16:12 +01:00
marco candrian b024b0c0cf draw_rectangle_gradient() for the progressbar widget; + fg_full option
Adds an optional additional foreground color option to a bar: fg_full = <color>

A value of 0 represents the fg-color, and a value of 100 (a full graph) the
fg_full-color.

Example:

progressbar xy
{
  bar { fg = "#111155" fg_full = "#3333cc"  bg = "#000000" bordercolor = "#4444cc"}
  ....
}

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-02-04 11:16:30 +01:00
marco candrian be0779d0fa graph widget adopted to the latest statusbar changes
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-01-31 20:43:42 +01:00
Julien Danjou 42d4686282 change padding_left to padding for progressbar 2008-01-29 08:44:16 +01:00
Julien Danjou d9298f6edb rename get_current_tags to tags_get_current() 2008-01-29 08:31:13 +01:00
Julien Danjou ea57fd8fc9 add support for smart windows placement in floating layout 2008-01-28 18:30:23 +01:00
Julien Danjou 3d74f42446 tmp_color can be uninitialized 2008-01-27 19:10:15 +01:00
Julien Danjou 95d5fe299e rename focus() to client_focus() 2008-01-27 19:07:39 +01:00
Julien Danjou b6642e45c8 rename initxcolor to draw_color_new() and move it to draw.c 2008-01-27 18:56:37 +01:00
Julien Danjou c22430a115 fix handling of window raisings 2008-01-25 23:43:16 +01:00
marco candrian c73e0bd72e Additional graph widget options
There are the new styles:

bottom (fill the graph to the bottom of widget-square)
top (fill the graph to the top of the widget-square
line (just print a line representing the values)

E.g when there are multiple 'bottom'-style graphs, it will print the larger
part on top of the smaller.  When two values are the same, it will (actually)
just print it with one color (something to improve maybe).

bottom-style overdraws top-style, and line-style overdraws top and bottom style
(= gets drawn at the end)

An example configuration:

    graph gr_cpu
    {
      data { scale = false max = 100 fg = "#669966" style = bottom} # total
      data { scale = false max = 100 fg = "#cc9966" style = bottom} # user
      data { scale = false max = 100 fg = "#ffffff" style = bottom} # nice-processes
      width = 50
      height = "0.80"
      bg = "#000000"
      bordercolor = "#669966"
    }

With the 'line' style, there is a bug (draws sometimes over the rectangle).
I checked the values and didn't find any value what actually should do that.
So I have no idea why that is... needs a recheck, because it's not really nice..
Happens especially when scale=true and after a rescaling takes place.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-01-25 22:53:20 +01:00
Julien Danjou 3855ced402 remove selscreen arg 2008-01-24 23:48:35 +01:00
Julien Danjou 2ac27fdac4 move draw files to common/ 2008-01-24 18:48:11 +01:00
Julien Danjou 35803aff4c make draw functions more independant 2008-01-24 18:43:24 +01:00
Julien Danjou e0a12f9e58 draw nothing is icon is invalid 2008-01-23 19:13:49 +01:00
Julien Danjou f3aa1ede5c textbox width is limited to unused space 2008-01-23 08:28:02 +01:00
Julien Danjou b27208d9d1 don't draw if we do not have space too 2008-01-22 17:52:12 +01:00
marco candrian ec7ab36814 max values must be > 0 on the graph-widget
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-01-22 15:01:21 +01:00
Julien Danjou 668702b777 move list.h and util.[ch] to common/ 2008-01-21 18:14:59 +01:00
Julien Danjou 47a5eac10c don't leave unused pixels 2008-01-21 16:31:15 +01:00