Инструменты пользователя

Инструменты сайта



// Firefox и быстрый поиск

Все - не все, но многие знают, что в Firefox, Google Chrome и, вроде, Опере можно в свойствах закладки указать т.н. ключевое слово (keyword), набрав которое в адресной строке браузера и нажав Ввод перейдёшь по ссылке, на которую указывает данная закладка.

Удобно? Кому как. Но! У этого функционала есть ещё одно одно применение.

Дело в том, что в самом адресе закладки можно указать подстановочную последовательность (плейсхолдер, placeholder, уж не знаю как более корректно перевести это слово на русский язык) %s. На это место будет подставлен весь текст который будет введён после ключевого слова.

На пальцах. Допустим, у нас есть закладка, у которой ключевое слово g, тогда, если в адресной строке введём:

g ябеда-корябеда солёный огурец

то вместо %s будет подставлено: «ябеда-корябеда солёный огурец»

Теперь чуете? Правильно! Мы можем вызывать какие-то URL с параметрами. Это общий случай, я же, в основном, использую это для поиска. К примеру, у меня такой набор (жирным выделены названия закладок):

Да, в самом Firefox можно ключевые слова задать для существующих поисковых систем (в Search bar), но вручную там нельзя добавить произвольную (задав только URL для поиска), только установкой соответствующего расширения, которого может не оказаться. Плюс метод работает во многих браузерах, так что импортировав закладки, получите и работающий поиск, к которому привыкли.

В luakit это сделано прямо и ровно через технологию Search Engine. Пример можно посмотреть прямо в коробке в файле globals.lua (или тут).

// Немного тюнинга Firefox

В основном в части вкладок (в народе - «табов»).

Задачи две:

  1. Сделать так, что бы не отображался скролинг вкладок, а сами вкладки уменьшались до минимума аля Opera
  2. Уменьшить их высоту

Поиск дал ссылки на следующие материалы:

  • Quick Tip: Disable Firefox Tab Scrolling - расказывает как при помощи about:config добиться эффекта отсутствия скрола для множества табов, там же даётся ссылка на расширение Tab Mix Plus, при помощи которого можно сделать это же, а так же много другое (к примеру, назначить различные стили для незагруженных страниц, или страниц, содержимое которых изменилось со времени последнего просмотра). От себя замечу: лучше поставить опцию browser.tabs.tabMinWidth в 0, т.к. через дополнение не получается поставить значение меньше 16. Опции может и не быть в списке, тогда нужно её создать, тип указывать: integer. В некоторых источниках это же рекомендуют сделать с параметром browser.tabs.tabClipWidth. В некоторых версиях FireFox и это не поможет, тогда следует попробовать такой CSS-код в вашем userChrome.css:
    .tabbrowser-tab[fadein]:not([pinned]) {
      min-width: 0px !important;
      max-width: 250px !important;
    }

    К сожалению, полностью от скролинга это не позволяет избавится.

  • Is It Possible to Decrease the Height of Tabs? - обсуждение на форуме, как уменьшить высоту табов при помощи userChrome.css. Выдержка одного из методов:
    /* Change all tab properties */
    tab {
    height: 18px !important;
    max-height: 20px !important;
    -moz-appearance: none !important;
    }
     
    /* Shrink tab titles */
    .tabbrowser-tabs .tab-text {
    font-size: 75%;
    }
     
    /* Cosmetic effects to line everything up*/
    .tabs-closebutton {
    padding: 1px !important;
    } 
  • Creating more screen space in Firefox - статья на eeeuser.org которая описывает, как получить больше полезного пространства в Firefox на устройствах с небольшим размером экрана (типа Asus EeePC).

И на последок, мой userChrome.css:

@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
 
/* Change Tab Height - may need to experiment with the size */
/*tab{
  height: 2.0em !important;
  max-height: 2.0em !important;
  -moz-appearance: none !important;
}*/
 
.tabbrowser-tabs {
  height: 2.0em !important;
  max-height: 2.0em !important;
  -moz-appearance: none !important;
}
 
/* hide close button initially and display only on active tab*/
/*.tabbrowser-tab .tab-close-button {
  display: none !important;
}
.tabbrowser-tab[selected="true"] .tab-close-button {
  display: block !important;
}*/
 
/* Correct tab close button size */
.tab-close-button {
  -moz-transform: scale(0.85) !important;
} 
 
/* Navigation bar size */
#nav-bar {
  height: 2.0em !important;
  padding: 0px !important;
  margin: 1px 0 !important;
}
 
