Kısayol tuş bağlamalarını komut satırından iki adımda ekleme (14.04+)
Komut satırından özel kısayollar eklenebilir, ancak biraz karmaşıktır; Her bir tuşa basma işleminde birkaç adımda yapılması gerekir. Öte yandan, bu ise oldukça basit ve bir şekilde komut satırında (bu doğru, soruydu?) Onu yapmak istiyorsanız çok iyi komut dosyası olabilir.
Arayüzünüzde olduğu gibi (Sistem Ayarları> "Klavye"> "Kısayollar"> "Özel Kısayollar"), Özel klavye kısayolları komut satırından iki adımda yapılır:
Komutun döndürdüğü listeyi düzenleyerek (ekleyerek) keybinding oluşturun:
gsettings get org.gnome.settings-daemon.plugins.media-keys custom-keybindings
Döndürülen liste şuna benziyor (şu anda yalnızca bir kısayol olsaydı):
['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/']
Düzenlenen listeyi komutla uygulayın:
gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "[<altered_list>]"
(çift tırnak aklınızda olsun)
Not : Listedeki (örn custom1
. custom2
) İfadenin benzersiz olması gerektiğini söylemeye gerek yoktur . Komut dosyasını kopyalarsanız, komut dosyası kopyaları engellemelidir. Bu durumda, düzenlenen liste örneğin;
['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/']
bir anahtarlık eklemek için: custom1
özelliklerini ayarla:
isim:
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ name '<newname>'
komut:
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ command '<newcommand>'
Tuş kombinasyonu (örneğin <Primary><Alt>g
):
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ binding '<key_combination>'
Yararlı bilgiler burada bulunabilir
Yeni bir özel kısayol ayarlamak için örnek komut dosyası
Aşağıdaki komut dosyası, komut satırından yeni bir kısayol tuşu birleşimi ayarlamak için kullanılabilir. Komutla kullanılabilir (tuş kombinasyonunun mevcut olduğu varsayılarak):
python3 /path/to/script.py '<name>' '<command>' '<key_combination>'
Bir örnek:
Kısayol gedit
tuşu birleşimini Alt+ tuş birleşimi ile açılacak şekilde ayarlamak için 7:
python3 /path/to/script.py 'open gedit' 'gedit' '<Alt>7'
Senaryo:
#!/usr/bin/env python3
import subprocess
import sys
# defining keys & strings to be used
key = "org.gnome.settings-daemon.plugins.media-keys custom-keybindings"
subkey1 = key.replace(" ", ".")[:-1]+":"
item_s = "/"+key.replace(" ", "/").replace(".", "/")+"/"
firstname = "custom"
# get the current list of custom shortcuts
get = lambda cmd: subprocess.check_output(["/bin/bash", "-c", cmd]).decode("utf-8")
array_str = get("gsettings get "+key)
# in case the array was empty, remove the annotation hints
command_result = array_str.lstrip("@as")
current = eval(command_result)
# make sure the additional keybinding mention is no duplicate
n = 1
while True:
new = item_s+firstname+str(n)+"/"
if new in current:
n = n+1
else:
break
# add the new keybinding to the list
current.append(new)
# create the shortcut, set the name, command and shortcut key
cmd0 = 'gsettings set '+key+' "'+str(current)+'"'
cmd1 = 'gsettings set '+subkey1+new+" name '"+sys.argv[1]+"'"
cmd2 = 'gsettings set '+subkey1+new+" command '"+sys.argv[2]+"'"
cmd3 = 'gsettings set '+subkey1+new+" binding '"+sys.argv[3]+"'"
for cmd in [cmd0, cmd1, cmd2, cmd3]:
subprocess.call(["/bin/bash", "-c", cmd])
Nasıl kullanılır:
Komut dosyasını boş bir dosyaya yapıştırın, kaydedin set_customshortcut.py
, yukarıda açıklandığı şekilde çalıştırın.
En çok kullanılan anahtar kelimelerden bazıları (deneysel olarak bulunan, bağlanma değerinde yapılan GUI yolundaki değişikliklere bakarak):
Super key: <Super>
Control key: <Primary> or <Control>
Alt key: <Alt>
Shift key: <Shift>
numbers: 1 (just the number)
Spacebar: space
Slash key: slash
Asterisk key: asterisk (so it would need `<Shift>` as well)
Ampersand key: ampersand (so it would need <Shift> as well)
a few numpad keys:
Numpad divide key (`/`): KP_Divide
Numpad multiply (Asterisk):KP_Multiply
Numpad number key(s): KP_1
Numpad `-`: KP_Subtract
vb.