cedlemo / blingbling

Awesome WM widgets
GNU General Public License v2.0
148 stars 37 forks source link

Compatibility with future awesome releases ? #40

Closed Archloy closed 7 years ago

Archloy commented 7 years ago

Hi !

I'm on Archlinux, using awesome v3.5.2-2180-g5aa4a16 (The Fox) and there are some changes that does not works well with blingbling, eg gears.sort does not exists in my case.

Will you continue to port blingbling for futures versions ?

cedlemo commented 7 years ago

Will you continue to port blingbling for futures versions ?

Yes if the changes are not too heavy.

eg gears.sort does not exists in my case.

Could you show me the part of code that does not work ?

Archloy commented 7 years ago

The "gears.sort" problem is in transient.lua line 19 but seems not used in code, so I just remove it for test.

I want to test calendar sample code in readme, but now I search for problem with wibox.layout.base that does not exist on my install (I use aur/awesome-git package, not the official release), but I found it in awesome repository as wibox/layout/base.lua.in... (sorry, I don't use lua every days...) The error : error: /usr/share/awesome/lib/blingbling/grid.lua:4: module 'wibox.layout.base' not found

I'm trying to debug that, I think is my install or me the problem :p

(and thanks for fast reply !)

EDIT : I don't know where I found layout/base.lua.in in official repo but it does not exist anymore

Archloy commented 7 years ago

After inspect the correct branch, this is in your grid.lua that use wibox.layout.base::draw_widget

This function is removed in current master branch of awesome after merge of wibox.widget.base and wibox.layout.base.

I think I will stub that for find any changes between current blingbling and "future" awesome (without executing, of course)

Hope this help, I can test any piece of code if needed =)

cedlemo commented 7 years ago

grid.lua that use wibox.layout.base::draw_widget

Ok, I will have a look on this.

Have you tried other widgets? (graphs for example)

Archloy commented 7 years ago

With brutal stub (remove require and call to base.draw_widget), I can execute my rc.lua with require("blingbling").

The calendar is not as expected (:p), it just draw raw string with current date see screenshot

I will try other widgets and write feedback

cedlemo commented 7 years ago

I removed the reference to the gears.sort function, it was not used. It still remains some pbs. I will try to solve them.

Archloy commented 7 years ago

I just tested exemple_config (with rename path to themes) with Xephyr, and only net_rc will draw something, but mouse on widget create errors :/ I did not try advanced calendar but other confs are broken on my Arch.

I think that after fix the problem with grid.lua, it will generate less errors.

If you want all errors or just for one test config I can past them

cedlemo commented 7 years ago

@Archloy ,

sorry can you test graphs_rc.lua ? You just have to clone blingbling in the directory ~/.config/awesome then do for example :

ln -s ~/.config/awesome/blingbling/config_examples/graphs_rc.lua ~/.config/awesome/rc.lua

