All Projects → buzz → volctl

buzz / volctl

Licence: GPL-2.0 license
Per-application volume control and OSD for Linux desktops.

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to volctl

PixelPixie
PixelPixie is a simple OSD and LCD fonts generator.
Stars: ✭ 18 (-81.05%)
Mutual labels:  osd
H.NotifyIcon.WPF
NotifyIcon for .Net Core 3.1 and .Net 5 WPF.
Stars: ✭ 44 (-53.68%)
Mutual labels:  tray-icon
PhotoMP
The AppImage version of GIMP for those who come from Photoshop.
Stars: ✭ 68 (-28.42%)
Mutual labels:  linux-desktop
MEMCM-OSD-Scripts
OSD Scripts
Stars: ✭ 34 (-64.21%)
Mutual labels:  osd
bing-wallpaper
Automatically change your desktop background to Bing's image of the day, every day.
Stars: ✭ 63 (-33.68%)
Mutual labels:  tray-icon
calendar-notification
calendar notification for linux desktops using dunst
Stars: ✭ 69 (-27.37%)
Mutual labels:  linux-desktop
MultiOSD
MinimOSD firmware for OpenPilot/LibrePilot CC/CC3D/Atom/Revolution/Revo Nano, MAVLink (APM/Pixhawk PX4/Paparazzi/generic MAVLink), GPS u-blox, TauLabs, dRonin
Stars: ✭ 42 (-55.79%)
Mutual labels:  osd
awesome-gnu-linux-gaming
A curated list of awesome GNU/Linux tips & tricks, games, tools, and resources - Mirrored from: https://gitlab.com/linuxcafefederation/awesome-gnu-linux-gaming.git
Stars: ✭ 135 (+42.11%)
Mutual labels:  linux-desktop
unicodemoticon
Trayicon with Unicode Emoticons using Python3 Qt5
Stars: ✭ 21 (-77.89%)
Mutual labels:  tray-icon
dicom2stl
Python script to extract a STL surface from a DICOM image series.
Stars: ✭ 151 (+58.95%)
Mutual labels:  volume
tray-item-rs
Multi-platform Tray Indicator
Stars: ✭ 145 (+52.63%)
Mutual labels:  tray-icon
tbtray
A thunderbird tray icon and notification popup addon for linux
Stars: ✭ 42 (-55.79%)
Mutual labels:  tray-icon
ZHStatusVolume
[iOS] hide system volume hud, display upon status bar
Stars: ✭ 49 (-48.42%)
Mutual labels:  volume
wifibroadcast osd
Mavlink OSD and video player
Stars: ✭ 21 (-77.89%)
Mutual labels:  osd
paragon apfs sdk ce
Paragon APFS SDK Free
Stars: ✭ 97 (+2.11%)
Mutual labels:  volume
OSDCloud
OSDCloud is a process to fully deploy a Windows OS from a WinPE Environment
Stars: ✭ 35 (-63.16%)
Mutual labels:  osd
win-audio
Get, Set and Watch Speaker/Microphone Volume on Windows
Stars: ✭ 46 (-51.58%)
Mutual labels:  volume
gendesk
🌿 Generate .desktop files and download .png icons by specifying a minimum of information
Stars: ✭ 101 (+6.32%)
Mutual labels:  linux-desktop
Boston-Icons
Boston is an exclusive icon theme inspired by functionalist design and a touch of early computer icons. The project is focused on elemental properties, basic shapes, a reduced color palette and visual hierarchy.
Stars: ✭ 106 (+11.58%)
Mutual labels:  linux-desktop
mpv-scripts
A collection of scripts for mpv player
Stars: ✭ 138 (+45.26%)
Mutual labels:  osd

volctl

Per-application volume control and OSD for Linux desktops.

Screenshot

I couldn't find a simple tray icon that allows to control multiple applications easily from the task bar. So I wrote my own.

Bug reports and patches welcome!

It's not meant to be an replacement for a full-featured mixer application. If you're looking for that check out the excellent pavucontrol.

Features

  • Runs on virtually every desktop environment (Needs to support the freedesktop system tray specs)
  • Control main volumes as well as individual applications
  • Mute individual applications
  • Shows application icons and names
  • Per-application VU meter
  • Double-click opens pavucontrol (or custom mixer application)
  • Mouse-wheel support
  • On-screen volume display (OSD)

Installation

Manual installation

  1. Clone this repository somewhere and cd into it.
  2. To install: sudo ./setup.py install Note: You might need to copy data/apps.volctl.gschema.xml to /usr/share/glib-2.0/schemas/ manually.
  3. For the application icon to show up in the menu: sudo update-desktop-database
  4. Compile GSettings schemas: sudo glib-compile-schemas /usr/share/glib-2.0/schemas/ or sudo glib-compile-schemas /usr/local/share/glib-2.0/schemas/

Arch Linux

Available in AUR: volctl

Status/tray icon implementation

volctl strives to achieve a high level of support across different Desktop Environments. Unfortunately, on the Linux Desktop several tray icon implemenations with various levels of support and capabilities co-exist.

volctl supports

  • SNI
    Supported on modern Desktop Environments, like Gnome, KDE, works also on Wayland
  • XEmbed (through Gtk.StatusIcon)
    Not supported on Gnome, KDE (only through extensions/plugins). No Wayland support.

Your Desktop Environment might support both, one or none of these standards. Personally I use XEmbed as it allows for all important user interactions (mouse wheel, double-click, etc.) on my current system. The default is to prefer SNI which can be changed under the Preferences ➝ Prefer XEmbed.

Please try for yourself which type of tray icon works best for you.

Note: If you need support for SNI you have to compile and install statusnotifier. Use the configure flags --enable-introspection and --enable-dbusmenu. If you're on Arch Linux you can use the AUR package statusnotifier-introspection-dbus-menu.

No Wayland support (#39)

Through SNI volctl now supports tray icons under Wayland. Unfortunately it's not possible to display the volume slider window on Wayland at the mouse pointer position. The Wayland protocol does not allow this unless non-standard Wayland extensions are used. The only entity that is capable of doing so is the Wayland compositor (generally your Desktop Environment).

Development

Deploy dev version in Virtualenv

You can start volctl from the source tree.

$ python -m venv --system-site-packages venv
$ source venv/bin/activate
$ ./setup.py develop
$ venv/bin/volctl

Linting

Use pylint and flake8 for linting the sources.

$ make lint

Use black to auto-format the code.

$ make black

License

GNU General Public License v2.0

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].