jack-mixer / jack_mixer

A multi-channel audio mixer desktop application for the JACK Audio Connection Kit.
https://rdio.space/jackmixer/
GNU General Public License v2.0
93 stars 20 forks source link

Tray icon? #17

Open mxmilkiib opened 4 years ago

mxmilkiib commented 4 years ago

To allow the app to be minimized so it can get out of the way when not needed.

Maybe even a scroll-wheel over the icon could be linked with one of the channels.

dsheeler commented 4 years ago

I'll look into this, BUT, a version of this was removed from jack_mixer recently because of its deprecated status. I recently added the ability to have nsm hide/show the gui. Is that good enough for this issue, maybe?

mxmilkiib commented 4 years ago

I use a tiling window manager that doesn't have a native concept of "minimize".

Carla, when it is under NSM, knows not to quit when I use my close-app hotkey, instead hiding it's window. So if jack_mixer can do that, that's part way there.

I usually though wouldn't ever close the Carla window, and a mixer is something of those things I would want to display and hide fairly often. If I were to close it, I'd have to to back through the Ardodejo/etc UI and click to open it again, and that UI is on a different virtual desktop.

For the above, either a tray icon or a show-hide hotkey could bring back the window quickly. If not a tray icon, might such a keyboard dshortcut be possible?

keybreak commented 1 year ago

I'd like to expand on that and have an ability to minimize / close to tray icon, exactly like Cadence! Basically single mouse button click on tray icon to toggle open / close window. For mixer that makes total sense to me :smile:

P.S. I :heart: jack_mixer - what a great program!

dsheeler commented 1 year ago

@SpotlightKid, what would you think about using the XApps library. In particular the

XAppsStatusIcon to do this?

SpotlightKid commented 1 year ago

What would be the benefit over using pure GTK3/pygobject? is there any other documentation than the C API reference? Any Python app examples?

@keybreak BTW, when you run jack_mixer in an NSM session, e.g. from Agordejo or RaySession, you can hide/show its window from the session manager GUI.

Personal note: development of jack_mixer at the moment is rather low on my priority list due to other commitments. I'm not sure if and when this will change. Sorry for any inconvenience.

keybreak commented 1 year ago

Thank you very much for mentioning it, although it's not the same - i have opened RaySession to myself, that's very cool development, looking much better than Agordejo which i've used! :partying_face:

dsheeler commented 1 year ago

@mxmilkiib, I started playing around with libappindicator and came up with something where you can show / hide the gui (through a menu item, atm but might be able to toggle with one middle-click), and you can use the scroll-wheel to change the volume of one channel at a time with the ability to pick the channel from a menu. Is this perhaps not everything you dreamed of?

https://user-images.githubusercontent.com/1632985/205508904-a769192f-558a-4e43-be7b-927ebe8f7a64.mp4

.

dsheeler commented 1 year ago

@SpotlightKid, I am now more interested in libappindicator as demoed above. Here's a discussion that informed my thinking

SpotlightKid commented 1 year ago

Look sensible, yes. A bit annoying that you have to use a middle-mouse click, but better than nothing.

mxmilkiib commented 1 year ago

@dsheeler that looks well nice

dsheeler commented 1 year ago

Personal note: development of jack_mixer at the moment is rather low on my priority list due to other commitments. I'm not sure if and when this will change. Sorry for any inconvenience.

@SpotlightKid, I continue to learn how much you improved the code base and the whole project since you got involved. Really great to have you involved in any capacity!