Как заставить Ctrl+PgUp и Ctrl+PgDn изменить вкладки окна

Короткий ответ: Нет, не с классическими оболочками как zsh или bash поскольку обычно Ваша оболочка и терминал являются различными объектами.

Длинный ответ: Возможно. То, что типичный происходит, является Вами, вводят команду и нажимают Enter - теперь Ваши ветвления оболочки, и выполняет указанную команду. Затем оболочка понятия не имеет, что происходит, оболочка не знает то, что будет записано в терминал или что сделала выполненная программа, если это запустило другие программы, записал в Ваш терминал или что-либо.

Существует два возможных решения Вашей проблемы:

  1. Получите весь вывод от своих выполняемых команд и используйте его так или иначе для цели завершения (может быть сделан, но вероятно не должен быть сделан),
  2. Используйте другую Терминальную поддержку, 'завершающуюся' от Вашего "буфера оболочки".

Решение для 2, например, использует emacs и multi-term и просто использование M-/как Вы нормальный было бы для завершения вещей от терминала. Другие терминалы могут предложить аналогичное решение.

Но Вам действительно нужен этот вид завершения? завершение оболочки в наше время может завершить страницы справочника, команды, pids, сокеты, опции команды, пути к файлам от удаленных систем, и многое другое. Это может быть уже достаточно для Вашего варианта использования или могло быть улучшено для Вашей определенной проблемы.

3
19.05.2013, 15:24
1 ответ

GtkNotebook значения по умолчанию к CtrlPageUp и CtrlPageDown для переключения вкладок (hardcoded в gtk/gtknotebook.c).

Проблемой являются Ваши ключи, находятся на цифровой клавиатуре, таким образом, у них есть другой keynames/keysyms, т.е.: KP_Page_Up (вместо Page_Up) и KP_Page_Down (вместо Page_Down). Переотображение ключей должно зафиксировать его. У меня нет цифровой клавиатуры на моем XPS 15 для тестирования, но что-то вроде этого должно работать:

xmodmap -e 'keysym KP_Prior = Prior' -e 'keysym KP_Next = Next'

Вы могли также исправить исходный код, заменив все случаи GDK_KEY_Page_Up/GDK_KEY_Page_Down с GDK_KEY_KP_Page_Up/GDK_KEY_KP_Page_Down в gtknotebook.c


Так как Вы находитесь на Gnome, можно сделать его постоянным путем добавления его к программам запуска. В терминале, выполненном gnome-session-properties, затем Add:

Имя: Whatever
Команда: xmodmap -e 'keysym KP_Prior = Prior' -e 'keysym KP_Next = Next'
Комментарий: Whatever

С другой стороны, создайте файл ~/.Xmodmap с этим содержанием:

keysym KP_Prior = Prior
keysym KP_Next = Next

протестируйте, если это работает с:

xmodmap ~/.Xmodmap

Загрузите его при запуске с xmodmap /home/yourusername/.Xmodmap, через gnome-session-properties, xinitrc, xprofile. Например, (отмечают полный путь файлом):

gnome-session-properties >> Add :

Имя: Whatever
Команда: xmodmap /home/tshepang/.Xmodmap
Комментарий: Whatever

5
27.01.2020, 21:17

Теги

Похожие вопросы