Skip to content

Commit 0cd3127

Browse files
committed
fix: handle kglobalaccel D-Bus name owner properly
Changed the D-Bus GetNameOwner call to store the result and check if kglobalaccel is available Updated warning message to info when kglobalaccel becomes ready This ensures proper initialization of KWin shortcuts only when kglobalaccel service is actually available Log: Fixed kglobalaccel service detection for KWin shortcuts Influence: 1. Test KWin shortcut functionality with and without kglobalaccel service running 2. Verify that shortcuts work correctly when kglobalaccel starts after the window manager 3. Check that no errors occur when kglobalaccel is not available 4. Test D-Bus signal handling for service availability changes fix: 正确处理 kglobalaccel D-Bus 名称所有者 修改 D-Bus GetNameOwner 调用以存储结果并检查 kglobalaccel 是否可用 当 kglobalaccel 准备就绪时将警告消息更新为信息级别 这确保仅在 kglobalaccel 服务实际可用时正确初始化 KWin 快捷键 Log: 修复了 KWin 快捷键的 kglobalaccel 服务检测 PMS: BUG-344071 Influence: 1. 测试在有和没有运行 kglobalaccel 服务时的 KWin 快捷键功能 2. 验证当 kglobalaccel 在窗口管理器之后启动时快捷键是否正常工作 3. 检查当 kglobalaccel 不可用时不会出现错误 4. 测试服务可用性变化的 D-Bus 信号处理
1 parent 0c0f863 commit 0cd3127

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

keybinding1/manager.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -314,15 +314,16 @@ func (m *Manager) init() {
314314
} else {
315315
m.shortcutManager.AddSystem(m.wm)
316316
m.shortcutManager.AddMedia(m.wm)
317+
var owner string
317318
err := sessionBus.BusObject().Call("org.freedesktop.DBus.GetNameOwner",
318-
0, "org.kde.kglobalaccel").Store()
319+
0, "org.kde.kglobalaccel").Store(&owner)
319320
if err != nil {
320321
logger.Warning("kglobalaccel not ready:", err)
321322
dbusDaemon := ofdbus.NewDBus(sessionBus)
322323
dbusDaemon.InitSignalExt(m.sessionSigLoop, true)
323324
dbusDaemon.ConnectNameOwnerChanged(func(name string, oldOwner string, newOwner string) {
324325
if name == "org.kde.kglobalaccel" && newOwner != "" {
325-
logger.Warning("kglobalaccel ready")
326+
logger.Info("kglobalaccel ready")
326327
m.shortcutManager.AddKWin(m.wm)
327328
dbusDaemon.RemoveAllHandlers()
328329
}

0 commit comments

Comments
 (0)