Commit Graph

309 Commits

Author SHA1 Message Date
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 f9c9bc53c6 change default font 2008-01-26 11:52:36 +01:00
Julien Danjou 56e84597eb set floppy_raise_focus to false by default 2008-01-26 09:27:10 +01:00
MATSUU Takuto 363cefefee transparency rule support
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-01-25 23:48:24 +01:00
Julien Danjou 8fc3d6b584 remove focus_move_pointer option 2008-01-25 23:28:55 +01:00
Julien Danjou e32070cffb add sloppy_focus_raise option 2008-01-25 23:27:32 +01:00
Julien Danjou 4e677d242c remove allow_lower_float option 2008-01-25 23:21:09 +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 5ade4d63e0 remove opacity_unfocused
this is crap
2008-01-24 23:45:04 +01:00
Julien Danjou 240ee786d1 rename nscreens to nscreen 2008-01-24 13:48:49 +01:00
Julien Danjou e84d614377 replace some code using switch and warn() 2008-01-24 10:47:01 +01:00
Julien Danjou c1569eedf4 store simple window geometry 2008-01-23 16:05:52 +01:00
Julien Danjou 668702b777 move list.h and util.[ch] to common/ 2008-01-21 18:14:59 +01:00
Julien Danjou db3931c549 add support for keycode instead of only string 2008-01-21 16:31:15 +01:00
Julien Danjou 2592d3032c add more functions to manipulate tags 2008-01-21 16:31:15 +01:00
Julien Danjou 4d117da0ec preinit in config.c 2008-01-21 16:31:14 +01:00
Julien Danjou b5e5878c2f push 2008-01-21 16:31:14 +01:00
Julien Danjou 9f28582820 add Display as arg 2008-01-21 16:31:14 +01:00
Julien Danjou 0b5e3e7cd1 split config.h, and move DO_SLIST() 2008-01-21 16:31:14 +01:00
Julien Danjou 3c960865aa use list functions for Layout 2008-01-21 16:31:14 +01:00
Julien Danjou 99e54ef971 use list functions for Tag 2008-01-21 16:31:13 +01:00
Julien Danjou 56d7e1654a use list functions for statusbar 2008-01-21 16:31:13 +01:00
Julien Danjou 6bd8c670e5 rename LayoutsList to LayoutList 2008-01-21 16:31:13 +01:00
Julien Danjou a823470fd0 use list function for Widget 2008-01-21 16:31:13 +01:00
Julien Danjou 19887a3201 use list functions for Button 2008-01-21 16:31:13 +01:00
Julien Danjou b08c343b65 use list functions for Key 2008-01-21 16:31:13 +01:00
Julien Danjou 66507b0401 use list functions for rules 2008-01-21 16:31:13 +01:00
Julien Danjou e6c0449009 rename NameFuncLink to name_func_list_t 2008-01-21 16:31:13 +01:00
Julien Danjou 0c3ac0468a add support for Button6 and Button7 2008-01-16 20:53:46 +01:00
Julien Danjou f77dcc056d missing CFG_END 2008-01-16 12:19:29 +01:00
Nikos Ntarmos 956ce4ab8e add nscreen var to store screen count
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-01-11 13:39:48 +01:00
Julien Danjou 34309baa60 change Layout linked list to by cycling 2008-01-11 10:32:44 +01:00
Julien Danjou c2ca948b39 add new_get_focus option 2008-01-07 18:54:45 +01:00
Julien Danjou 8877aae6c9 add show_all option to tasklist 2008-01-07 11:20:24 +01:00
Nikos Ntarmos 348440bc8e autoscale graph widget
FS#26
2008-01-07 09:28:07 +01:00
marco candrian c0ff2c6088 padding_left defaults to 0. Easier for x/y users. 2008-01-07 09:24:42 +01:00
Julien Danjou 58c8912e33 Revert "force windows to tile mode" - it's useful afterall to not consider "no value" as "false"
This reverts commit 81afe81b4e.

Conflicts:

	event.c
2008-01-07 00:36:45 +01:00
Julien Danjou 81afe81b4e force windows to tile mode 2008-01-07 00:28:27 +01:00
Julien Danjou 4fbce766bf add auto option to float in rules 2008-01-06 22:21:23 +01:00
marco candrian 37da7d0d01 graph widget added
example config:

graph gr_cpu {
  width = 80
  height = "0.8"
  fg = "#336633"
  bg = "#000000"
  bordercolor = "#669966"
  padding_left = 0
  mouse = {...}
  x = ...
  y = ...
}

Looks like here: http://www.calmar.ws/tmp/112-Sun-screen.png

I renamed lpadding to padding_left, and bcolor to bordercolor
also on the progressbar widget.

The awesomerc page would still be to write, when this patch will get accepted.

