ultrabug / py3status

py3status is an extensible i3status wrapper written in python

Home Page:https://ultrabug.github.io/py3status/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

volume_status doesn't show directly at start when use pipewire

porudev opened this issue · comments

commented

Describe the bug
volume_status module doesn't automatically run upon start while i use pipewire, the module only work if i reload either i3 or i3bar it self

Your py3status version
py3status version 3.45 (python 3.10.5) on i3

To Reproduce
Steps to reproduce the behavior along with your py3status configuration (filter out any private values):

  1. Add module volume_status
  2. Configure module like this
volume_status {
        cache_timeout = 1
        format = " ICON {percentage}% "
        format_muted = "  "
        thresholds = [(0, 'bad'), (10, 'degraded'), (20, 'good')]
        on_click 3 = "exec ~/rofi-nord/volume.sh"
        on_click 2 = "exec pavucontrol"
}
  1. Run py3status status_command py3status -c ~/.config/i3status/i3status.conf
  2. See error

Expected behavior
Automatically show volume_status on login/startup

Screenshots
None, can't be described via screenshots

Additional context
None

Your pulseaudio might be running too late at startup so you get None value and the format disappears... or amixer was chosen. Idk.

Troubleshoot a bit more with:

format = "{command} {percentage}%"
commented

command

the command return pactl anything i can do with that?

Nothing. Just making sure the startup went with pulseaudio instead of alsa.

I realize we probably could add second debug placeholder (pulseaudio or pipewire) in the future.

I would look at logging pipewire and/or volume_status next to see why it's not working at startup. I'm not on i3 so I can't check anything on my side right now.

I just think it's because pipewire wasn't ready, but the next cache timeout should fix that. Odd tho.

commented

the cache timeout can't save it :(, i made a script to manually reload i3bar everytime i start up

@porudev I'm adding a start_delay configuration to the module that should help you address your problem.