diff --git a/debian/changelog b/debian/changelog index fe2f832..1b3b682 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +dde-api (6.0.12) unstable; urgency=medium + + * fix: no logout sound (linuxdeepin/developer-center#9370) + + -- zsien Thu, 20 Jun 2024 17:01:04 +0800 + dde-api (6.0.11) unstable; urgency=medium * feat: support trash and computer scheme(Issue: https://github.com/linuxdeepin/developer-center/issues/8266) diff --git a/sound-theme-player/main.go b/sound-theme-player/main.go index afa2ed2..73fc6fe 100644 --- a/sound-theme-player/main.go +++ b/sound-theme-player/main.go @@ -125,6 +125,9 @@ func (m *Manager) Play(theme, event, device string) *dbus.Error { go func() { m.player.Volume = cfg.Volume + if device == "" { + device = generateDevice(cfg.Card, cfg.Device) + } logger.Info("volume: ", m.player.Volume) m.doPlaySound(theme, event, device) os.Exit(0) @@ -151,10 +154,7 @@ func (m *Manager) PrepareShutdownSound(uid int) *dbus.Error { return dbusutil.ToError(err) } - device := "default" - if cfg.Card != "" && cfg.Device != "" { - device = fmt.Sprintf("plughw:CARD=%s,DEV=%s", cfg.Card, cfg.Device) - } + device := generateDevice(cfg.Card, cfg.Device) shutdownCfg.CanPlay = true shutdownCfg.Theme = cfg.Theme shutdownCfg.Event = soundutils.EventSystemShutdown @@ -166,6 +166,14 @@ func (m *Manager) PrepareShutdownSound(uid int) *dbus.Error { return dbusutil.ToError(err) } +func generateDevice(card, device string) string { + if card != "" && device != "" { + return fmt.Sprintf("plughw:CARD=%s,DEV=%s", card, device) + } + + return "default" +} + func (*Manager) GetInterfaceName() string { return dbusInterface }