Commit Graph

244 Commits

Author SHA1 Message Date
Emmanuel Lepage Vallee 50161deca4 base: Fix broken move logic
Sometime I wonder WTF I was on when I wrote some parts or Radical...

I guess I can call it university stress...

Note that this will probably cause a bunch of regressions because
some other code expected the garbage I was creating.
2016-08-22 01:39:34 -04:00
Emmanuel Lepage Vallee 032d7b3b4a style.arrow: Add custom radius support 2016-08-09 16:37:52 -04:00
Emmanuel Lepage Vallee c93a819e06 smart_wibox: Do not call set_position when the area reamin the same.
This is a band-aid on top of deeper issues when layout_changed is
wrongly called. This should prevent menus moving in random places
when the mouse is moved. Note that this commit wont stop them from
moving when their size really change.

This is harder to fix as all the "outside of the workarea" checks
still need to be performed and in many cases, such as async loaded
menus, the move itself is really necessary while in others it is
unwanted.
2016-08-09 16:20:35 -04:00
Emmanuel Lepage Vallee d3d09989fd widgets: Add a slider widgets
Requires a recent Awesome version.
2016-07-28 03:02:08 -04:00
Emmanuel Lepage Vallee 08d9ac6a16 infoshape: Misc fixes 2016-07-28 03:00:54 -04:00
Emmanuel Lepage Vallee 6349721e5e common: Re-use icon_per_state 2016-07-28 03:00:39 -04:00
Emmanuel Lepage Vallee 24af12e723 dock: Do not use ontop for persistent docks 2016-07-23 18:21:32 -04:00
Emmanuel Lepage Vallee b0ad3e996b grid: Fix some bugs 2016-07-23 18:20:45 -04:00
Emmanuel Lepage Vallee 9663b35e5d dock: Use floor instead of ceil for the optimal size
In case of a "0" margin, this caused the dock to be taller than
the workarea.
2016-07-06 22:23:11 -04:00
Emmanuel Lepage Vallee c14d7eead8 dock: Track workarea changes 2016-07-06 22:22:41 -04:00
Emmanuel Lepage Vallee 9a7275a399 item.layout: Use the checkbox widget 2016-07-04 04:22:31 -04:00
Emmanuel Lepage Vallee f15738e49a widget: Rewrite the checkbox as a 'real' widget
It was previously an image used by imagebox. This doesn't
support multi DPI and was an artefact of Awesome 3.4.
2016-07-04 04:14:52 -04:00
Emmanuel Lepage Vallee d53dc2e5d3 grid: Use the 'real' grid layout 2016-07-04 02:50:15 -04:00
Emmanuel Lepage Vallee 62699d8ff3 widgets: Add a grid layout [WIP]
In a quest to get rid of all fit/draw monkeypatching, this
commit add a proper grid layout. It is currently as good
as the old layout/grid.lua hack, but not "correct" used outside
of Radical menus (swap/insert/remove are also broken) and it
fail to handle many corner case.
2016-07-04 02:43:58 -04:00
Emmanuel Lepage Vallee 46b04b4fd9 layoutmenu: Fix a porting error 2016-06-30 10:40:15 -04:00
Emmanuel Lepage Vallee ef6f14c619 sub-menu: Fix horizontal item arrow 2016-06-29 17:00:41 -04:00
Emmanuel Lepage Vallee c5cf4e0eb3 base: Remove setup_drawable callback
As this was the last step in the base constructor, it could be
done in each menu type without the callback and extra code.

