ПЛАГИНЫ GRIFFON'А


ОГЛАВЛЕНИЕ:

AdvTools - Плагин, содержащий основные дополнения к Griffon'у
ContactBook - Плагин - телефонная книга
DrivesLister - Встроенный плагин, отображающий диски
TrashViewer - Плагин для операций с корзиной
SearchPanel - Встроенный плагин для поиска файлов
AlarmLister - Плагин для управления будильниками
InboxLister - Плагин для просмотра файлов входящих сообщений
TaskNProc - Плагин для просмотра процессов
SysFolders - Ещё один плагин для поиска файлов


Файловый менеджер Griffon поддерживает плагины - внешние подключаемые модули (dll-ки), которые могут быть написаны сторонними программистами, не имеющими ни малейшего понятия о коде Griffon'а.

Плагины пишутся на С++, для написания плагина необходимо использовать Griffon Plugin API. В настоящий момент API крайне нестабильно и претерпевает в каждой версии значительные изменения, а потому недоступно для всеобщего использования. По этой же причине пока что все плагины идут в поставке вместе с программой.

Установка плагинов проста - достаточно скопировать dll-ку в любую подпапку папки GRIFFON/plugins и перезпустить файл-менеджер.

Начиная с версии 0.8 плагины могут поддерживать собственную локализацию, которая привязана к локализации системы. Файлы локализации выкладываются в папку: GRIFFON\config\locale\plugins\<имя плагина>, и должны называться точно так же, как файлы локализации (english.loc,russian.loc ...). Если соответствующей локализации для плагина нет - будет взята английская локализация. Если и она отсутствует - все тексты диалогов и пр. будут пустыми. Пока что для смены локализации плагинов необходим перезапуск программы

В идеале, может быть, будет как в FAR'е или Total'е (под Far существует более 700 плагинов, среди них такие, как почтовый клиент, работа с архивами, просмотр изображений, подсветка синтаксиса в редакторе и т. п.)

Установленные плагины отображаются в меню плагинов (кнопка 9). Там же можно настроить плагин (GREEN+4) или просмотреть краткую информацию (GREEN+3).

DRIVES LISTER

Этот плагин отображает список дисков в системе. Кроме того, в нём можно хранить ссылки на файлы и папки. Для удобства, начиная с версии 0.14, теперь можно на панели плагина создавать виртуальные папки (клавиша 7) и ссылки на файлы и папки выкладывать туда. Удалять реальные файловые объекты по этим ссылкам пока нельзя, по нажатии С удаляются сами ссылки.

ADVANCED TOOLS

Наборчик дополнительных инструментов. После выбора плагина отображается меню. В квадратных скобках - горячие клавиши для быстрого запуска. Что тут есть:

  1. Reboot - перезагрузка смартфона. Есть аж два варианта - с помощью функции ResetMachine или с помощью RDebug::Fault(). Как правило, ничем не отличаются.
  2. Rename - инструмент для пакетного переименования файлов. Технология переименования описана в rename_tool
  3. Copy/Paste - инструмент для ламерского копирования/вырезания/вставки, для людей, избалованных Windows Explorer'ом и файлменом:) В отличие от оных: - После копирования группы файлов - вставлять их можно сколько угодно раз. После вырезания/вставки - нельзя. - Есть возможность просмотра списка скопированных/вырезанных файлов

  4. Compare files - инструмент для сравнения файлов на панелях. Сравнение всегда начинается с поиска совпадающих имён на 2-х панелях, если какое-то имя есть на активной панели, но отсутствует на пассивной и наоборот - файл помещается в "отличия".
    Если оказывается, что файл с одним и тем же именем есть на обеих панелях - эти два элемента дальше сравниваются по выбранным параметрам - размеру, дате, аттрибутам. Кроме этого, есть возможность сравнения имён файлов с учётом регистра. 1-ый комбобокс диалога позволяет выбрать, какие файлы нас больше интересуют - разные или одинаковые.
    Во 2-ом комбобоксе можно выбрать, как нужно отображать результаты сравнения. Можно выделить результаты на 2-х панелях (и это работает на любых панелях) или поместить результаты на панели search lister'а (это будет работать только для реальных файловых объектов). Ограничение. В версии Griffon'а 0.14 появился алгоритм, позволяющий отображать в панелях размеры папок. Так вот, если на одной из панелей операция подсчёта размеров папки была выполнена, а на другой - нет - 2 одинаковые папки будут считаться разными.

