Commit Graph

8 Commits

Author SHA1 Message Date
Emmanuel Lepage Vallee abd3d55554 box: Set the screen if specified in the arguments
The old logic had some dark tricks to set this, but here is a clean
solution.
2016-12-25 21:59:55 -05:00
Emmanuel Lepage Vallee 2d0a957506 quality: Begin to fix luacheck warnings 2016-12-25 21:59:37 -05:00
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 b528ec9730 box: Fit position 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 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 95ed8b26c4 More style/colors oriented refactoring 2014-03-02 16:28:30 -05: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