rxvt-unicode (Русский)/Tips and tricks (Русский)
Смотрите главную статью rxvt-unicode.
Улучшенное поведение как в Kuake, Openbox
Это первоначально разместил Xyne, на форуме , и опирается на xdotool найденный в официальных репозиториях.
Скриплеты
Сохраните этот скриплет для urxvtc
где-то на вашей системе как urxvtc
(например в ~/.config/openbox
):
#!/bin/sh urxvtc "$@" if [ $? -eq 2 ]; then urxvtd -q -o -f urxvtc "$@" fi
и сохраните этот скриплет как urxvtq
:
#!/bin/bash wid=$(xdotool search --classname urxvtq) if [ -z "$wid" ]; then /path/to/urxvtc -name urxvtq -geometry 80x28 wid=$(xdotool search --classname urxvtq | head -1) xdotool windowfocus "$wid" xdotool key Control_L+l else if [ -z "$(xdotool search --onlyvisible --classname urxvtq 2>/dev/null)" ]; then xdotool windowmap "$wid" xdotool windowfocus "$wid" else xdotool windowunmap "$wid" fi fi
Предыдущая версия xdotool выдавала ошибку, которая отключала признание видимых окон и, таким образом, привела некоторых пользователей к использованию следующего скриптлета на месте предыдущего. В этом больше нет необходимости, как и в xdotool >= 1.20100416.2809, но он был оставлен здесь для дальнейшего использования.'
#!/bin/bash wid=$(xprop -name urxvtq | grep 'WM_COMMAND' | awk -F ',' '{print $3}' | awk -F '"' '{print $2}') if [ -z "$wid" ]; then /path/to/urxvtc -name urxvtq -geometry 200x28 wid=$(xprop -name urxvtq | grep 'WM_COMMAND' | awk -F ',' '{print $3}' | awk -F '"' '{print $2}') xdotool windowfocus "$wid" xdotool key Control_L+l else if [ -z "$(xprop -id "$wid" | grep 'window state: Normal' 2>/dev/null)" ]; then xdotool windowmap "$wid" xdotool windowfocus "$wid" else xdotool windowunmap "$wid" fi fi
Убедитесь, что вы измените /путь/к/urxvtc
к фактическому путю скриптлета urxvtc
, что вы сохранили выше. Мы будем использовать urxvtc
чтобы запустить как обычные экземпляры urxvt
и экземпляр как kuake.
urxvtq с табуляцией
Если вы хотите, чтобы вкладки были как в kuake urxvtc
(здесь называется urxvtq
) просто замените третью строчку в urxvtq
:
wid=$(xdotool search --name urxvtq)
на:
wid=$(xdotool search --name urxvtq | grep -m 1 "" )
Для активации поддержки вкладок, вы можете либо заменить пятую строку вашего urxvtq
:
/path/to/urxvtc -name urxvtq -geometry 80x28
на:
/path/to/urxvtc -name urxvtq -pe tabbed -geometry 80x28
или заменить эту строку вашего файла :
URxvt.perl-ext-common: default,matcher
на
URxvt.perl-ext-common: default,matcher,tabbed
Управление Tab
Горячие клавиши | Описание |
---|---|
Shift+Left | Переход на вкладку слева от текущей |
Shift+Right | Переход на вкладку справа от текущей |
Shift+Down | Создать новую вкладку |
Вы также можете использовать мышь для переключения вкладок щелкая по желаемой, и создавать новую вкладку, нажав на [NEW].\\
Чтобы закрыть вкладку, введите как будто вы нормально закрыли терминал.
Настройка Openbox
Теперь добавьте следующие строки в раздел файла :
<application name="urxvtq"> <decor>no</decor> <position force="yes"> <x>center</x> <y>0</y> </position> <desktop>all</desktop> <layer>above</layer> <skip_pager>yes</skip_pager> <skip_taskbar>yes</skip_taskbar> <maximized>Horizontal</maximized> </application>
и добавьте эти строки в разделе <keyboard>
:
Здесь тоже необходимо изменить строку (/путь/к/*) чтобы указать на сценарии, которые вы сохранили ранее. Сохраните файл, а затем перенастройте Openbox. Теперь вы можете запускать urxvt с , и переключать как консоль kuake с (ковычка на клавише "ё").
Дальнейшая настройка
Преимущество этой настройки через скрипт Perl urxvt kuake, в том что Openbox предоставляет больше возможностей, привязки клавиш-модификаторов. Сценарий kuake захватывает все физические клавиши, независимо от любой комбинации модификаторов. Для полного диапазона возможностей прочтите Openbox bindings documentation.
Openbox per-app settings могут быть использованы для дальнейшей настройки поведения как консоль kuake (например, положение экрана, слой и т.д.). Вам возможно потребуется изменить параметр "geometry" в скриплете urxvtq
для регулировки высоты консоли.
Связанные сценарии
- hbekel опубликовал обобщенную версию из
urxvtq
here которая может быть использована для переключения любого приложения, используя xdotool. - http://www.jukie.net/~bart/blog/20070503013555 - Сценарий для открытия URL-адреса с помощью клавиатуры, а не мыши.
Повышение производительности
- Избегайте использования XFT шрифтов. Если есть необходимость в использовании XFT шрифтов, задайте занчени добавив .
- Соберите rxvt-unicode с отключением ненужных функций, и в частности .
- Ограничьте количество (опция
-sl
)в буфере прокрутки, чтобы уменьшить использование памяти.- Используйте tmux для прокрутки буфера и установит saveLines в 0
- Отключите Perl
- Пользуйтесь демоном
urxvtd
запуская клиентыurxvtc
.
Xinitrc
Смотрите раздел Примеры в . Это предпочтительный вариант.
systemd
Системная служба:
Передайте имя пользователя запустив службу:
urxvtd@username.service
Для службы пользователя, поместите следующие файлы секций, в :
Расширенное управление вкладками
Установите пакет , затем добавьте tabbedex
значение в URxvt.perl-ext-common
X resource в вашем :
URxvt.perl-ext-common: ...,tabbedex,...
По умолчанию, кнопка "[NEW]" (которая редко используется и используется только с помощью мыши) отключена при tabbedex. Вы можете снова включить эту функцию, задав :
URxvt.tabbed.new-button: true
Вкладки можно назвать с помощью (чтобы подтвердить , и для отмены).
Чтобы автоматически скрывать панель вкладок, когда присутствует только одна вкладка, включите следующий ресурс:
URxvt.tabbed.autohide: true
Для предотвращения закрытия последней вкладки Urxvt, включите следующий ресурс:
URxvt.tabbed.reopen-on-close: yes
Чтобы начать новую вкладку или цикл с помощью вкладок, используйте следующие команды пользователя: . Пример отображения:
URxvt.keysym.Control-t: perl:tabbedex:new_tab URxvt.keysym.Control-Tab: perl:tabbedex:next_tab URxvt.keysym.Control-Shift-Tab: perl:tabbedex:prev_tab
Чтобы определить свои собственные горячие клавиши для переименования вкладки или перемещения вкладки вправо или влево, используйте следующие команды: и . Пример отображения:
URxvt.keysym.Control-Shift-Left: perl:tabbedex:move_tab_left URxvt.keysym.Control-Shift-Right: perl:tabbedex:move_tab_right URxvt.keysym.Control-Shift-R: perl:tabbedex:rename_tab
no-tabbedex-keys
:
URxvt.tabbed.no-tabbedex-keys: true
Прозрачность
Настоящая прозрачность
Чтобы использовать настоящую прозрачность, вы должны использовать оконный менеджер с поддержкой композитинга, или отдельное приложение для композитинга.
Из командной строки:
$ urxvt -depth 32 -bg rgba:3f00/3f00/3f00/dddd
Используя файл настроек:
~/.Xresources
URxvt.depth: 32 URxvt.background: rgba:1111/1111/1111/dddd
или
где '95' является уровень непрозрачности в процентах и '#000000' цвет фона.
Чтобы использовать цвет #302351 т.е. с rgba:rrrr/gggg/bbbb/aaaa синтаксисом это будет rgba:3000/2300/5100/ee00. "ee00" (значение альфа) ятобы сделать его красиво прозрачным.
Родная прозрачность
Если нет необходимости в настоящей прозрачности, или если композитинг использует слишком много ресурсов на вашей системе, вы можете получить прозрачность следующим образом:
Использование установки URxvt*background подтверждает пример выше, URxvt*.shading также будет работать.
Набор иконок
По умолчанию URxvt не имеет значка на панели задач. Тем не менее, это можно легко изменить путем добавления строки, указывающей на нужную иконку, в файл :
URxvt.iconFile: /usr/share/icons/Clarity/scalable/apps/terminal.svg
Используйте urxvt для запуска приложений
urxvt может быть использован в качестве легкой альтернативы для запуска приложений, таких как . Запустите urxvt со следующей опцией вида и поведения запуска приложения, или назначьте команду в псевдониме:
$ urxvt -geometry 80x3 -name 'bashrun' -e sh -c "/bin/bash -i -t"
Xterm escape sequences
It is possible for rxvt-unicode to mimic the Xterm escape sequences. These can be found for arbitrary key combinations by running inside xterm, then bound in urxvt using keysyms.
Take this word by word movement binding as an example:
~/.Xresources
!Xterm escapes, word by word movement URxvt.keysym.Control-Left: \033[1;5D URxvt.keysym.Control-Right: \033[1;5C
For more information, see ascii(7) and the keysym section of the urxvt(1) man page.