LINUX.ORG.RU

KDE Plasma 6.7 Wayland: часть глобальных хоткеев (Print, Meta+Ins) не срабатывает

 , , ,


1

2

Manjaro, ядро 6.18.49, Plasma 6.7.4 (kwin 6.7.4, kglobalacceld 6.7.4, KF 6.29), сессия Wayland. Раскладки us,ru.

  1. Flameshot 14.0.0. Spectacle удалён. В «Комбинациях клавиш» на действие Flameshot → Take screenshot (flameshot gui) назначен Print. Физическое нажатие Print — ничего не происходит. При этом:
  • окно назначения хоткея ловит клавишу именно как Print;
  • qdbus6 org.kde.kglobalaccel /kglobalaccel action 16777225 -> возвращает org.flameshot.Flameshot.desktop / Capture (конфликтов нет);
  • invokeShortcut Capture через D-Bus запускает flameshot gui нормально;
  • flameshot gui из терминала работает.
  1. CopyQ 16.0.0. Хоткей Meta+Ins (показать окно под курсором) назначен, виден в «Комбинациях клавиш», но не срабатывает. В kglobalaccel у CopyQ три компонента: com.github.hluk.copyq, copyq, token_copyq (похоже, регистрация через портал GlobalShortcuts).

Другие глобальные хоткеи (Meta+Ctrl+T → Telegram, Alt+F2 → KRunner) работают. dbus-monitor на org.kde.kglobalaccel.Component при нажатии Print и Meta+Ins сигналов globalShortcutPressed не показывает, Alt+Tab при этом показывает.

Куда смотреть? Как понять, почему kwin не матчит Print при корректной регистрации?

РЕШЕНО.

Итог, вдруг кому пригодится :

  1. Хоткеи, назначенные/изменённые в текущем сеансе (и через «Комбинации клавиш», и через D-Bus kglobalaccel), физически не срабатывали, хотя kglobalaccel их показывал (action() возвращал правильное действие), а invokeShortcut через D-Bus их запускал. Хоткеи, загруженные при входе, работали. После перезагрузки всё заработало. Причину не выяснил — если сталкиваетесь, сначала перелогиньтесь.

  2. CopyQ: его собственный глобальный хоткей регистрируется через портал GlobalShortcuts (компоненты com.github.hluk.copyq / token_copyq в kglobalaccel) и на KDE Wayland ненадёжен. Сделал так:

  • в CopyQ у команды «Показать главное окно под курсором мыши» убрал глобальный хоткей;
  • создал ~/.local/share/applications/copyq-show.desktop с Exec=copyq eval «visible() ? hide() : showAt()»
  • назначил ему хоткей в KDE как обычному приложению;
  • старые компоненты CopyQ удалил из ~/.config/kglobalshortcutsrc.
  1. Flameshot: Print назначен на desktop-действие Capture (flameshot gui) из org.flameshot.Flameshot.desktop, flameshot в автозагрузке. В .desktop уже есть X-KDE-DBUS-Restricted-Interfaces=org.kde.KWin.ScreenShot2, поэтому снимает без запросов портала.
TopsyCrets
() автор топика
Ответ на: комментарий от PPP328

А они и не заработают. У них же изначально на уровне протокола заложена, что хоткеи не должны работать. А когда пользователи взвыли, пришлось городить костыли и подпорки. Причём в каждом DE/WM эти костыли свои.

shell-script ★★★★★
()
Ответ на: комментарий от anonymous

Нет, было отдано на откуп KDE/гнуме. Зачем стандартизировать? Чтобы у более мелких игроков всё работало «из коробки»?

PPP328 ★★★★★
()
Ответ на: комментарий от LongLiveUbuntu

А как без них они представляют себе работу на десктопе? Вот серьезно.

В KDE можно включить для xwayland можно включить глобальные хоткеи все или только alt/ctrl/shift+. У вейленд приложений поддержка реализуется через явную регистрацию хоткеев в системе.

altwazar ★★★★★
()
Ответ на: комментарий от altwazar

У вейленд приложений поддержка реализуется через явную регистрацию хоткеев в системе.

Без СМС? Если с СМС, то я так не играю.

VIT ★★★
()
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария