Commit Graph

233 Commits

Author SHA1 Message Date
Julien Danjou a0b24c5505 [statusbar] Implement multi-threading per statusbar
More more efficient than before.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-27 11:17:51 +02:00
Julien Danjou 2654b5b938 [statusbar] Remove todo.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-25 17:44:59 +02:00
Julien Danjou 2b0e70dc5b [statusbar] Check for names and uniqness before adding, add remove function
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-25 14:34:16 +02:00
Julien Danjou 6931bc70e6 [statusbar] Add align option
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-24 11:08:34 +02:00
Julien Danjou 968a9080c5 [statusbar] Respect width paramater on creation
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-24 09:06:04 +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 ffdb9727b7 [widget] Add a visible attribute to widgets and Lua functions
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 19:29:55 +02:00
Julien Danjou 819ba3f191 [layout] Change {layout,statusbar}_refresh proto
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-21 14:40:16 +02:00
Julien Danjou 597719e5aa [statusbar] statusbar_position_update() is static
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-20 20:02:08 +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 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
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 f31517817c [statusbar] Remove statusbar_display
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:02 +02:00
Julien Danjou a04395ddc9 [swindow] Store gc
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:02 +02:00
Julien Danjou 33709c62cd [xutil] Remove map_raised
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:01 +02:00
Arnaud Fontaine 71e9100927 Remove useless xutil_root_window() 2008-05-03 12:01:00 +02:00
Arnaud Fontaine 02c99fccb8 Prefix xutil functions properly 2008-05-03 12:01:00 +02:00
Arnaud Fontaine dafafd077c Port Awesome to XCB 2008-05-03 12:00:59 +02:00
Fabienne Ducroquet b12a5235a5 [doc] Fix some typos, modify a few descriptions
Before awesome 2.3 release, I've decided to look for typos in the
awesome* manpages, here is the result. I've also modified some options'
descriptions that I didn't find very clear, I hope I have not
added/missed too many mistakes as I'm not a native English speaker...

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-11 07:34:45 +02:00
Julien Danjou 40eaa6b997 [doc] Add a bunch of documentation
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-08 09:45:48 +02:00
Julien Danjou 5f58d17d58 [widgets] Use statusbar name in widget_tell (FS#144)
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-03 14:00:46 +02: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 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 4a7e52cc27 Change draw_rotate() proto to directly render on the right Pixmap 2008-03-23 15:52:22 +01:00
Julien Danjou 024ef921c9 Do not recreate statusbar DrawCtx on each draw, store it
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:22 +01:00
Julien Danjou 6337115e2e Support for multiple statusbar with the same position value
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:22 +01:00
Julien Danjou f88d403d1c Update various copyrights 2008-03-23 15:52:19 +01:00
Julien Danjou 8b217359e9 Rename Auto to Maybe in Fuzzy; add Auto as Position; add support for titlebar as rule 2008-03-23 15:52:19 +01:00
Julien Danjou ea88e324a0 First titlebar support 2008-03-23 15:52:18 +01:00
Julien Danjou c6eec955c8 Rename Area to area_t 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 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 355b7d67b3 Change screen_get_bycoord() proto to take ScreensInfo as arg, and speed up things 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 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
Julien Danjou 0bfa880b0f add align option to widget to specify their alignment 2008-02-08 10:59:55 +01:00
Julien Danjou a28876b5ce reuse cairo context stuff 2008-01-31 18:18:15 +01:00
Julien Danjou 606d157e31 rename some screens function 2008-01-30 09:36:52 +01:00
Julien Danjou ab8d95f13d rework include 2008-01-29 11:27:14 +01:00
Julien Danjou ea57fd8fc9 add support for smart windows placement in floating layout 2008-01-28 18:30:23 +01:00
Julien Danjou 30eba52596 rename draw_get_context() to draw_context_new() 2008-01-27 19:02:08 +01:00
Julien Danjou c5f57d24d3 split out simple window handling 2008-01-26 17:58:01 +01:00
Julien Danjou 4734a8af3d fix bar left position 2008-01-24 23:25:12 +01:00
Julien Danjou 30256b3be3 cosmetic 2008-01-24 20:24:16 +01:00
Julien Danjou 35803aff4c make draw functions more independant 2008-01-24 18:43:24 +01:00
Julien Danjou 240ee786d1 rename nscreens to nscreen 2008-01-24 13:48:49 +01:00
Julien Danjou 6396d08c25 kick out rotate option 2008-01-24 10:37:16 +01:00
Julien Danjou 3b899c4922 use simplewindow function to refresh and rework left/right pixmap handling
I love hacking at 280 km/h
2008-01-23 19:52:05 +01:00
Julien Danjou 7ad43fe713 stop being stupid, use only one Drawable 2008-01-23 19:10:53 +01:00
Julien Danjou 9e1994d879 rework statusbar stuff 2008-01-23 17:53:55 +01:00
Julien Danjou 0d1497d3bf fix bottom statusbar position 2008-01-23 17:18:49 +01:00
Julien Danjou aeee10ea18 add simplewindow_move() function and use it for statusbar 2008-01-23 16:10:05 +01:00
Julien Danjou 5fa25b23f6 add some code for creating SimpleWindow-s and use it for statusbar 2008-01-23 15:54:30 +01:00
Julien Danjou 668702b777 move list.h and util.[ch] to common/ 2008-01-21 18:14:59 +01:00
Julien Danjou bfc7f3ce5d clean out some need_arrange uneeded 2008-01-21 16:31:15 +01:00
Julien Danjou 6e4d13c9dc add a new cache system for arrange()ing 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 5180613fe5 fix bug with statusbar recovering each others (FS#37) 2008-01-21 16:31:14 +01:00
Julien Danjou d59fc62739 draw rectangle take an Area as arg 2008-01-21 16:31:14 +01:00
Julien Danjou feac2caa81 statusbar_draw is static 2008-01-21 16:31:13 +01:00
Julien Danjou 0ccfeb14b5 use info from the right screen 2008-01-19 14:56:18 +01:00
Julien Danjou 3fc3fd9623 use previous statusbar to get screen size 2008-01-16 15:26:48 +01:00
Julien Danjou 542df6a3ab do not try to guess where we should XSync(), XSync after bunch of XEvents 2008-01-11 16:17:15 +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 2aacaa9320 stop dropping EnterWindow event
and make statusbar_update_position static
2008-01-10 20:53:31 +01:00
Julien Danjou 5c9291ff0b use a cache system for status bar 2008-01-07 18:12:38 +01:00
Julien Danjou d16b11bb30 cosmetic 2008-01-06 22:46:59 +01:00
Julien Danjou af6ff367eb typedef enum Position 2008-01-04 19:12:07 +01:00
Julien Danjou a12ea9441f fix window placement for left positionned statusbar 2008-01-04 13:28:51 +01:00
Julien Danjou 4f65aa8f51 rework headers inclusion 2008-01-01 18:02:36 +01:00
Julien Danjou b9d6a93c59 draw statusbar after init 2007-12-31 10:04:03 +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 a051c2db09 free old statusbar drawable 2007-12-30 18:13:33 +01:00
Julien Danjou cb0203b0a0 don't display if statusbar off 2007-12-30 14:23:01 +01:00
Julien Danjou 0df27e0f6a split the display part of statusbar_draw(), move it to new statusbar_display(), and call it for expose events 2007-12-30 13:17:26 +01:00
Julien Danjou 1021f86e24 rework draw stuff
- remove display from DrawCtx
- add Drawable in statusbar
2007-12-30 12:26:11 +01:00
Julien Danjou 360d9023a4 allow textbox widgets to have their own font 2007-12-29 16:04:06 +01:00
Aldo Cortesi 5f079ef73e Clean get_screen_info and get_display_info.
Besides making these functions much nicer to use, this fixes a number of
things:

- Clients now don't have to free the returned structures.

- The ScreenInfo allocated by XineramaQueryScreens should be freed with XFree,
  not p_delete.

This patch also introduces an abstract Area type that will be very useful.
2007-12-23 09:53:50 +01:00
Aldo Cortesi 51379e065b Clean interface of statusbar_update_position. 2007-12-23 09:51:44 +01:00
Julien Danjou b0a8522466 rename a bunch of widget functions 2007-12-22 20:55:17 +01:00
Julien Danjou c232576631 rename a bunch of draw functions 2007-12-22 20:17:24 +01:00
Julien Danjou afe32e27f0 renders right widget from last to first 2007-12-22 16:49:21 +01:00
Aldo Cortesi 4d4001b41f Clean interface of statusbar_init. 2007-12-19 10:43:15 +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 980afac1cf Make sure all uicb_ functions have doxygen annotations.
Also refactor some indentation while I'm there.
2007-12-19 10:42:34 +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 b6bfd1a4d0 The arg to uicb_ functions is no longer const. 2007-12-17 18:19:44 +01:00
Aldo Cortesi 5715b70ab3 Make empty status bar look nice.
It's now possible to have unfilled space on the status bar. Fill it with the
background colour on creation.

Normalise line lengths while I'm at it.
2007-12-16 12:58:21 +01:00
Aldo Cortesi 8880a3804e Simplify widget draw interface. 2007-12-16 12:54:42 +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
Julien Danjou 602f921559 first try to get widget configurable 2007-12-15 18:21:02 +01:00
Julien Danjou 79749fcc7f remove useless #include 2007-12-15 16:17:57 +01:00
Aldo Cortesi 76ddf235ac Widget-ise the statusbar.
We now have the beginnings of a flexible widget structure for the statusbar.
For now, there is no behavioural change, and the interface is a bit crude, but
watch this space!
2007-12-15 10:15:42 +01:00
Aldo Cortesi c81b5cfc55 Refactor statusbar.c
This a preparatory patch. Refactor statusbar.c to compartmentalise the drawing
of the statusbar "widgets". We can now begin to see what a generalised widget
drawing interface would look like.

Note that at the moment we don't gracefully handle situations where "widgets"
run out of space. That will come as we generalise from here.
2007-12-15 09:48:13 +01:00