Then you can launch directly awesome. You should see something like this (be carefull with your HDD description:

img

I continue to investigate.

Archloy commented 7 years ago

After get master on your repository (and uninstall blingbling from system) I have the same issue : ~/.config/awesome/blingbling/grid.lua:4 module 'wibox.layout.base' not found

And I get a dark-gray empty rectangular "widget" :/

Why carefull with HDD description ?

The traceback : http://sprunge.us/UAIf

cedlemo commented 7 years ago

Why carefull with HDD description ?

Nothing, I did not remember I automatized the mounted devices detection O_o' (I am impressed by what I have done previously) :).

Archloy commented 7 years ago

'kay no problem :p

cedlemo commented 7 years ago

Let start from the begining here is my wersion of awesome WM:

awesome -v
awesome v3.5.9 (Mighty Ravendark)
 • Build: Mar 12 2016 01:11:40 for x86_64 by gcc version 5.3.0 (builduser@rw)
 • Compiled against Lua 5.3.2 (running with Lua 5.3)
 • D-Bus support: ✔

It looks like your version is older than mine ! I thought you had a git version very recent. Could you install the awesome version from community/awesome :

pacman -S awesome
Archloy commented 7 years ago

Oo awesome-git is really out-of-date... I'm sorry ! (Oh nice ! I broken my conf... again...)

But it works ! Nice job ! It's better than conky :p

cedlemo commented 7 years ago

Oo awesome-git is really out-of-date... I'm sorry !

All the git packages from aur are not updated when you do a pacman -Syu you have to reinstall them on a regular basis in general.

But it works ! Nice job ! It's better than conky :p

Thanks.

Feel free to ask here for help whenever you need it.

cedlemo commented 7 years ago

I think it remains issues with the calendar. I continue to work on that.

Archloy commented 7 years ago

I'm sorry, there is a little confusion with version (I think is aur fault) : The official release of awesome (3.5.9) is full compatible with blingbling 2.2.

Me, I use the "in development" version, that change a lot of things (like aweful.screen changes or wibox.layout.base merged with wibox.widget.base).

So the question is already "Will blingbling follow future awesome release ?"

See this one for more information https://github.com/awesomeWM/awesome/issues/967

cedlemo commented 7 years ago

See this one for more information awesomeWM/awesome#967

Ok so :

No there will not be a blingbling version for the next Awesome WM version.

Archloy commented 7 years ago

arf. As you like ! Thanks for help !

Elv13 commented 7 years ago

Sorry for missing this last week. I am the one who wrote most of the new upstream widget. See http://new.awesomewm.org/apidoc/documentation/03-declarative-layout.md.html

There is many others in pull request, but 4.0 is frozen now, so it will be for 4.1. We (well, I) plan to merge as many "basic" widgets as it takes to remove the need for basic widgets extensions. The user base has decreased with all the other tiled WMs flooding the niche over the last few years. The fact that we more of less went into rolling release and neglected the stable branch didn't help. Just not enough users actually make the efforts of installing extensions and the API changed too often for a large enough pack to emerge. I personally have the most extensions and about as many users as blingbling for some of them. It is simply that the market size made extensions like ours mostly (IMO) unsustainable. So I began upstreaming some of my code.

We discusses upstreaming some of yours as well, but we currently have no time. I would like to see the tiled graph and triangle graph into Awesome. Some other widgets, such as the grid layout, has been rewritten as your (or my) implementation could not be ported to the new API. As for the others, such as the calendar, it is out of scope for what's available in wibox.widget.

Do you think you could put the code of the 2 graphs into shape and do a pull request for them? As far as testing goes, take a look (read: copy paste and change the widget/property name) as the wibox.widget.progressbar tests and wibox.widget.graph ones. It is quite simple to test. The test result is also included in the documentation, see:

http://new.awesomewm.org/apidoc/classes/wibox.widget.progressbar.html

Beside that, the code is rather good, indentation needs to be 4 spaces and the Awesome ldoc now has a @property instead the the old getter/setter style. As far as porting goes, the fit and draw signature changed and draw_before_chidren and manu other functions were added to layouts to support partial redraw (reduce CPU, save battery, increase FPS, etc). Also most draw operations are now async to avoid widgets being redrawn multiple time per event loop (total waste of CPU). The new "3.4 like" widget definition syntax is implicit, it doesn't change anything for the API as long as

local ret = base.make_widget(nil, nil, {
        enable_properties = true,
    })

Is used in the constructor

cedlemo commented 7 years ago

Do you think you could put the code of the 2 graphs into shape and do a pull request for them?

Yes, of course. I will work on it.

Archloy commented 7 years ago

I you want me to test something, I'm here =)

Elv13 commented 7 years ago

Yes, of course. I will work on it.

Thanks, this is appreciated and will allow you to move on as the maintenance burden will now be on us ;)

I you want me to test something, I'm here =)

sure. Any other widgets you're missing that isn't the graph or already available upstream?

Archloy commented 7 years ago

sure. Any other widgets you're missing that isn't the graph or already available upstream? Besides the calendar widget (you said that's out of scope, and I'm ok with that) I think it's all.