The only reason this existed was to allow menu "sub classes"
that override this function. However, since this was rewritten,
it was no longer used, so for the sake of simplicity, I remove
this feature.
2016-06-29 16:01:15 -04:00
Emmanuel Lepage Vallee 0e1d8cae4e scroll: Fix scroll-up 2016-06-28 17:58:25 -04:00
Emmanuel Lepage Vallee facf681a04 piechart: Drop cache mechanism and update indentation 2016-06-28 17:45:36 -04:00
Emmanuel Lepage Vallee 38f589903b piechart: Fix cache and update API 2016-06-28 17:25:56 -04:00
Emmanuel Lepage Vallee b872fef155 fkey: Rewrite (with some more sanity) 2016-06-27 02:13:08 -04:00
Emmanuel Lepage Vallee 078307aef1 widgets: Add text widget
Automatic text scaling to fill an area
2016-06-27 02:11:41 -04:00
Emmanuel Lepage Vallee c0c2d68d3b 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-06-25 02:17:10 -04:00
Emmanuel Lepage Vallee b57b001f99 quality: Fix more luacheck warnings
And remove unmaintained and broken files
2016-06-24 16:53:54 -04:00
Emmanuel Lepage Vallee cbfe266b4a quality: Begin to fix luacheck warnings 2016-06-24 02:02:40 -04:00
Emmanuel Lepage Vallee eb47be500b 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-06-24 00:49:49 -04:00
Emmanuel Lepage Vallee 47a81bdd54 base: Fix scroll, filter and embedded menus 2016-06-24 00:44:43 -04:00
Emmanuel Lepage Vallee be38bbdc6f base: Fix item filtering 2016-06-23 00:03:30 -04:00
Emmanuel Lepage Vallee b042c62931 alttab: Fix the top row 2016-06-23 00:02:50 -04:00
Emmanuel Lepage Vallee 1c55d4a0c6 Fix the fkey widget 2016-06-23 00:02:30 -04:00
Emmanuel Lepage Vallee c63af1c3df impl: Adapt to new upstream API changes
* The screen API was broken
 * Many awful.tag, client and screen methods were deprecated
2016-04-13 01:24:18 -04:00
Emmanuel Lepage Vallee 766f225a7f placement: Add more methods 2016-03-16 03:34:56 -04:00
Emmanuel Lepage Vallee ec14353e16 placement: Fix more regressions from the re-write 2016-03-15 03:55:20 -04:00
Emmanuel Lepage Vallee bcd6c7c2cd 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-03-14 17:52:28 -04:00
Emmanuel Lepage Vallee c1285321a1 infoshapes: Fix borders 2016-03-06 03:31:07 -05:00
Emmanuel Lepage Vallee 7cf8935ca8 bar: Support border color
Apparently this never worked as documented
2016-03-06 03:30:30 -05:00
Emmanuel Lepage Vallee 83847a36a0 dock: Fix a race condition
The size wasn't always right
2016-03-05 04:52:35 -05:00
Emmanuel Lepage Vallee 79bd539830 cleanup: Remove duplicated logic 2016-03-05 03:23:59 -05:00
Emmanuel Lepage Vallee 93fdf17096 filter: Rewrite the filter widget 2016-03-05 02:54:17 -05:00
Emmanuel Lepage Vallee 3bca97464a cleanup: Mutualize some code and fix embed menus 2016-03-05 02:14:24 -05:00
Emmanuel Lepage Vallee 8a249192b5 item.layout.centerred: Fix regressions 2016-03-04 03:21:48 -05:00
Emmanuel Lepage Vallee d6d642551d box: Fit position 2016-03-02 04:19:44 -05:00
Emmanuel Lepage Vallee 0ddb074efd context: Fix some regressions 2016-03-02 03:49:18 -05:00
Emmanuel Lepage Vallee 1f5d7f4278 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-02-28 05:00:44 -05:00
Emmanuel Lepage Vallee 18c9071baf 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-02-28 02:04:51 -05:00
Emmanuel Lepage Vallee 0719485f49 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-02-21 02:34:05 -05:00
Emmanuel Lepage Vallee 788708ea45 Add new helper modules.
This commit begin to merge the Radical "view" rewrite.

Those module API replace previously hardcoded positioning
logic. Some code may eventually be upstreamed once mature
enough.
2016-02-21 02:31:31 -05:00
Emmanuel Lepage Vallee 1e6d66f8ec Fix compatibility with LGI 0.9
Also add a 1px padding for checkboxes
2016-02-19 03:29:40 -05:00
Emmanuel Lepage Vallee 55fb74c709 refactor: Port radical.layout.horizontal to the declarative syntax
These commits dont make the code any smaller or more readable by
themselves. However, they are one step along many to refactor the
code to become more readable and simpler.

Eventual addition will extend the declarative syntax and merge it
with Radical own syntax (this will break the API a little due to
naming conflitcs).

I will also split the theme details from the declarative syntax and
use a separate "chain of responsability" meta-object to handle it.
2016-02-12 00:03:06 -05:00
Emmanuel Lepage Vallee 82afdd4570 refactor: Port radical.item.layout.centerred to the declarative syntax 2016-02-11 23:39:45 -05:00