Выпустил в свет новую версию расширения (1.0.1.24), позволяющего сворачивать окна Google Chrome в трей. Постарался выполнить все пожелания и устранить все замечания, озвученные в предыдущем посте.
UPD
Расширение работает только с 4-й версией Google Chrome. Получить ее можно переключив канал для получения обновлений на Dev с помощью утилиты Google Chrome Channel Changer
Расширение для Google Chrome
Исходники проекта
Так же исходный код доступен через SVN
Новое
Исправлено
Хотел добавить в новой версии возможность отображения закладок в контекстном меню, но когда код уже был почти готов — выяснилось, что название закладок, на которых происходит загрузка страницы, в процессе вызова скрипта, определяется как undefined. Отправил информацию разработчикам, как только исправят — добавлю возможность выбора закладок.
NPAPI плагин был дополнен кодом, для взаимодействия с JScript на странице. Через JScript плагин получает уведомления о создании новых окон, закрытии окон, изменении настроек и т.д.
В процессе разработки был приятно удивлен, выходом нового билда Dev версии (4.0.223.9), в котором появилась кнопка Options, для расширений, использующих раздел options в манифесте. Оказалась как нельзя кстати.
Так же в новой версии заработало взаимодействие расширений друг с другом. Если вы хотите изменять иконку в трее из стороннего расширения вы можете добавить следующий код:
В текущей реализации путь к икноке это путь к файлу на диске, как использовать иконки, упакованные в расширение, я пока не знаю, но работаю над этим.
Нужен человек, хорошо владеющим английским, для сопровождения страницы проекта на Google Code. Работы не много — перевести небольшую инструкцию (в процессе написания) и переодически переводить список изменений, при выпуске новой версии.
Как всегда с радостью выслушаю пожелания и замечания.
UPD
Расширение работает только с 4-й версией Google Chrome. Получить ее можно переключив канал для получения обновлений на Dev с помощью утилиты Google Chrome Channel Changer
Расширение для Google Chrome
Исходники проекта
Так же исходный код доступен через SVN
Новое
- Добавлена страница с настройками расширения
- Появилась возможность скрывать иконку, если нет ни одного свернутого окна
- Добавлены настройки, позволяющие задать реакцию на нажатие клавиш мыши (левая, правая, двойной клик) по иконке в трее (контекстное меню, восстановить окна, создать новую закладку, создать новое окно)
- Новые, опциональные, элементы контекстного меню — Новая закладка, Новое окно
- Длина элемента контекстного меню ограничивается 48-ю символами
Исправлено
- Устранена проблема, при которой иконка исчезала из трея, если Windows Explorer был перезапущен
- Устранена проблема, при которой контекстное меню не исчезало после появления до тех пор, пока не был выбран какой-либо пункт меню
Хотел добавить в новой версии возможность отображения закладок в контекстном меню, но когда код уже был почти готов — выяснилось, что название закладок, на которых происходит загрузка страницы, в процессе вызова скрипта, определяется как undefined. Отправил информацию разработчикам, как только исправят — добавлю возможность выбора закладок.
Для разработчиков
NPAPI плагин был дополнен кодом, для взаимодействия с JScript на странице. Через JScript плагин получает уведомления о создании новых окон, закрытии окон, изменении настроек и т.д.
В процессе разработки был приятно удивлен, выходом нового билда Dev версии (4.0.223.9), в котором появилась кнопка Options, для расширений, использующих раздел options в манифесте. Оказалась как нельзя кстати.
Так же в новой версии заработало взаимодействие расширений друг с другом. Если вы хотите изменять иконку в трее из стороннего расширения вы можете добавить следующий код:
// Подключаемся к расширению
// первый параметр - идентификатор расширения
// второй параметр - имя порта, прослушивающего сообщения
var port = chrome.extension.connect("ppkfenalijoglfhgpchdegciehdlinkh", {name: 'minimize-to-tray'});
// Отправка сообщения, с указанием пути к иконке
// пустой param (param: '') - установить первоначальную иконку
port.postMessage({command: 'SetIcon', param: 'ErrorMsg.ico'});
В текущей реализации путь к икноке это путь к файлу на диске, как использовать иконки, упакованные в расширение, я пока не знаю, но работаю над этим.
Нужна помощь
Нужен человек, хорошо владеющим английским, для сопровождения страницы проекта на Google Code. Работы не много — перевести небольшую инструкцию (в процессе написания) и переодически переводить список изменений, при выпуске новой версии.
Как всегда с радостью выслушаю пожелания и замечания.