/* Toolar icon sizes */
.toolbarbutton-icon {
    height: 1.5em !important;
    width:  1.5em !important
}

// Dokuwiki Bookmark и Firefox

Какое-то время назад я поднял у себя на wiki систему веб-закладок. Из браузеров подобные закладки добавляются при помощи так называемых bookmarklets - javascript вводящихся через адресную строку.

Естественно что, по сути, единственная удобная возможность использования веб-закладок - это создать на панели закладок (каламбууур!) закладку с URL с текстом букмарклета.

Но мне что-то не понравилось: держать открытую панель закладок ради этого, тратить драгоценное экранное место моего EeePC 1000HA… Решил покурить тему.

Задачу сформулировал так: создать кнопку, которую можно поместить на любую активную панель, и вызывать диалог сохраненя веб-закладки по нажатию на неё.

Приступил к поиску. Результат не заставил себя долго ждать: почти сразу нашел расширение Custom Buttons.

Следующим шагом - придумать код кнопки. Атака «в лоб», то есть подстановкой кода букмарклета в команду openURI не увенчалась успехом. Но, благодаря этим документам:

  • Tabbed browser (особенно про получение объекта document для текущей открытой вкладки)
  • Pages tagged with "DOM" (тут вообще читать не перечитать, но оставим это любителям ваять расширения для FF)

был составлен следующий код (помещается во вкладке Code (Код) редактора новой кнопки):

/*CODE*/
host  = 'http://hatred.homelinux.net/wiki';
 
doc   = content.document;
title = doc.title;
url   = doc.location.href;
sel   = doc.selection ? doc.selection.createRange().text : doc.getSelection();
 
target_url = host + '/doku.php?do=dokubookmark&te=' + encodeURI(sel) + 
                    '&ur=' + encodeURI(url) + '&ti=' + encodeURI(title);
 
// Open in new Window
window.open(target_url, 'dokuwikiadd',
    'scrollbars=yes,resizable=yes,toolbars=yes,width=680,height=520,left=210,top=150,status=yes');
// Open in new Tab
//gBrowser.selectedTab = gBrowser.addTab(target_url);

Адрес сайта, естественно, исправляете на свой. Так же можете выбрать способ открытия окна сохранения: по умолчанию - новое окно, а можно - в новой вкладке.

На скриншоте процесс редактирования выглядит так:

Кнопку после создания помещаем на любую открытую панель и пользуемся.

Из замеченных косяков: при включенном No script при открытии окна сохранения ругается на возможную XSS атаку и малость коверкает выделение при вставке, приходится перечитывать.

// Автодополнение адреса при вводе в Firefox

Меня просто бесит как это сделано в Firefox 3.x.x. Тупит, тормозит. Сегодня предпринял меры по некоторой оптимизации в результате получилось следующее:

  1. открываем about:config в адресной строке
  2. устанавливаем следующие параметры:
    • browser.urlbar.matchOnlyTyped в true (нужно создать этот параметр, тип bool) - отключит поиск по заголовкам сайтов, оставит только по URL
    • browser.urlbar.richResults в false (этот параметр так же нужно создать вручную) - влючит старый вид выпадающего диалога.

Полезные ссылки по теме:

И вопрос общественности, можно ли сделать что бы выпадающий список не появлялся автоматически, а вызывался, допустим по нажатию какого нить хот-кея?

// Firefox и память

Про стандартный malloc и firefox можно много пошукать в нете. Для лучшей работы предлагают использовать реализацию malloc из OpenBSD. Исходники я опакетил и залил в AUR: openbsd-malloc.

Вот так можно использовать вместе с firefox, скрипт firefox.sh:

#!/bin/bash
 
#ulimit -v 300000
MOZ_ENABLE_PANGO=0 LD_PRELOAD=/opt/lib/malloc.so /usr/bin/firefox.orig "$@"

особо-фанатичным можно поиграть с ulimit.

предположим, сохранили его в домашней директории, далее делаем такое:

sudo mv /usr/bin/firefox /usr/bin/firefox.orig
sudo cp firefox.sh /usr/bin/firefox
sudo chmod 755 /usr/bin/firefox

можно прописать в alias'ы, как - смотреть руководство к своей коммандной оболочке.

~~odnaknopka~~

// RSS reader для Firefox

Выбирал, выбирал, остановился на Brief: https://addons.mozilla.org/en-US/firefox/addon/4578