CONTACT BOOK

С помощью этого плагина пока можно просмотреть список контактов, позвонить по нажатию кнопки ОК и удалить выделенные контакты. Пока всё. Остальное - в процессе.

TRASH VIEWER

Начиная с версии 0.14 Griffon включает в себя корзину, некий аналог корзины для Windows. Этот плагин служит для операций с файлами в корзине. Основные функции корзины - удаление, очистка и восстановление производятся по клавише C. По нажатии выводится меню из 3-х пунктов: 1. Restore selected files - восстановление выделенных файлов. 2. Delete selected from disk - удаление выделенных файлов с диска 3. Clear trash bin - очистка корзины Путь, откуда был удалён файл или папка отображается в панели быстрой информации, в панели пути, а также при просмотре информации по GREEN+4 Помимо этого, доступны возможности копирования/перемещения файлов из корзины и прочие операции, как с обычными файлами.

SEARCH PANEL

Встроенный плагин, осуществляющий поиск файлов и отображение результатов поиска. Предоставляет программе 2 независимых панели для хранения результатов поиска. Кроме этого, имеет ещё одну приятную возможность - на эту панель можно копировать ссылки на нужные файлы и папки (по 5-ке), как в DriveLister'е, с той разницей, что в поисковой панели результаты поиска при выходе из программы не сохраняются.

После запуска поиска в панелях (GREEN+7) всегда появляется диалог поиска. При запуске плагина из списка плагинов - действуют такие правила:

В поле "Mask" вводится расширенная маска для поиска, в платной версии можно будет видеть историю введённых масок. В поле "Where" выбираем, где производить поиск. From current folder - поиск производится с текущей папки файлового листера In selection - поиск производится в выделенных папках. Если на панели дисков выделить диски - поиск будет произведён по этим дискам. On current drive - поиск производится на текущем диске файлового листера. On all drives - поиск производится на всех дисках в системе.

Третий кобобокс позволяет выбрать цели - искать файлы и папки, только папки или только файлы. Работа с файлами и папками на поисковой панели ничем не отличается от работы на обычной файловой панели.

ALARM LISTER

Почему первый плагин файлового менеджера работает именно с будильниками - не знаю. Случайно открыл соответствующий пункт справки.

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

Что можно нажимать:

4 и OK - на пункте - создание нового будильника. на любом другом - редактирование имеющегося будильника, Пока можно менять только дату/время и сообщение, остальные пункты не сработают. В системе может быть максимум 8 некалендарных будильников.

C - Удаление будильника. Календарные будильники пока удаляться не хотят.

0 - как и в случае с файлами - быстрый поиск 1 - Выделить будильник/снять выделение.

Остальное - в процессе.

INBOX LISTER

Плагин предназначен для отображения папки "Входящие" в виде списка файлов. Работа с файлами должна быть полностью аналогичной работе с обычными файлами. Если что-то работает по-другому - значит, это баг.

TASK'N'PROC

Этот плагин показывает список процессов на смартфоне, выводит информацию о занимаемой ими памяти.

Размер занимаемой памяти высчитывется в виде stack+size.

Процессы, порождённые app и jar файлами для удобства показаны вверху, отдельно от прочих. Эти файлы определяются по запускающей их программе - kmidrun.exe и midp2.exe для jar и apprun.exe - для app.

Кроме того, плагин может показывать информацию о командной строке процесса, запущенном файле, размерах блоков памяти, потоках и пр, (GREEN+4), отображать исполняемый файл на пассивной панели (ABC+Right).

