Я хотел бы назначить клавиши Super+ 1и Super+ Homeв качестве сочетаний клавиш для действия «Переключиться на рабочее место 1» в GNOME 3. Есть ли способ это сделать?
Я думаю, что для этого нужно либо назначить несколько сочетаний клавиш одному и тому же действию, либо переключать рабочие пространства с помощью действия командной строки (что позволило бы мне создать для него сочетание клавиш в разделе «пользовательские сочетания клавиш»). Но я не уверен, что это возможно...
решение1
Да, это dconf
настройка, а значение — массив строк, что означает, что он принимает несколько сочетаний клавиш. Вы можете сделать это, dconf-editor
если перейдете к
/org/gnome/desktop/wm/keybindings/переключение-на-рабочее-пространство-1
и повернутьИспользовать значение по умолчанию OFF
затем вставьтеПользовательское значение:['<Super>Home', '<Super>1']
Или, если вы предпочитаете CLI, вы можете использовать dconf
или, gsettings
например,
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-1 "['<Super>Home', '<Super>1']"
Помните, что значения должны быть заключены в кавычки и разделены запятой+пробелом.
решение2
Добавление Super+ 1и друзей для переключения рабочих пространств с помощью dconf
:
dconf write /org/gnome/desktop/wm/keybindings/switch-to-workspace-1 "['<Super>Home', '<Super>1']"
dconf write /org/gnome/desktop/wm/keybindings/switch-to-workspace-2 "['<Super>2']"
dconf write /org/gnome/desktop/wm/keybindings/switch-to-workspace-3 "['<Super>3']"
dconf write /org/gnome/desktop/wm/keybindings/switch-to-workspace-4 "['<Super>4']"
Он не будет создавать рабочие пространства в Gnome 3, которые создаются динамически при наличии окон в предыдущем.
решение3
Делюсь своим сценарием здесь:
# script from https://unix.stackexchange.com/questions/361551/how-can-i-assign-redundant-shortcuts-for-switching-workspaces-in-gnome-3
# disable unnecessary dock app launch shortcuts
# https://ask.fedoraproject.org/t/super-1-keyboard-shortcuts-not-working/15187
for i in {1..9}; do gsettings set org.gnome.shell.keybindings switch-to-application-$i "[]"; done
for i in $(seq 1 9); do dconf write /org/gnome/desktop/wm/keybindings/switch-to-workspace-$i "['<Super>$i', '<Control><Alt>$i']"; done
# And a similar snippet for moving to nth workspace:
for i in $(seq 1 9); do dconf write /org/gnome/desktop/wm/keybindings/move-to-workspace-$i "['<Super><Shift>$i','<Control><Shift>$i']"; done
# in the end clean it up.
dconf write /org/gnome/desktop/wm/keybindings/switch-to-workspace-1 "['<Super>Home','<Super>1', '<Control><Alt>1']"
# caused by gesttings set org.gnome.shell.keybindings switch-to-application-1
# replace '<Super>1' with '<Super>0' since it always pops up nautilus.
dconf write /org/gnome/desktop/wm/keybindings/move-to-workspace-1 "['<Super><Shift>Home', '<Super><Shift>1','<Control><Shift>1']"
dconf write /org/gnome/desktop/wm/keybindings/switch-to-workspace-last "['<Super>End', '<Control><Alt>End']"
dconf write /org/gnome/desktop/wm/keybindings/move-to-workspace-last "['<Super><Shift>End','<Control><Shift>End']"