Commit Graph

24 Commits

Author SHA1 Message Date
Emmanuel Lepage Vallee 6244ed7c26 api: Update file to match new upstream Awesome APIs
Also has some bug fixes mixed in the patch.

The Radical placement API is now fully upstreamed.
2016-12-25 21:59:37 -05:00
Emmanuel Lepage Vallee cbc5e6919f placement: Re-introduce many placements features lost during the re-write
The menu can be attached to a widget or the mouse again, and more

This commit also fix some tasklist/taglist issues and introduce minor
features like item.shape.
2016-12-25 21:59:37 -05:00
Emmanuel Lepage Vallee a1abd2f57a cleanup: Remove overlay/underlay hacks, re-implement as widgets container
There is a new widget called `infoshapes`. It support all the features
from the underlay system, but is a lot less intrusive. This allow to
make some code simpler.

This is another step in getting rid of all the hacks.
2016-12-25 21:59:37 -05:00
Emmanuel Lepage Vallee f239ee9a24 Rewrite the view layer
Radical is a model-view framework. There is a common API to
set data, then view modules to display it. Those modules have
been rewritten on top of new APIs.

Not all features are yet re-integrated, most are. Future commits
will address the various regressions and missing features. This
time, the code should be maintainable. The whole separation of
concerns analysis has been re-done. Allowing code de-duplication
and generalization.

The API remain the same, only `set_menu` has changed a little to
allow merging the 2 sub-menu code paths.
2016-12-25 21:59:37 -05:00
Emmanuel Lepage Vallee 7f6bd3c673 Fix drawable position calculation
The position of the drawable wasn't taken into account.

This does not fix the bug reported by Minde where the manu
position is correct the first time, but off the second, this is
due to something else.
2016-12-25 21:59:23 -05:00
Emmanuel Lepage Vallee 7c0425fdfd common: Make overlay support available to all widgets
This is the first step toward removing the underlay/overlay from
all item.style and item.layout and use the common implementation.

This will simplify the code a lot.
2016-12-25 21:59:23 -05:00
Emmanuel Lepage Vallee 1229da75c7 Add a new global get_preferred_size() for all widgets
Replace the fit(9999,9999) used before. This will hopefully be
temporary until upstream adopt such a method
2016-12-25 21:59:23 -05:00
Emmanuel Lepage Vallee cf9bb87b36 Port to the new Awesome widget system
This commit fix most issues introduced by the new widget system. It
is not production ready and will require multiple commits to fix
individual issues.

The new widget system is better suited for modules like Radical than
the previous one. Over time, this breakage will probably end up being
a good thing. However, for now, expect multiple errors.

The changes:

 * The draw "wibox" argument is now a "context". "context.wibox" is
   the equivalent. This will allow passing the Radical structure to
   the draw method without storing it in the widgets.
 * "fit" now have a new required "context" argument for the DPI, this
   will allow removing the "default_height" variable Radical is using
   to scale the UI on HIDPI systems. This will allow size policies to
   be passed to the fit method
 * "draw" has been splitted into "draw", "draw_before_children",
   "draw_after_children" and "layout". This simplify the overlay
   system and will allow cleaner code
 * Drawing outside of the widget clip is no longer supported, this
   break multiple Radical item.style. This will allow better
   performance and less redraw once the new system issues have been
   fixed
2016-12-25 21:59:23 -05:00
Emmanuel Lepage Vallee 16b87239c1 Add a new dock menu type (experimental) 2014-07-27 19:20:30 -04:00
Emmanuel Lepage Vallee 1662a013dc Bug fixes 2014-07-27 19:20:04 -04:00
Emmanuel Lepage Vallee 5d21035698 Add some filter options 2014-03-12 22:56:56 -04:00
Emmanuel Lepage Vallee 231eef25bc Add global underlay support 2014-03-12 00:31:50 -04:00
Emmanuel Lepage Vallee fabd52d1a6 Major refactoring, address issue #12 2014-02-22 23:59:03 -05:00
Emmanuel Lepage Vallee 220dd27a02 Add new 'flexbar' menu type (bar with a flex layout) 2014-02-06 23:47:24 -05:00
Emmanuel Lepage Vallee daff0cb4dd Add support for custom item_style and item_layout for each items 2014-02-02 23:01:31 -05:00
Emmanuel Lepage Vallee 69d5aac0fa Fix set_menu() 2014-01-08 23:32:42 -05:00
Emmanuel Lepage Vallee 63bb804a45 'Bar' menu cleanup, minor bug fixes 2014-01-05 17:35:23 -05:00
Emmanuel Lepage Vallee 4af6f6387b Add :set_menu function to all widgets 2014-01-04 18:10:35 -05:00
Emmanuel Lepage Vallee 55f1b2a0c1 Add :set_tooltip() method to all wibox.widgets 2014-01-04 16:51:50 -05:00
Emmanuel Lepage Vallee 5ff71f7385 Add new 'bar' menu type 2014-01-04 00:49:20 -05:00
Emmanuel Lepage Vallee ace65ad586 Fix scroll widget 2013-12-31 15:55:51 -05:00
Emmanuel Lepage Vallee f399a651c5 Fix clear 2013-07-23 02:12:19 -04:00
Emmanuel Lepage Vallee 9a4430ab4c Add embeded menus (menus in menus) support 2013-07-21 04:15:56 -04:00
Emmanuel Lepage Vallee 88d7ad2ff1 First commit
This is Radical, a new menu implementation for AwesomeWM. It make it easy to abstract look and behavior or various types of menu with object oriented abstractions. While slower, this make it easier to maintain and extend.
2013-05-11 15:02:47 -04:00