
내 컴퓨터에서 설정을 사용하고 KDE+i3
있으므로 KDE에서 제공하는 모든 전역 단축키를 비활성화하고 싶습니다. i3-config에서 키를 올바르게 바인딩했기 때문입니다. API를
탐색하면서 qdbus
플라즈마 세션별로 명령이 작동한다는 것을 알았습니다.
qdbus org.kde.kglobalaccel /kglobalaccel blockGlobalShortcuts true
문제
문제는 자동화를 시작하는 방법입니다. 문제는 다음과 같습니다.
- 전역 키는 다음 이후에 다시 작동하기 시작합니다.잠,잠그다Plasma를 다시 시작하는 등.
- 나는 사용했다
지금은 플라즈마가 다시 시작되지 않을 때까지만 작동합니다.exec --no-startup-id qdbus org.kde.kglobalaccel /kglobalaccel \ blockGlobalShortcuts true
이를 구현하려면 어떻게 진행해야 합니까?
답변1
KDE의 모든 전역 단축키를 비활성화하는 방법을 찾았습니다. 내가 한 일은 다음과 같습니다.
- 단축키는 할당
~/.config/kglobalshortcutsrc
형식으로 저장됩니다foo=bar
. - 를 사용하여
sed
단축키를 교체합니다. kglobalaccel
변경 사항을 관찰하려면 다시 시작하세요 .
스크립트는 다음과 같습니다.
#!/bin/sh
hotkeysRC="$XDG_CONFIG_HOME/kglobalshortcutsrc"
# Remove application launching shortcuts.
sed -i 's/_launch=[^,]*/_launch=none/g' $hotkeysRC
# Remove other global shortcuts.
sed -i 's/^\([^_].*\)=[^,]*/\1=none/g' $hotkeysRC
# Reload hotkeys.
kquitapp5 kglobalaccel && sleep 2s && kglobalaccel5 &
이제 마침내 모든 키 바인딩을 i3 구성으로 이동할 수 있습니다!
답변2
내 설치에 작동하지 않았기 때문에 Utkarsh의 스크립트를 약간 수정했습니다(아마 kglobalshortcutsrc의 구문이 변경되었을 수 있음).
#!/bin/sh
fl="$HOME/.config/kglobalshortcutsrc"
sed -i 's/=.*,.*,/=none,none,/g' $fl
sed -i 's/Walk Through Windows=.*/Walk Through Windows=Alt+Tab,Alt+Tab,Walk Through Windows/' $fl # return alt+tab
# Reload hotkeys.
kquitapp5 kglobalaccel && sleep 2s && kglobalaccel5 &