fernandotcl / pa-applet Goto Github PK
View Code? Open in Web Editor NEWPulseAudio control applet
License: BSD 2-Clause "Simplified" License
PulseAudio control applet
License: BSD 2-Clause "Simplified" License
gido5731@gido-desk ~/pa-applet
% make
make all-recursive
make[1]: Entering directory '/home/gido5731/pa-applet'
Making all in man
make[2]: Entering directory '/home/gido5731/pa-applet/man'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/gido5731/pa-applet/man'
Making all in src
make[2]: Entering directory '/home/gido5731/pa-applet/src'
gcc -DHAVE_CONFIG_H -I. -I.. -std=c99 -D_GNU_SOURCE -Wall -Werror -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/mirclient -I/usr/include/mircore -I/usr/include/mircookie -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -D_REENTRANT -D_REENTRANT -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -g -O2 -MT pa_applet-key_grabber.o -MD -MP -MF .deps/pa_applet-key_grabber.Tpo -c -o pa_applet-key_grabber.o `test -f 'key_grabber.c' || echo './'`key_grabber.c
key_grabber.c: In function ‘key_grabber_grab_keys’:
key_grabber.c:87:9: error: ‘gdk_display_get_screen’ is deprecated [-Werror=deprecated-declarations]
GdkScreen *screen = gdk_display_get_screen(gdkDisplay, i);
^~~~~~~~~
In file included from /usr/include/gtk-3.0/gdk/gdkscreen.h:32:0,
from /usr/include/gtk-3.0/gdk/gdkapplaunchcontext.h:31,
from /usr/include/gtk-3.0/gdk/gdk.h:32,
from /usr/include/gtk-3.0/gdk/gdkx.h:28,
from key_grabber.c:10:
/usr/include/gtk-3.0/gdk/gdkdisplay.h:56:13: note: declared here
GdkScreen * gdk_display_get_screen (GdkDisplay *display,
^~~~~~~~~~~~~~~~~~~~~~
key_grabber.c: In function ‘key_grabber_ungrab_keys’:
key_grabber.c:136:9: error: ‘gdk_display_get_screen’ is deprecated [-Werror=deprecated-declarations]
GdkScreen *screen = gdk_display_get_screen(gdkDisplay, i);
^~~~~~~~~
In file included from /usr/include/gtk-3.0/gdk/gdkscreen.h:32:0,
from /usr/include/gtk-3.0/gdk/gdkapplaunchcontext.h:31,
from /usr/include/gtk-3.0/gdk/gdk.h:32,
from /usr/include/gtk-3.0/gdk/gdkx.h:28,
from key_grabber.c:10:
/usr/include/gtk-3.0/gdk/gdkdisplay.h:56:13: note: declared here
GdkScreen * gdk_display_get_screen (GdkDisplay *display,
^~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
Makefile:433: recipe for target 'pa_applet-key_grabber.o' failed
make[2]: *** [pa_applet-key_grabber.o] Error 1
make[2]: Leaving directory '/home/gido5731/pa-applet/src'
Makefile:367: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/gido5731/pa-applet'
Makefile:308: recipe for target 'all' failed
make: *** [all] Error 2
So I was trying to install, after getting dependencies sorted out.. this happened..
Since pulse audio can go higher than 100%, could we set the maximum value somehow?
Maybe the maximum volume value would be accessible inside a configuration file (e.g. ~/.pa-applet)?
Thanks for your ap :-)
It is simple and it works.
I am using i3wm and dunst.
For autostart in i3wm you should add line
exec --no-startup-id pa-applet
but if you restart(without log-out) with standard bindsym $mod+shift+r aka restart you will get another applet in status bar.
Can u make some check for another running PID applet ?
I have to start it manualy in the terminal, how can i make it start automatically? im using arch linux.
Thanks for this applet. Goes really well together with i3 window manager. I've packaged pa-applet for NixOS and works really well :)
Using my keyboard shortcuts to set volume to minimum, sound icon appreas as "low volume" instead of "mute". I'm not sure if that's really an pa-applet issue, but surely is a UX problem.
Hi, any hint of how to fix this problem? Using Debian 9 Stretch 64bit Thanks!
$ make install
Making install in man
make[1]: Entering directory '/home/matja/Downloads/pa-applet-master/man'
make[2]: Entering directory '/home/matja/Downloads/pa-applet-master/man'
make[2]: Nothing to be done for 'install-exec-am'.
/bin/mkdir -p '/home/matja/Downloads/pa-applet-master/share/man/man1'
/usr/bin/install -c -m 644 pa-applet.1 '/home/matja/Downloads/pa-applet-master/share/man/man1'
make[2]: Leaving directory '/home/matja/Downloads/pa-applet-master/man'
make[1]: Leaving directory '/home/matja/Downloads/pa-applet-master/man'
Making install in src
make[1]: Entering directory '/home/matja/Downloads/pa-applet-master/src'
gcc -DHAVE_CONFIG_H -I. -I.. -std=c99 -D_GNU_SOURCE -Wall -Werror -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -D_REENTRANT -D_REENTRANT -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -g -O2 -MT pa_applet-key_grabber.o -MD -MP -MF .deps/pa_applet-key_grabber.Tpo -c -o pa_applet-key_grabber.o test -f 'key_grabber.c' || echo './'
key_grabber.c
key_grabber.c: In function ‘key_grabber_grab_keys’:
key_grabber.c:87:9: error: ‘gdk_display_get_screen’ is deprecated [-Werror=deprecated-declarations]
GdkScreen *screen = gdk_display_get_screen(gdkDisplay, i);
^~~~~~~~~
In file included from /usr/include/gtk-3.0/gdk/gdkscreen.h:32:0,
from /usr/include/gtk-3.0/gdk/gdkapplaunchcontext.h:31,
from /usr/include/gtk-3.0/gdk/gdk.h:32,
from /usr/include/gtk-3.0/gdk/gdkx.h:28,
from key_grabber.c:10:
/usr/include/gtk-3.0/gdk/gdkdisplay.h:56:13: note: declared here
GdkScreen * gdk_display_get_screen (GdkDisplay *display,
^~~~~~~~~~~~~~~~~~~~~~
key_grabber.c: In function ‘key_grabber_ungrab_keys’:
key_grabber.c:136:9: error: ‘gdk_display_get_screen’ is deprecated [-Werror=deprecated-declarations]
GdkScreen *screen = gdk_display_get_screen(gdkDisplay, i);
^~~~~~~~~
In file included from /usr/include/gtk-3.0/gdk/gdkscreen.h:32:0,
from /usr/include/gtk-3.0/gdk/gdkapplaunchcontext.h:31,
from /usr/include/gtk-3.0/gdk/gdk.h:32,
from /usr/include/gtk-3.0/gdk/gdkx.h:28,
from key_grabber.c:10:
/usr/include/gtk-3.0/gdk/gdkdisplay.h:56:13: note: declared here
GdkScreen * gdk_display_get_screen (GdkDisplay *display,
^~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
Makefile:433: recipe for target 'pa_applet-key_grabber.o' failed
make[1]: *** [pa_applet-key_grabber.o] Error 1
make[1]: Leaving directory '/home/matja/Downloads/pa-applet-master/src'
Makefile:367: recipe for target 'install-recursive' failed
make: *** [install-recursive] Error 1
Hi,
from the README it sounds like a useful project, but to compare to alternatives (e.g. pavolume), a screenshot would be helpful.
Greetings,
Joachim
regularly see in dmesg:
pa-applet[24675]: segfault at 41 ip 00007f401b60a524 sp 00007ffedce71e20 error 6 in libX11.so.6.3.0[7f401b573000+139000]
OS: Manjaro Linux x86_64
Kernel: 4.17.3-1-MANJARO
DE: GNOME 3.28.2
info from coredumctl:
Stack trace of thread 24675:
#0 0x00007f401b60a524 XkbUseExtension (libX11.so.6) #1 0x00007f401b601116 n/a (libX11.so.6) #2 0x00007f401b6019a0 XKeysymToKeycode (libX11.so.6) #3 0x00000000004036ef n/a (pa-applet) #4 0x00000000004032ed main (pa-applet) #5 0x00007f401b1da06b __libc_start_main (libc.so.6) #6 0x0000000000403339 n/a (pa-applet)
Hi,
When I start pa-applet I don't have the icon in my systray. And every time I try to change the volume using volume up and down key, there is this error :
Assertion 'pa_channels_valid(channels)' failed at pulse/volume.c:74, function pa_cvolume_set(). Aborting.
Abandon (core dumped)
When I mute it, using the key, there is this error : pa_context_set_sink_mute_by_index() failed
How can I resolve this ? I'm using Manjaro with i3wm and polybar.
Everytime pa-applet is started, journalctl displays "[pulseaudio] pid.c: Daemon already running."
Add an option so the applet doesn't try to start pulseaudio if it's already running.
On my system <10% volume is completely mute, 10-12% is steep change and anything more than that slowly becomes less substantial change. Option like --step would be useful to specify amount of change (XF86AudioRaiseVolume keybind in xfce settings are overridden by this panel).
After you start dragging volume if you hold still for 1 second or more it becomes wider (shown in right pic but I moved mouse accidentally a bit in this screenshot) and cursor moves to top of the circle while volume "snaps" down 1-5% or so and dragging doesn't work properly after that. If you move immediately dragging works normally. It would be useful to show percentage next to slider as it's tedious to get some exact sound level without trying tons of times.
Hey there.
I recently noticed that pa-applet uses the normal audio-volume-* icons, which is generally fine.
However, for monochrome icon themes (or icon themes that use monochrome icons for the tray) it would be great if you could first check for the audio-volume-*-panel icons and use the normal ones as fallback.
Cheers!
Hello, there, I found this error both on the AUR build, as well after having compiled from source, the applet runs in polybar, but doesn't have the ability to change the volume.
Failed to grab XF86AudioRaiseVolume
Failed to grab XF86AudioLowerVolume
Failed to grab XF86AudioMute
I am running pulseaudio 16.1, and the applet is running on polybar 3.6.3. I have already set all 3 required volumebindings with Xbindkeys, and my Function volume keybindings work, although I had to set them explicitly, and didn't work from the start.
This fails to build on GTK 3.13 due to the usage of a deprecated function.
test -f 'popup_menu.c' || echo './'
popup_menu.c
popup_menu.c: In function ‘show_popup_menu’:
popup_menu.c:98:5: error: ‘gtk_status_icon_position_menu’ is deprecated (declared at /usr/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:160) [-Werror=deprecated-declarations]
gtk_menu_popup(GTK_MENU(menu), NULL, NULL, gtk_status_icon_position_menu,
^
cc1: all warnings being treated as errors
Makefile:465: recipe for target 'pa_applet-popup_menu.o' failed
make[2]: *** [pa_applet-popup_menu.o] Error 1
make[2]: Leaving directory '/tmp/yaourt-tmp-thomas/aur-pa-applet-git/src/pa-applet-git/src'
Makefile:357: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/tmp/yaourt-tmp-thomas/aur-pa-applet-git/src/pa-applet-git'
Makefile:297: recipe for target 'all' failed
Also, it seems like GTK is going to drop support for sys tray icons. Atleast I read that somewhere I thnik.
Since update to pulseaudio 12.0, when pressing vol+ or vol- I get
Assertion 'pa_channels_valid(channels)' failed at pulse/volume.c:74, function pa_cvolume_set(). Aborting.
Aborted (core dumped)
When trying to mute volume I get
pa_context_set_sink_mute_by_index() failed
Hello,
I use pa-applet in i3 in my i3config as follows:
exec --no-startup-id /usr/local/bin/pa-applet
This appears on my second monitor (i3 workspace 2) rather than my primary (workspace 1). Is this configurable?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.