Comments (3)
Here is a table showing the shift between 2 volumes level, if it can help:
pactl | i3pystatus |
---|---|
0 | 0 |
5 | 4 |
10 | 9 |
... | ... |
95 | 94 |
100 | 99 |
100 | 100 |
To go from 99 to 100% I need to increase the volume once more. Not sure what happens there :S. I use the following command to increase the volume: pactl set-sink-volume $sink +5%
from i3pystatus.
These are very likely rounding errors, since the calculation of the percentage value adheres to pulseaudios own implementation ( volume / PA_VOLUME_NORM yields values in 0..1 for 0..100 %, times 100 = 0..100 %).
By the way, I'd recommend using decibels for displaying and changing volume as it's much more natural and fitting for audio, since increasing volume by 5 % increases perceived volume by differing amounts (from very much at low levels to barely noticeable at high levels), while increasing by a fixed number of decibels leads to nearly the same change in perceived volume, regardless of level.
At 100 % the display is 0 dB, while at 0 % the display is -∞ dB.
A script demonstrating pulseaudio volume control can be found here: https://github.com/enkore/dot-scripts/blob/master/pavol
I use it like this with i3:
bindsym XF86AudioMute exec pavol mute
bindsym XF86AudioRaiseVolume exec pavol plus
bindsym XF86AudioLowerVolume exec pavol minus
from i3pystatus.
Thanks for the suggestion, I switch to db, my OCD is not kicking anymore due to some "none multiple of 5" values hehe.
from i3pystatus.
Related Issues (20)
- battery module can't read /sys/class/power_supply/BAT0/uevent
- Support for pipewire
- handle over width
- fontawesome icons are not rendered correctly in status bar HOT 1
- Feelslike not working
- i3pystatus shows json output in statusbar
- Lots of "invalid option" when running under python3.10 HOT 3
- format_up doesn't recognise {network_graph_recv} in network module. HOT 2
- Weather Underground has deprecated API v2 HOT 2
- module mouse hover events
- scroll the entire line
- Persistent `shell` commands that print a new content as a new line on standard output. HOT 6
- I provide this library with my blender add-on and when I enable my add-on I get this error HOT 5
- Registering a module within a Group: AttributeError: 'Group' object has no attribute 'default_hints' HOT 1
- WUnderground weather module returns 401 Unauthorized
- solaar: upstream change - removal of device ID numbers
- item overflowing gets whole bar colored HOT 2
- Empty color string floods ~/.xsession-errors HOT 3
- Add Python3.12 support HOT 1
- Python 3.12 Removed the imp package which __init__.py includes HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from i3pystatus.