По клавише ОК - открывается окно выбранного приложения, для app. Пока это достигается повторным запуском app-файла, что не есть правильно.

По клавише C можно удалять выбранные процессы.

Клавиша 6 переименовывает процесс (ХЗ, зачем оно нужно).

Аттрибуты процесса - пока не знаю, как это нормально нарисовать: Цифры - приоритет:

EPriorityLow=150,
EPriorityBackground=250,
EPriorityForeground=350,
EPriorityHigh=450,
EPriorityWindowServer=650,
EPriorityFileServer=750,
EPriorityRealTimeServer=850,
EPrioritySupervisor=950

Если в аттрибутах стоит !! - процесс защищённый.

GREEN+1 устанавливает приоритет процессу и делает его защищённым/незащищённым. При установке приоритета процессов можно использовать первые 4(150-450), тут они обозначены цифрами от 1 до 4.

Известные баги:

  1. Плагин при каждом запуске отхватывает 4 Кб оперативки или больше и не отпускает.
  2. Системные процессы при удалении остаются, старый процесс становится нулевого размера, и запускается новый, такой же. После третьего удаления остаётся 3 процесса нулевого размера (некоторые программы просто не показывают такие процессы). Не баг, а скорее недостаток фичи.
  3. В инфе не учитываются блоки памяти, занимаемые подгруженными процессом dll'ями.
  4. Блоки памяти(chunks) в некоторых случаях выводятся неверно, т.к. поиск этих блоков ведётся по имени файла процесса. Например, для Phone.app будут выведены блоки PhoneServer.exe, т.к. в имени блока ищется маска Phone. Надо лечить.
  5. Быстрый поиск не может найти файлы app и jar (в начале имени этих файлов пока форсированно вбивается пробел, чтобы они при сортировке по имени встали сверху).
  6. Установка аттрибута "защищённый" может привести к перезагрузке телефона. Не знаю пока, это система так делает, или я чего-то напутал...

Остальное - репортим.

SYSTEM FOLDERS

Плагин выводит в виде списка файлов содержимое заданных пользователем папок.

Чтобы определить новую системную папку - нажмите клавишу 7

Чтобы отредактировать существующую - нужно нажать 4 на нужном пункте.

что здесь можно задать:

title - Имя, которое будет отображено в списке
folder Mask - Пути к папкам через запятую, в которых будет производиться сканирование. Если путь не имеет буквы диска, а начинается с \ - плагин просканирует все такие папки на дисках C,D,E и Z

        ПРИМЕР:
        ~~~~~~
        \system\apps,C:\system
     Сканируются папки:
        C:\system\apps
        D:\system\apps
        E:\system\apps
        Z:\system\apps
        C:\system

fileMask - Маска задаётся в соответствии с правилами задания маски Griffon'а, с поддержкой маски исключения. Будут показаны все файлы, соответствующие заданной здесь маске. Например:

     *|*.aif - показывать все файлы, кроме aif

recurce subdirs - если выбрано - плагин выведет все файлы в папке и подпапках - если не выбрано - плагин не будет сканировать подпапки указаных папок

На панель System Folders можно скопировать выделенные папки. Смысл операции в том, чтобы создать новую виртуальную папку, чья маска папок будет равна всем скопированным путям, перечисленным через запятую. Плагин спросит вначале, убрать ли буквы дисков из путей, пример ниже. Затем появится диалог создания новой виртуальной папки, и поле маски папок уже будет заполнено.

ПРИМЕР:  
~~~~~~  
На панель копируется:
Z:\system\images
Z:\system\apps

Если на вопрос об убирании буквы диска ответить Да - создастся маска
\system\images,\system\apps
, что при входе в папку приведёт к сканированию папок \system\images
и \system\apps на всех дисках смартфона.

Если на вопрос об убирании буквы диска ответить Нет - создастся маска
Z:\system\images,Z:\system\apps
и сканироваться будут только эти папки.

ЧТО НОВОГО В SYSTEM FOLDERS

Версия 0.3 04.09.2006

Версия 0.2 09.08.2006