Hints are always welcomed.
2008-01-06 20:51:40 +01:00
Julien Danjou 5770b56af0 allow negativ coords 2008-01-05 13:01:40 +01:00
Nikos Ntarmos 3bd36a4749 use default config file on parsing errors 2008-01-05 09:24:43 +01:00
Julien Danjou a4c09d142c add support for x,y coords supplying in widgets 2008-01-04 22:05:52 +01:00
Julien Danjou 1d08ed45a8 add new_become_master option to disable new client becoming automaticaly master 2008-01-04 17:53:28 +01:00
Julien Danjou d25d5b921f add sloppy_focus option to allow click-to-focus 2008-01-04 14:40:26 +01:00
Julien Danjou a69b5dfc40 add option to show appicons in tasklist 2008-01-03 19:21:36 +01:00
Julien Danjou 817aab0450 cosmetic 2008-01-03 17:09:45 +01:00
Julien Danjou a06d739dfb add align option to tasklist 2008-01-03 16:05:39 +01:00
Julien Danjou 7c716e0ec0 add align option to focustitle 2008-01-03 16:04:16 +01:00
Julien Danjou ec53f3d070 add align option to textbox 2008-01-03 16:02:41 +01:00
Julien Danjou c4e88f9928 add new tasklist widget 2008-01-03 12:39:28 +01:00
Julien Danjou 9fc22e9e4e remove some get_phys_screen() calls 2008-01-02 17:41:03 +01:00
Julien Danjou 437bc5c22c add 2008 copyright notice 2008-01-02 16:59:43 +01:00
Julien Danjou 1b48166ad5 add resize option to iconbox 2008-01-02 14:59:15 +01:00
Julien Danjou aff5e13590 use NULL value by default 2008-01-02 14:39:14 +01:00
Julien Danjou d402ae8f69 optimize rule usage 2008-01-02 12:44:18 +01:00
Julien Danjou 346a383258 implement xproperty rule matching (FS#5) 2008-01-02 12:23:01 +01:00
Julien Danjou 0cf4ff6d9f implement not_master rules option (FS#6) 2008-01-02 12:00:36 +01:00
Julien Danjou 4f65aa8f51 rework headers inclusion 2008-01-01 18:02:36 +01:00
Julien Danjou bb06e80199 simplify some stuff, cosmetic 2008-01-01 16:29:58 +01:00
marco candrian 0945e3ad34 additonal settings for the progressbar 2008-01-01 16:29:53 +01:00
Julien Danjou f7f6951957 allow to have several statusbar 2007-12-30 21:00:34 +01:00
Julien Danjou 64e44421dd allow to set statusbar width 2007-12-30 18:55:46 +01:00
Julien Danjou 643407b5ea allow to set the statusbar height 2007-12-30 18:54:17 +01:00
Julien Danjou 427858460f add CFGF_NO_TITLE_DUPES to screen and tag sections 2007-12-30 18:38:05 +01:00
Julien Danjou 5599027361 add CFGF_NO_TITLE_DUPES flag to widgets sections 2007-12-30 18:36:18 +01:00
Julien Danjou 75c7d04adf allow textbox to have special width 2007-12-30 14:49:03 +01:00
Julien Danjou 814b66fddb remove useless checks 2007-12-29 21:37:12 +01:00
Robert Millar eb65306127 Custom netwm icons, scaling icons!
I hacked together support for custom netwm icons set in the rules
section of .awesomerc, and for iconboxes and netwm icons to be scaled
to fit into the statusbar. It could probably be done a bit more
cleanly than I've done it, though :)

Rob
2007-12-29 21:30:37 +01:00
Julien Danjou bf5d5fa17e add support for fg/bg colors and dedicated font for focustitle widget 2007-12-29 19:39:46 +01:00
Julien Danjou 360d9023a4 allow textbox widgets to have their own font 2007-12-29 16:04:06 +01:00
Julien Danjou f9aff4ef40 don't die for parsing errors, set up a minimal conf 2007-12-27 23:28:33 +01:00
Julien Danjou a22a308e60 split screen section parsing in another static fct 2007-12-27 23:18:50 +01:00
Julien Danjou a1f5e2ee22 add support for _NET_DESKTOP_NAMES 2007-12-27 19:11:18 +01:00
Julien Danjou 3de4814910 add support for _NET_CURRENT_DESKTOP 2007-12-27 18:42:20 +01:00
Julien Danjou 502f502e23 add support for _NET_NUMBER_OF_DESKTOPS 2007-12-27 18:26:50 +01:00
Julien Danjou c900e37843 add mouse bindings to status bar 2007-12-27 15:49:00 +01:00
Julien Danjou 382c5ceb5e missing CFG_END 2007-12-27 14:10:16 +01:00
Julien Danjou 7be6a97972 change "default" in textbox to "text" and set it to a good default 2007-12-27 00:16:29 +01:00
Julien Danjou 91cc5a4618 use image instead of symbols for layouts 2007-12-27 00:13:44 +01:00
Julien Danjou d5d9439777 add support for Urgency hint 2007-12-23 15:16:10 +01:00
Julien Danjou ddbdbb2ed3 new width: progressbar 2007-12-23 14:27:56 +01:00
Julien Danjou 8c898256b1 new widget: add support for netwmicon 2007-12-22 19:32:47 +01:00
Julien Danjou 1bc6d1dc2f cosmetic 2007-12-22 16:25:22 +01:00
Julien Danjou 3f3748d4bd new widget to draw icons from PNG image 2007-12-22 15:37:43 +01:00
Aldo Cortesi 7190e4fa48 Change awesome_config -> AwesomeConf.
All other struct definitions in the project follow this naming convention.
2007-12-19 10:43:02 +01:00
Aldo Cortesi cbf5c474c1 Documentation generation fixes.
- Fix many instances of incorrect and incomplete doxygen annotations.
- Teach doxygen not to complain when it comes accross gcc __attribute__
specifications.
- Turn off graph generation by default.
- Make doxygen quiet, so we can actually see warnings when they occur.
2007-12-19 10:42:24 +01:00
Aldo Cortesi 9bb28772ed Make textbox foreground and background configurable. 2007-12-19 10:41:50 +01:00
Aldo Cortesi ce556ec743 The preferred line length is 80 characters. 2007-12-18 11:27:26 +01:00
Aldo Cortesi 965cbb7e0b Continue to simplify interfaces that require arguments in globalconf.
Today I focus on screen.c.
2007-12-18 11:26:39 +01:00
Aldo Cortesi 205f2c55ca Make "Statusbar statusbar" the in VirtScreen "Statusbar *statusbar". This is
more consistent with the rest of the interface, and will make our life easier
when we have mulitiple statusbars per screen.
2007-12-18 11:26:18 +01:00
Aldo Cortesi 4723ab3627 This patch is a first draft of independently targetable textboxes, and a
protocol to speak to them. Given a textbox widget definition like this:

        textbox mail {
            default = 0
        }
        textbox time {}

We can update the boxes individually by going:

    echo 0 tell_widget mail 10
    echo 0 tell_widget time 12:01

Text boxes will dynamically resize to fit their contents. A textbox can be
cleared by going:

    echo 0 tell_widget name

A text-box containing no text will take up 0 space in the bar, i.e. it will not
be visible at all

Textboxes now supersede statusbar_set_text, so this call has been removed.
2007-12-17 18:22:05 +01:00
Aldo Cortesi ff84907b38 Use WidgetList for lookups, rather than recreating the data. 2007-12-17 18:21:59 +01:00
Julien Danjou f0f522bd47 move things around
- rename parse_config to config_parse
- move KeyModList and ButtonList in their own functions
- move LayoutsList in layout.c
- move static fcts around in config.c
2007-12-16 13:24:12 +01:00
Aldo Cortesi 5923c90aaa Solidify widgets.
Factor out common initialisation into a common_new function. Copy the section
title into the Widget title attribute.
2007-12-16 12:57:47 +01:00
Aldo Cortesi 65fd8d48f0 The beginnings of a more flexible widget configuration.
The problem is as follows. In the end, different types of widget are going to
have distinct configurable options. This means that we need to have a
different section type for every widget type, if we are ever to make the
configuration nice. In fact, a configuration syntax like this would suit us
very well:

    textbox name {
        foo = bar
    }
    focuslist name2 {
        bar = voing
    }

This is all very well, but libconfuse has a limitation - there is no "nice"
way to retrieve the order of disparate sections (i.e. sections of different
types), and order is important to us. This patch goes to some effort to
retrieve the section order by extracting an array of widgets, and sorting them
based on line number.
2007-12-16 12:57:03 +01:00
Aldo Cortesi 6e8b1383fe Various doc comment fixes. 2007-12-16 12:13:07 +01:00
Aldo Cortesi 2f74c079aa Massive, massive interface refactoring.
The big change here is that we now keep our configuration structure in a global
variable called globalconf. This radically simplifies many interfaces, since
passing awesomeconf everywhere is no longer necessary. There are also more
subtle interface effects - now we can reliably identify a screen from just a
screen ID, rather than an awesomeconf, screenid tuple.

Overall, this patch makes most of the interfaces in awesome much nicer to use -
enjoy!

Yes, this is a huge patch, but since a lot of the refactoring was done
systematically using vim macros, splitting this up would have been very hard.
2007-12-16 12:12:48 +01:00
Aldo Cortesi ec80635cbc Fix compilation warning related to parsing of statusbar widgets config.
Also make the code surrounding this problem more legible, and remove
Widget_ptr, which just confuses the issue.
2007-12-16 12:00:00 +01:00
Julien Danjou 602f921559 first try to get widget configurable 2007-12-15 18:21:02 +01:00