Open Elv13 opened 8 years ago
Thanks, I really waiting this commit.
My Awesome wm configuration highly depends on the Radical menus, and I want to update everything to the 3.6 branch. As you have already guessed I have started writing my own Implementation (which already have basic functions to draw wibox/add widgets) but I do not want to leave Radical because everything I need it already have.
@Elv13 What do you think about moving radical/impl/* and some parts from radical/widgets/* to another repository, leaving in Radical only what is responsible for creating menus/dialogs ?
radical/widgets/
I already done much of them. There is still some remaining (not for long)radical/impl/*
I am not sure, nobody will use this module if there isn't "value added". But maybe, I will seeI am currently not working on Awesome, I have some other projects with higher priorities. I don't know how long it will be until I get "awesome time" again.
Ok, it isn't pretty (yet), but I fixed Radical to work on master. It is still too dirty to commit into a new branch and it wont support both 3.5.6 and master in the same branch (impossible)
Basically, all
item.style
s are lost and it is still crashy. The trick was mostly to replace allfit
method with the new syntax. Thedraw
ones are mostly broken, but compatible "enough" not to crash. Also, the high-DPI support (retina Mac Book Pro) is not yet implemented.That being said, a lot of the hacks used by Radical can be "merged" into the new API so once implemented, this will simplify the code (no more
wibox.widget.fit
andradical.item.fit
duplication).So, as @mindeunix pointed out, the complexity of the code base is out of control. I guess e is right and I will have to go back to the drawing table to simplify the abstractions so they can seamlessly use Awesome layout system instead of the duplicate system (actually, it is more a proxy between Awesome and Radical).
So, for the Awesome 3.6 version of Radical, I think it could look like:
beautiful.default_height
(yes, Radical does support High-DPI using this hack, I own 2 High-DPI devices and it work)item_fit
and use the new contextual mode for fit to store the context that was kept byitem_fit
(work in progress)Use "real"wibox.layout
, so allradical.layout
andradical.item.layout
need to be converted to fully compliantwibox.layout
without extra internal hacks inside Radical to handle themRemovesetup_drawable
and the other ones to use properwibox.widget
constructorFigure out how to re-enable complexradical.item.style