Elv13 / awesome-configs

My AwesomeWM configuration
126 stars 19 forks source link

Dock right button menu Launch #33

Closed AxelTB closed 7 years ago

AxelTB commented 7 years ago

Hi again, this time I implemented and/or fixed some feature in the dock right click menu:

Next one will be trying again with wirefu and the battery widget

Elv13 commented 7 years ago

Thank you for taking care of those mostly neglected corners while I am busy (apparently perpetually) merging parts into Awesome. A concentrated effort from me, actionless, copycat-killer and psychon are merging more parts of the shape API (client and wiboxes). Hopefully I will be able to purge some more code from Radical and Blind soon.

AxelTB commented 7 years ago

You're welcome! The config mostly needs some minor fixes and I'm happy to code them. The work on awesome seem to be a little more complex than this :smile:

Elv13 commented 7 years ago

The work on awesome seem to be a little more complex than this 😄

Yes, but at least it has full unit testing, full documentation and I wasn't drunk when I wrote it ;). Some parts of my config are really crude prototype quality :P. Btw, you should hang out on IRC more often. You are one of the most experienced Awesome out there. Your opinion in some design discussion would be more than welcome.

AxelTB commented 7 years ago

Thank you, you are too kind. As soon as I have some more free time I'll gladly join you.

In the meantime I'll get accustomed with the new version while trying to work on the battery widget and maybe fix the mess I've made in the drawer.

Elv13 commented 7 years ago

maybe fix the mess I've made in the drawer.

About that, I think they should be moved to their own process. I don't think anyone has ever used wibox in GTK client, but it should work. The drawers leak a lot of memory and use a lot of power. If they are enabled, they start to slow down Awesome after a few weeks of uptime. Also, if they were in their own process, we could send them some SIGSTOP and SIGCONT to prevent them to waste system resource when they are not visible. It may be easier than "really" fixing them. As you can see, I made a find-and-replace port to Awesome 4.0 based on some earlier version of your module, but it is ugly and half broken. I refactored the code to avoid them from initializing anything before they are first shown. That way they were easier to turn off without "breaking" them.

Wibox itself doesn't depend on Awesome much. The (Awesome unit-)tests use it without Awesome (binary) and it works just fine. In theory, it would work in an GTK window with a cairo surface in it. Button events are also easy to forward. You can't access the clients directly, but this can be done with wirefu through dbus, so it isn't a problem.