bbidulock / icewm

A window manager designed for speed, usability, and consistency
Other
589 stars 100 forks source link

volumeicon tray applet disappears after login #712

Closed mowestusa closed 1 year ago

mowestusa commented 1 year ago

I'm running icewm 3.3.1 and volumeicon 0.5.1 on Fedora 37.

When logging in from a cold boot or reboot, the volumeicon applet will appear in the tray briefly (muted) then disappear. If I logout and log back into icewm the volumeicon will appear in the tray and remain. I'm not sure what is happening differently from the "cold boot" or reboot when compared to logging out and logging back into icewm.

Below is my startup script for icewm:

#!/bin/bash

# Swap ESC with CAPS LOCK
setxkbmap -option "caps:swapescape"

# Start Syncthing
syncthing serve --no-browser --logfile=default &

# Start Network Manager Applet
    sleep 1 &&
    nm-applet &

# Start Guake Terminal
    sleep 3 &&
    guake &

# Start Volume Tray App
    sleep 20 &&
    volumeicon

I have tried many different variations, like having an & after volumeicon. I have changed the sleep time setting between 1, 3, 10, 20 but nothing seems to make a difference. I have placed volumeicon before Network Manager applet and guake, but there is still no difference in behavior.

Both nm-applet and guake icons appear in the tray and remain in the tray from the cold boot, reboot, or when logging out and logging back in again.

I can start volumeicon & from the terminal after it disappears and it will appear and remain in the tray.

Any suggestions as to what I might be missing?

gijsbers commented 1 year ago

I run volumeicon myself and haven't seen such behavior ever. One idea is that a cold system may not have the sound system activated yet? Maybe first play a short audio file on startup to warm it up? If that succeeeds (exit code 0) then start volumeicon. I would report this as a bug with the volumeicon developers.

If volumeicon exits on startup, it should print a reason why it refuses to continue. This should also be reported to the volumeicon developers. If it finds the sound system dysfunctional, it should inform the user with appropriate detail.

I notice that if I select Quit from the volumeicon menu, that it hangs forever in a dysfunctional and nonresponsive state. This is another volumeicon bug which needs to be reported.

It doesn't seem to have a verbose logging mode. That would be a useful feature to have.

Icewm only positions the volumeicon icon window in the system tray. That is a small thing to do and shouldn't affect the volumeicon functioning. The icewm system tray has been thoroughly tested for standards conformance. One can set the "Trace=systray" preference for detailed tracing messages.

I wouldn't worry about the number of delay seconds you give volumeicon. If that is of any importance, then again report that as a bug to the volumeicon developers.

mowestusa commented 1 year ago

I was able to find the solution. In talking with another Linux user, he suggested I look into .xsession.errors.old file. There I found the following line apparently referring to volumeicon:

snd_mixer_handle_events: No such file or directory

I found this post when I went searching on that warning from the .xsession.error file.

The fix was to launch volumeicon and then right click on the applet to bring up "Preferences". In the "Channels" tab it had the "Device" set as "Default". When I clicked on the drop down menu and saw my actual audio card listed (in my case it is "HDA Intel PCH"), I selected that, then closed the "Preferences" dialog. Upon rebooting volumeicon started and remained in the tray as expected.

I have since adjusted my startup file with these changes for starting volumeicon now that I have identified the fix.

# Start Volume Tray App
    sleep 3 &&
    volumeicon &

What a joy to use the latest version of icewm! It feels as snappy and full featured as fluxbox and is being actively developed. When combined with rofi as a program launcher, and some defined keyboard shortcuts in the keys file, I have a fast and lightweight keyboard driven desktop which I'm enjoying. I love the dark theme that Fedora ships with their version of icewm as well.

gijsbers commented 1 year ago

So it was Fedora failing to designate the audio device as Default and it was volumeicon failing to find a working audio device. Then it is strange to report this in the IceWM repostory. Now Fedora doesn't receive the feedback it needs and neither does volumeicon.

gijsbers commented 1 year ago

This example shows a startup without sleeps.