Elv13 / awesome-configs

My AwesomeWM configuration
126 stars 19 forks source link

Sound widget using pulseaudio if present #13

Closed AxelTB closed 9 years ago

AxelTB commented 9 years ago

This new version uses pulseaudio instead of alsamixer if startup check reveals it's running.

Replaces #12 because was too messy

Elv13 commented 9 years ago

I will switch to your drawer module soon. You made great progress fixing it. If you want some help about wirefu, I am on IRC

AxelTB commented 9 years ago

Some help on wirefu may be useful since I can't understand anything of it...

I wasn't able to run any demo. Have you got any working examples?

Elv13 commented 9 years ago

I pushed a new commit I had in the stash since a while. This should make it easier to debug.

Here is how to use it:

First, as I suggest not to use it directly in Awesome to avoid the crash, create a symlink to /usr/lib64/lua/5.1/wirefu or whatever the lua module folder is in your system

Then you can open mpris like this using lua or luajit: luajit demo/mpris.lua

If VLC and amarok are running, it should print a bunch of stuff and pause amarok. You can replace amarok by any other player, you can install the "d-feet" (Gnome) or qdbusviewer (Qt) tool to browse services.

The notification demo work only when no window manager are running as it will try to claim service already reserved. If the mpris demo still doesn't work, then make sure you have LGI 0.8+ (you really should anyway, it is much faster, idem for luajit). If it still fail after that, then please copy paste the log in a new wirefu issue. It work for me. It pause amarok and print the currently paused song then try to access a non-existant VLC method and give the right error (argument count mismatch).

AxelTB commented 9 years ago

Funziona perfettamente come da te descritto. Grazie mille questo mi aiuta immensamente a guardarci dentro!

Elv13 commented 9 years ago

(google translated, I am french, not Italian :P ) Ok. Let me know if you need more details. DBus support would enable the greatest features in my config to date. I really, really want to implement AppMenu (menu over dbus) to be able to integrate menubar into titlebars ( http://lh3.googleusercontent.com/_1QSDkzYY2vc/TV1ykj9zUgI/AAAAAAAADA4/wb3dfkvSVOg/s2000/gedit_menu.png ) and be able to implement HUD in Awesome. Then there is all kind of new freedesktop RFC for actions over DBus, like http://kver.wordpress.com/2014/11/03/dwd-an-faq-for-questions-around-the-web/ and many more

AxelTB commented 9 years ago

Sorry, I mess up with languages like a lot (Mon francais est même pire) :-P It just meant: Works perfectly ad described. Thank you a lot.

I think I'll start tinkering a little on the mpris module then I'll look into the menu-over-dbus that seem a little more complex.

Good news is that I'm not having segfaults (I use lua5.2)

Elv13 commented 9 years ago

The problem is that it wont work. As shown in https://github.com/pavouk/lgi/issues/88 , there is a memory issue somewhere and Awesome will eventually crash, killing all your applications and returning to the login screen. This issue have to be fixed for Wirefu to work at all. Otherwise it will silently crash Awesome at some point. I can take care of the dbus menu stuff, I once participated in the RFC, so I have a pretty good idea how it work. The mpris case it very simple and the naughty replacement already work (but crash Awesome after 2 minutes). So the limiting factor here is the memory corruption issue.

I will take a look at 5.2, but as the segfault happen with both 5.1 and luajit2, I have slim hopes it is a lua issue, maybe you've been lucky. Try compiling Awesome without dbus (remove the content of dbus.c, dbus.h and naughty) and try to include the notification demo (you need to remove the glib mainloop lines from the bottom of the file). Awesome should crash within seconds.