
Ich verwende ein KDE+i3
Setup auf meinem Computer und möchte daher alle von KDE bereitgestellten globalen Hotkeys deaktivieren, da ich die Tasten in meiner i3-Konfiguration richtig gebunden habe.
Beim Erkunden qdbus
der API habe ich herausgefunden, dass der Befehl pro Plasma-Sitzung funktioniert:
qdbus org.kde.kglobalaccel /kglobalaccel blockGlobalShortcuts true
Probleme
Das Problem ist, wie man mit der Automatisierung beginnt. Die folgenden Probleme sind zu lösen:
- Globale Schlüssel funktionieren wieder nachSchlafen,Sperrenusw., die Plasma neu starten.
- Ich habe verwendet
im Moment, funktioniert aber nur, bis Plasma neu gestartet wird.exec --no-startup-id qdbus org.kde.kglobalaccel /kglobalaccel \ blockGlobalShortcuts true
Wie muss ich bei der Umsetzung vorgehen?
Antwort1
Ich habe einen Weg gefunden, alle globalen Tastenkombinationen von KDE zu deaktivieren. So habe ich es gemacht:
- Die Hotkeys werden
~/.config/kglobalshortcutsrc
in Form vonfoo=bar
Zuweisungen gespeichert. - Ersetzen Sie
sed
die Hotkeys durch . - Starten Sie neu
kglobalaccel
, um die Änderungen zu beobachten.
Hier ist das Skript:
#!/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 &
Jetzt kann ich endlich alle meine Tastenkombinationen in die i3-Konfiguration verschieben!
Antwort2
Ich habe das Skript von Utkarsh leicht modifiziert, da es bei meiner Installation nicht funktionierte (wahrscheinlich hat sich die Syntax in kglobalshortcutsrc geändert):
#!/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 &