http://github.com/dev-random/midorator
Сразу предупреждаю: я его тестировал только в связке с Midori 0.2.6 и WebKitGTK 1.2.3. Надеюсь, что и с другими он будет работать хорошо, но не удивлюсь, если с какими-то версиями он даже не скомпилируется.
Upd: Корректно работает с версиями Midori 0.2.4, 0.2.6 - 0.2.9
Небольшая ридмишка (в самой программе я её ещё не сделал, а когда сделаю, она будет на английском. Здесь - на русском):
Код: Выделить всё
Для сборки необходимо установить Midori, а также devel-пакеты для webkit-gtk,
gtk, glib, sqlite. После выполнения команды make в каталоге с исходниками появится
библиотека midorator.so. Её нужно положить в каталог, в котором у вас лежат
расширения для Midori (обычно /usr/lib/midori/, но может отличаться, поэтому
make install не поддерживается). Затем включите это расширение в настройках
Midori.
В каталоге includes лежат хидеры из исходников midori 0.2.6. Если с вашей
версией программа не собиратется, возможно, поможет замена хидеров на ваши.
По-умолчанию "лишние" элементы интерфейса скрыты не будут, чтобы их скрыть,
используйте команды "bm", "bn", "bb" (см. ниже).
Используемые по-умолчанию биндинги:
: - начало ввода команды
/ - поиск по странице (вперёд)
? - поиск по странице (назад)
n - повтор поиска (вперёд)
N - повтор поиска (назад)
r - обновить страницу
R - обновить страницу, игнорируя кеш
<space>,
<C-f>,
<Page_Down> - прокрутка вниз на страницу
<C-b>,
<Page_Up> - вверх на страницу
<Up>,
k - вверх
<Down>,
j - вниз
<Home>,
gg - в начало
<End>,
G - в конец
число gg,
число G - прокрутка на указанную страницу, считая сверху
<BackSpace>,
H - назад (по истории)
L - вперёд
]] - следующая страница (если её возможно определить)
[[ - предыдущая
p - перейти по адресу, находящемуся в primary selection
P - то же, но в новой вкладке
y - скопировать адрес текущей страницы в primary selection
o - ввести адрес и перейти по нему
t - то же, но в новой вкладке
f - подсветка ссылок (введите символы, показанные напротив
ссылки, чтобы перейти по ней). Также подсвечиваются поля
форм и кнопки.
F - то же, но ссылка откроется в новой вкладке. Ничего, кроме
ссылок, не подсвечивается.
;y - то же, для копирования адреса ссылок в primary selection
i - перейти в "режим ввода". Все нажимаемые клавиши будут
передаваться напрямую браузеру. Необходимо для ввода текста
в поля форм.
Включается автоматически при переключении на поле формы.
d - закрыть вкладку (или несколько, если указать число)
u - отменить закрытие вкладки (или нескольких)
gt - перейти на следующую вкладку
gT - на предыдущую
число gt - на указанную
g0 - на первую
g$ - на последнюю
<Enter> - если фокус сейчас на поле формы, но режим ввода выключен -
отправить форму. Действует даже на textarea.
bm - показать/скрыть меню Midori. Настройка сохраняется между
перезапусками.
bn - то же для панели навигации
bb - то же для панели закладок
gp - открыть настройки Midori
gs - открыть настройки поисковых движков
Команды (вводятся через ":" или добавляются в ~/.midoratorrc):
set опция значение - установить опцию (см. список ниже)
cmdmap клавиши команда - "повесить" команду на клавишу или последовательность
cmdnmap клавиши команда - то же, но для случая, когда пользователь вводит
число перед нажатиями клавиш. Число будет
подставлено в команду вместо "%i".
По-умолчанию, если для последовательности указан
cmdmap, но не указан cmdnmap, число означает
количество повторений команды.
source файл - выполнить команды из файла
widget имя свойство значение - установить указанное свойство для указанного
элемента интерфейса. Используйте с осторожностью,
пока не доделано и не документировано.
insert - перейти в режим ввода. Вводить вручную не имеет
смысла, используется, когда вы хотите повесить это
действие на другую клавишу, вместо i.
insert n - перейти в нормальный режим
open адрес - перейти по указанному адресу
tabnew адрес - то же, но в новой вкладке
paste - команда, висящая по-умолчанию на клавише "p"
tabpaste - на клавише "P"
yank - на клавише "y"
bookmark имя адрес - добавить закладку. Предназначена для вписывания в
'~/.midoratorrc'. После этого в командах 'open' и
'tabnew' можно использовать имя вместо адреса.
Update: теперь вместо этого можно использовать
обычные закладки Midori, добавляя в их описание
имена в квадратных скобках.
search имя адрес - добавить поисковый движок (планируется переработка,
используйте вместо этого стандартный диалог Midori)
next - повтор поиска по странице. Висит на клавише 'n'.
next! - то же назад. На клавише 'N'.
entry текст - открыть поле для ввода команды / поиска / и т.д.
(это одно и то же поле), ввести в него текст и ждать
продолжения ввода. К примеру, на клавише 't' висит
команда:
entry ":tabnew "
(кавычки используются для экранирования последнего
пробела)
submit - отправить текущую форму (висит на <Enter>)
scroll [h ][+-]число[p] - прокрутка. С 'h' - по горизонтали, иначе - по
вертикали. '+' - вперёд, '-' - назад, без '+'/'-' -
вперёд от начала. С 'p' единица измерения -
страница, иначе - небольшое число пикселей, обычно
100-200.
wq - закрыть все вкладки и выйти. Я планирую сделать,
чтобы при этом автоматически включалась настройка
"восстанавливать вкладки при запуске", но пока это
не готово, включите настройку вручную.
js команда - выполнить команду JavaScript.
hint параметры - работа с подсветкой ссылок, не для ручного
использования.
unhint - убрать подсветку ссылок, если вдруг она "застрянет"
в резултате какого-то бага.
reload[!] - обновить страницу (с "!" - игнорировать кеш)
go куда - переход с автоматическим определением адреса. "back"
и "forth" - перемещение по истории; любые другие
ключевые слова - перемещение по <link rel="куда">
или по автоматически определяемой ссылке (как в "[["
и "]]"), см. список опций ниже.
undo - отменить закрытие вкладки. Сокращённая версия для:
action UndoTabClose
q - закрыть вкладку. Сокращённая версия для:
action TabClose
action команда - выполнить внутреннюю команду Midori
actions - получить список внутренних команд Midori
alias имя команда - короткое имя для длинной команды
get option имя - получить значение опции, заданной командой 'set'
get widget имя свойство - прочитать свойство виджета; для внутреннего
использования.
jscmd имя команда - создать пользовательскую команду. При вводе имени
в командной строке, будет выполняться указанная
команда на JavaScript. Параметры ей будут
передаваться через массив 'args'. Также ей будет
доступна локальная функция 'command',
предназначенная для вызова команд Midorator.
Примеры - в файле 'default.config'.
killtab номер - закрыть указанную вкладку
restart - перезапустить Midori (осторожно, некоторые вещи
при этом не сохраняются, в отличие от обычного
выхода. Ищу способ исправить)
widget имя свойство значение - изменить свойство виджета; для внутреннего
использования.
Настройки (указываются через команду set):
hintchars - символы, используемые для подсветки ссылок.
По-умолчанию: "0123456789". Другой хороший вариант:
"fjdkslaghrueiwoqptyvmcxzbn".
hintstyle стиль - CSS-стиль для "подсказок" при подсветке ссылок.
hint_default - какие элементы подсвечивать (в формате
CSS selectors). По-умолчанию:
a[href], input, select, textarea, button, [onclick]
hint_tabnew - то же, но при подсветке через "F"
hint_yank - то же, но при подсветке через ";y"
go_куда - список (через запятую) регулярных выражений для
автоопределения ссылок в команде go.
По-умолчанию:
set go_next "^>$, ^>>$, ^>>>$, ^next$, next *[>»], ^далее, ^след[.у], next, >"
set go_prev "^<$, ^<<$, ^<<<$, ^prev$, ^previous, prev[.]? *[<«], previous *[<«], ^назад, ^пред[.ы], previous, <"
Вы можете создать произвольное количество
"направлений". Учтите, что теги <link rel="куда">
имеют приоритет над регулярными выражениями.
blur_on_escape - установите в 'on', чтобы автоматически убирать фокус
с элементов страницы при выходе из режима ввода
auto_switch_mode - (по-умолчанию) включать и выключать режим ввода
автоматически при смене фокуса элементов страницы.