gmg137 / netease-cloud-music-gtk

Linux 平台下基于 Rust + GTK 开发的网易云音乐播放器
GNU General Public License v3.0
1.5k stars 89 forks source link

音量设置不保存问题,每次启动会恢复设置 #275

Open hdm9527 opened 4 months ago

hdm9527 commented 4 months ago

Describe the bug A clear and concise description of what the bug is.

To Reproduce Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error 我在kde(wayland)下试了,用托盘的退出可以保存音量设置,用ctrl+q退出不会保存音量设置。我又在hyprland(wayland)下试了ctrl+q也是一样,hyprland下没有托盘,又试了kill -2,kill -15,一样不保存音量设置

Expected behavior 期望ctrl+q,kill -2,kill -15退出时保存音量设置

Screenshots If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

Smartphone (please complete the following information):

Additional context Add any other context about the problem here.

gmg137 commented 3 months ago

因为音量条划动时会产生几十上百个变化数值,如果每次变化都将改变写入配置会造成资源浪费,所以才会设计成关闭时才保存入设置内。非正常关闭由于没有执行到保存设置的代码,所以音量设置才没有生效。

hdm9527 commented 3 months ago

因为音量条划动时会产生几十上百个变化数值,如果每次变化都将改变写入配置会造成资源浪费,所以才会设计成关闭时才保存入设置内。非正常关闭由于没有执行到保存设置的代码,所以音量设置才没有生效。

在hyprland下没有托盘,只能通过这种方式关闭,没办法保存音量。kill -2,kill -15 也不是强制退出,2是类似ctrl+c这种,15是发出终止信号,由程序自己退出

gmg137 commented 3 months ago

对hyprland不了解,看了下代码ctrl+q时是直接销毁应用,而关闭按钮是销毁窗口,搜了下目前貌似没有好的解决方法。

hdm9527 commented 3 months ago

对hyprland不了解,看了下代码ctrl+q时是直接销毁应用,而关闭按钮是销毁窗口,搜了下目前貌似没有好的解决方法。

找了下gtk4托盘图标相关的,发现已经移除托盘图标支持,但是在kde的wayland环境下有托盘图标,可能是kde自己实现相关逻辑