and3rson / clay

Awesome standalone command line player for Google Play Music.
GNU General Public License v3.0
157 stars 11 forks source link

Clay requires X and GTK despite being a console application #11

Closed ValentijnvdBeek closed 6 years ago

ValentijnvdBeek commented 6 years ago

As discussed in issue #7 Clay relies on the Keybinder module to define global X keybinds using a shim GTK program. This means that you need to install both to be able to run Clay without getting any warning messages. Which is a bit silly seeing that Clay is a console program without any graphical elements and it would be entirely reasonable to run it headless (ex. on a raspberry pi connected to a speaker).

The Keybinder should probably become an optional dependency depending on whether X is running or not.

and3rson commented 6 years ago

That's right, and it has been bothering me. I fact GTK is used just to use the global hotkeys (Keybinder wants GTK event loop to function properly).

I think I'm simply going to prevent "Global hotkeys will not work" notification and display it in "Debug" tab instead. Also, Clay does not strongly rely on Keybinder (i. e. it's not listen in requirements.)

ValentijnvdBeek commented 6 years ago

Pull request #12 should hopefully be along the lines of what you want.