Commit Graph

33 Commits

Author SHA1 Message Date
Emmanuel Lepage Vallee 825ff024ef More bug fixes
This is a step forward to stabilize Radical again. Most of impl/ and widgets/
code is still a mess, but the other modules slowly start to be maintainable
again. The road is still long before the Radical code is good enough to go
into Awesome. It will get there, eventually.
2016-12-25 21:59:50 -05:00
Emmanuel Lepage Vallee f3124b761d quality: Fix more luacheck warnings
And remove unmaintained and broken files
2016-12-25 21:59:50 -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 b65ddbed0e cleanup: Remove duplicated logic 2016-12-25 21:59:37 -05:00
Emmanuel Lepage Vallee 9ea34d4003 cleanup: Mutualize some code and fix embed menus 2016-12-25 21:59:37 -05:00
Emmanuel Lepage Vallee f48ede52f9 cleanup: Port scrolling to Awesome 3.6 visible widget API
It still doesn't work, but at least there is no logic duplication
with Awesome anymore.
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 5271ffd35c Begin the big changes for 3.6
Lots of things will break, hopefully for the better (eventually)

This commit use new upstream APIs:

 * Many cairo paths have been replaced with gears.shape and gears.matrix

This commit add some features:

 * Improved border_color support, now available per state
 * bg_image support, now available per state
 * Mutualize the state setting, remove duplicated code

Regressions:

 * The arrow menu background border is off by a pixel
 * The layout position problem reported by @mindeunix is now worst.

The positioning algo is full of race conditions and cannot be fixed
without a full rewrite. This commit break more things than it solve
and the code is in the middle of a transition. This will be solved
by future commits addressing the code quality (after the refactoring).
2016-12-25 21:59:23 -05:00
Emmanuel Lepage Vallee 3167affe99 overlay: Re-write for the new widget system
**WARNING**: this break the API
menu.overlay -> menu.draw_overlay

The new "overlay" behave like underlay, but is on top

This commit also add underlay/overlay "align" option and document
the feature properly.
2016-12-25 21:59:23 -05:00
Emmanuel Lepage Vallee 6e85a46093 Fix more issues for 3.6. The arrow_prefix now work using a new hack
The "hack" force the full redraw of the menu. This is what 3.5 did
anyway, but of course is not correct. The new layout system allow
widgets to have a larger fit and it should cascade by itself. This
is not yet used by radical.

This commit also fix some mistake made during the initial port.

My whole config now load mostly correctly. Some 3.5 era bugs even
fixed themselves! It is still slower for some reasons and have many
errors left, but it "look" ok.
2016-12-25 21:59:23 -05:00
Emmanuel Lepage Vallee c12501be9b Add a new 'line_3d' item_style 2015-01-02 17:52:36 -05:00
Emmanuel Lepage Vallee c2cf7ba3fa Add option 2015-01-01 02:08:40 -05:00
Emmanuel Lepage Vallee 2f9af8d5dd Add color groups 2014-12-31 00:30:52 -05:00
Emmanuel Lepage Vallee f215d24f35 Add better tools to track the widget height 2014-10-05 18:01:36 -04:00
Emmanuel Lepage Vallee f3fb27f464 Fix minor bugs
* Add hide() method to hide a menu and all sub menu (compared to set_visible)
* Add option to have sub_menu arrows
* Fix selected::changed not being emited in some cases
* Remove duplicated code from notification layout
2014-08-08 02:02:40 -04:00
Emmanuel Lepage Vallee 1662a013dc Bug fixes 2014-07-27 19:20:04 -04:00
Emmanuel Lepage Vallee 68f31d160a Fix some minor context menu issues 2014-04-16 00:26:31 -04:00
Emmanuel Lepage Vallee 8da00cbd65 Add new notification item layout, improve extensions 2014-04-08 23:38:31 -04:00
Emmanuel Lepage Vallee d0d4d5fcd4 Fix issue #24, implement long hover/press signals 2014-04-04 23:44:23 -04:00
Emmanuel Lepage Vallee 14c420ac49 Fix keyboard handling 2014-03-23 00:14:25 -04:00
Emmanuel Lepage Vallee bee04c14bc Fix issue #11, break API, may cause regressions 2014-03-22 17:35:43 -04:00
Emmanuel Lepage Vallee 059572956e Change the way position is computed
The old way was a hack arounf an Awesome 3.5.0 limitation.
The newer should be more reliable.

Please report any regressions.
2014-03-22 00:11:08 -04:00
Emmanuel Lepage Vallee d8e220a7bb Fix bugs with sub menu, embed menu and scrolling 2014-03-21 23:20:50 -04:00
Emmanuel Lepage Vallee dbf1865055 Add a more reliable (but hacky) tag tracking system 2014-03-20 22:50:06 -04:00
Emmanuel Lepage Vallee b17f802318 Minor fixes 2014-03-18 23:52:19 -04:00
Emmanuel Lepage Vallee c10a94c0cb Use 'state::changed' instead of hardcoded calls to refresh (issue #18) 2014-03-16 23:46:23 -04:00
Emmanuel Lepage Vallee 2c9bd9107f Fil multiple minor issues related to fg and underlay colors 2014-03-13 01:14:52 -04:00
Emmanuel Lepage Vallee ad20d9e2be Properly handle menu prefix and suffix widgets
This was previously hardcoded

100 commits!
2014-03-11 20:50:00 -04:00
Emmanuel Lepage Vallee 5255cca803 Change object syntax to user get_ and set_ prefix instead of get_map/set_map mappers (issue #15) 2014-03-05 00:12:48 -05:00
Emmanuel Lepage Vallee 95ed8b26c4 More style/colors oriented refactoring 2014-03-02 16:28:30 -05: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