Bug 2329754

Summary: PulseVolume widget missing dependencies
Product: [Fedora] Fedora Reporter: Danny Colin <contact>
Component: qtileAssignee: Jakub Kadlčík <jkadlcik>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 41CC: alex, jdulaney, jkadlcik
Target Milestone: ---Keywords: RFE
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: qtile-0.29.0-3.fc41 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-12-28 02:58:07 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2329907    
Bug Blocks:    

Description Danny Colin 2024-12-01 17:48:42 UTC
pulsectl is already available in Fedora with `python3-pulsectl`. However, there's no package available for pulsectl-asyncio.

Core widgets should work out-of-the-box by installing the right set of dependencies.

Reproducible: Always

Steps to Reproduce:
1. Install qtile (Wayland or Xorg
2. Add PulseVolume widget to your config file
3. Reload qtile
Actual Results:  
Qtile fails to load PulseVolume widget because python's pulsectl and pulsectl-asyncio are missing. 



Expected Results:  
Qtile loads PulseVolume widget

Comment 1 Jakub Kadlčík 2024-12-02 09:46:51 UTC
Hello Danny,
thank you for the report.

> Core widgets should work out-of-the-box by installing the right set of dependencies.

They should, I agree with you. Or if some widgets don't work, we should probably let users know in a better way than crashing due to missing dependencies. But I didn't figure out how.


> pulsectl is already available in Fedora with `python3-pulsectl`. However, there's no package available for pulsectl-asyncio.

I added a dependency for the python3-pulsectl
https://src.fedoraproject.org/rpms/qtile/c/a480ff9397953a246d9ed8100e8755ac45644f39
and I found out that someone is packaging `python3-pulsectl-asyncio` in Copr, so I asked him if he would be interested in moving the package to the official Fedora repositories. In such a case, I'd do a package review, and add a dependency for Qtile. But I don't have the capacity to maintain the package myself.


By the way Denny, I myself use the Volume widget
https://docs.qtile.org/en/latest/manual/ref/widgets.html#volume
in my config, so may use that as a temporary workaround until PulseVolume gets fixed.

Comment 2 Danny Colin 2024-12-02 17:49:02 UTC
> Or if some widgets don't work, we should probably let users know in a better way than crashing due to missing dependencies

That would be a totally acceptable solution if you don't have the bandwidth to package more things. I also don't know how we could do it directly in Fedora but we could document it upstream in the meantime at https://docs.qtile.org/en/stable/manual/install/fedora.html. I'll send a PR for the PulseVolume widget before end of week.

> By the way Denny, I myself use the Volume widget https://docs.qtile.org/en/latest/manual/ref/widgets.html#volume in my config, so may use that as a temporary workaround until PulseVolume gets fixed.

Thanks for the suggestion. I want with a different approach and installed the missing packages with `pip`. However, I also had to add the following in my config because Qtile in Fedora is missing a path to lookup the current user pip packages.

```
import sys
sys.path.append(".local/lib/python3.13/site-packages")
```

Comment 3 Jakub Kadlčík 2024-12-02 18:36:54 UTC
> I'll send a PR for the PulseVolume widget before end of week.

You probably don't have to. We got the missing package reviewed and into Fedora
https://src.fedoraproject.org/rpms/python-pulsectl-asyncio

We should have it available soon, and then I will fix this Qtile bug.

Comment 4 Fedora Update System 2024-12-19 20:41:33 UTC
FEDORA-2024-9241f312e4 (qtile-0.29.0-3.fc41) has been submitted as an update to Fedora 41.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-9241f312e4

Comment 5 Fedora Update System 2024-12-20 04:37:17 UTC
FEDORA-2024-9241f312e4 has been pushed to the Fedora 41 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-9241f312e4`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-9241f312e4

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 6 Fedora Update System 2024-12-28 02:58:07 UTC
FEDORA-2024-9241f312e4 (qtile-0.29.0-3.fc41) has been pushed to the Fedora 41 stable repository.
If problem still persists, please make note of it in this bug report.