Создаем виджеты и доклеты – SysStats
SysStats – это модуль для ObjectDock, AveDesk и Y’z Dock (AquaDock), который значительно добавляет функциональности в эти програмные продукты и дает возможность довольно легко создавать свои виджеты и доклеты.
[img=filez/my_desktop-1128239470_i_9351.png]
Целью даной статьи является на простеньком примере пояснить, каким образом можно установить модуль SysStats на ObjectDock и AveDesk, а так же создать свой виджет/доклет.
[anonsend]
Начну с определений:
Виджет (widget) – маленький модуль/програмка, который выполняет несложные информационные функции и расположен на «рабочем столе». Еще одно название – десклет.
Доклет – это тот же виджет, только в доке.
Тоесть, понятия виджет и доклет почти одинаковы по своей сути, разница только в местоположении.
Примечание:
Модуль SysStats буду называть «СС», ObjectDock – «ОД».
Принимаю, что ObjectDock установлен в папку по умолчанию, т.е. C:/Program Files/Stardock/ObjectDock.
Если же Вы использовали пак трансформации «Vista Inspirat» — ObjectDock установленый в папку C:/WINDOWS/BricoPacks/Vista Inspirat/ObjectDock (для других пакетов трансформации соответственно другая папка).
Установка SysStats на ObjectDock
Архив СС необходимо разархивировать в папку установки ОД
[img=filez/my_desktop-1128239556_i_7848.png]
Каким образом Вы это будете делать – не играет роли, главное соблюдать структуру папок.
Изначально СС «пустой», т.е. нету ни конфигов, ни картинок и т.п..
Теперь «домашней» папкой СС является папка C:/Program Files/Stardock/ObjectDock/Docklets/Sysstats – прошу быть внимательными!
Аналогичным образом распаковываем архив «SysStatsPack1.zip» — это пакет дополнения для СС, в котором содержатся готовые конфиги, иконки и скрипты.
Готово! Можно приступать к созданию нашего первого доклета.
Создаем доклет.
Для примера мы создадим доклет для мониторинга локальной сети.
Он будет выполнять следующие функции:
1. Отображать скорость входящих данных, КБ/сек
2. Отображать скорость исходящих данных, КБ/сек
3. Отображать индикатор общей загруженности сети
4. При нажатии вызывать окно Agnitum Outpost Firewall
Добавляем доклет «SysStats» в док.
[img=filez/my_desktop-1128239653_i_2561.png]
На появившемся «Знаке вопроса» нажимаем правую клавишу мыши – Configure…На появившемся «Знаке вопроса» нажимаем правую клавишу мыши – Configure…
[img=filez/my_desktop-1128239687_i_1799.png]
Появляется окно свойств и настройки доклета.
[img=filez/my_desktop-1128239713_i_8658.png]
Мы видим четыре вкладки, коротко про них:
Вкладка «Docklet» — общие параметры доклета: имя, описание, версия, автор и масштаб.
Вкладка «Overlays» — способ визуального отображения доклета.
Вкладка «Meters» — измерительная чать доклета.
Вкладка «Controllers» — управляющая часть доклета.
Настройка измерительной части.
Сначала, нам необходимо определить измерительную часть, тоесть, нам необходимы следующие измерители (датчики):
1. Датчик скорости входящего трафика
2. Датчик скорости исходящего трафика
Переходим на вкладку «Meters». Нужные нам датчики реализованы с помощью «PDH Meter Class».
! ! ! ВНИМАНИЕ ! ! !
Наличие тех или иных счетчиков в «PDH Meter Class» зависит от «железа» компьютера, другими словами: количество обьектов и счетчиков может быть разным, так же разным будут названия.
Выбираем в меню «PDH Meter Class» и нажимаем «Add» (добавляем «PDH Meter» в доклет).
[img=filez/my_desktop-1128239804_i_4646.png]
Естесственно, необходимо назвать датчик таким образом, чтобы потом было понятно, какую величину он измеряет :). С помощью кнопки «Rename» даем датчику имя: вместо «New Meter» называем «LAN In».
Переходим к настройке (конфигурации) датчика – кнопка «Configure».
«PDH Meter» имеет два параметра: счетчик и масштаб («Scale») отображаемой величины.
[img=filez/my_desktop-1128239846_i_5924.png]
Выбираем счетчик: «Сетевой интерфейс» — «Получено байт/сек» — «Realtek RTL8139…»
[img=filez/my_desktop-1128239923_i_7832.png]
Определяем масштаб – 1К (Килобайт в секунду).
Аналогичным образом создаем датчик «LAN Out» («Сетевой интерфейс» — «Отправлено байт/сек» — «Realtek RTL8139…»)
Настройка визуальной части.
Переходим на вкладку «Overlays».
Для красоты и наглядности отображаемой информации, устанавливаем фоновый рисунок для нашего доклета (Background Image). Для добавления рисунков (иконок) предназначеный «ImageOverlay Class». Добавляем «ImageOverlay».
[img=filez/my_desktop-1128239968_i_3199.png]
Даем ему название «Background» и настраиваем. Поскольку размер нашего рисунка 128*128 пикселей, а стандартный размер значка в доке аналогичный – устанавливаем координаты X и Y в «0» (ноль). С помощью кнопки «Browse» (Обзор) выбираем значек для нашего фонового рисунка.
[img=filez/my_desktop-1128239999_i_1587.png]
Для отображения входящего трафика (датчик «LAN In») используем «TextOverlay Class». Добавляем его в доклет, даем ему название «In Traffic».
[img=filez/my_desktop-1128240026_i_5023.png]
Настраиваем: определяем координаты и выравнивание текста, шрифт, цвет и подсвечивание (Blur). Как мы видим, есть возможность повернуть текст под углом (Rotation), установить для него масштабирование (Scale), а так же степень прозрачности (Alpha).
Связываем датчик «LAN In» с даным текстовым оверлеем и устанавливаем формат выводимого текста:
« %0.0f K
где %0.0f – служебная строка формата отображаемой величины датчика:
% — резервный символ
0. – количество отображаемых цифр до десятичной точки («ноль» — значит «все»)
.0 – количество отбражаемых цифр после десятичной точки («ноль» значит «ниодной»!)
f – действительное число (floating point)
Т.е. мы указали: выводить все знаки числа до точки и ниодного после точки.
[img=filez/my_desktop-1128240942_i_8562.png]
О форматах вывода остальных величин можно прочитать в «Help» SysStats.
Аналогичным образом добавляем и настраиваем еще один текстовый оверлей для отображения исходящего трафика. Для этого можно воспользоваться кнопкой «Duplicate», т.е. создать дублекат «LAN In» — «LAN Out» и редактировать только те параметры, которые изменяются для даного текстового оверлея (расположение, текст, датчик).
[img=filez/my_desktop-1128240988_i_1235.png]
Чтобы хоть как-нибудь упорядочить наши визуальные елементы, используем «CompositeOverlay Class» — добавляем его, и с помощью кнопок «Move Up» и «Move Down» определяем уровень расположения визуальных елементов (т.е. те, что выше на уровень «закрывают» собой те, которые находятся ниже и т.д.)
[img=filez/my_desktop-1128241018_i_2475.png]
Настройка управляющей части.
Переходим на вкладку «Controllers».
Поскольку при нажатии на доклет мышкой, нам необходимо, чтобы вызывалось окно Outpost Firewall, определяем «Shortcut» (ярлык) – «Shortcut to Firewall». Ярлык будет «срабатывать», если на елементе (Overlay) «LAN Monitor» кликнуть левой клавишей мышки (Trigger — «Left Button Down»)
[img=filez/my_desktop-1128241052_i_9591.png]
Настраиваем ярлык. В нашем случае необходимо указать только путь к программе, для этого используем кнопку «Browse»
[img=filez/my_desktop-1128241076_i_8418.png]
Чтобы при наведении на доклет или елемент доклета изменялся указатель мышки, можно добавить
«CursorController». Называем его «Cursor», связываем с нужным оверлеем и, с помощью кнопки «Configure», указываем курсор типа «Hand» (ладошка с вытянутым указательным пальцем).
[img=filez/my_desktop-1128241099_i_6395.png]
Итак, наш доклет почти готов. Осталось добавить немного «динамики», т.е. индикатор загрузки сети (белая «прыгающая» полоска). Для этого используем «MappedOverlay Class». Но сначала нам необходимо добавить еще один счетчик, который и будет измерять загруженность сети – это будет «LAN Total» («PDH Meter», «Сетевой интерфейс» — «Всего байт/сек» — «Realtek RTL8139…»).
Создаем оверлей «Traffic Indicator» и настраиваем его соответственно.
[img=filez/my_desktop-1128241127_i_4225.png]
Настраиваем расположение (координаты X,Y).
Связываем наш овелей с датчиком «LAN Total». Теперь необходимо указать минимальное и максимальное значение этого датчика, эти значения будут использоваться «MappedOverlay» для так званого масштабирования изображения. Минимальное значение дачтика «LAN Total» будет «0» (0 килобайт в секунду). Производим простой расчет максимального значения: если пропускная способность сети 100 Мегабит в секунду, тогда в килобайтах это будет 12800 килобайт в секунду. Если мой расчет неправильный – поправьте меня в комментариях, лень было думать :)).
Для индикатора загрузки создаем два следующих изображения:
[img=filez/my_desktop-1128241151_i_8255.png][img=filez/my_desktop-1128241159_i_1534.png]
1 – Image (Сам рисунок)
2 – Mask (Маска для этого рисунка)
Как работает «маска»:
Текущее значение датчика переводится в процентный эквивалент его величины (для этого и служат минимальное и максимальное значения). Теперь на этот «процент» увеличивается «темность» изображения маски. Т.е. можно выделить черный цвет и «нечерный» цвет. Маска накладывается на изображение, и таким образом видно только ту часть картинки, которая «попадает» в черные пикселы маски.
Если кто-то может обьяснить проще и выразить эту операцию в логических функциях – буду очень благодарен, пишите комментарии!
[img=filez/my_desktop-1128241185_i_8020.png]
Ну что ж, конфигурация доклета завершена. Нажимаем кнопку «Ok» в окне свойств и настройки доклета – нам предложат сохранить наш конфиг. Даем имя файлу конфигурации и сохраняем.
Осталось настроить «метку» нашего доклета. Нажимаем правую кнопку мыши на доклете – «Label…». По аналогии связываем с датчиком и устанавливаем формат отображения данных.
[img=filez/my_desktop-1128241249_i_2774.png]
- — - — -
Для начала порекомендую создать аналогичный доклет и попробовать уловить саму суть визуального программирования для СС. К тому же, попробуйте просто добавить готовый конфиг и настроить его датчики, или слегка модифицировать.
! ! ! ВНИМАНИЕ ! ! !
SysStats версии 2.5.7 некорректно работает с AveDesk! Для AveDesk рекомендую использовать SysStats версии 2.5.3.
- — - — -
Автор модуля "SysStats" — judge.
Сам модуль "SysStats" и множество готовых конфигов можно найти в галерее автора:
http://judge.deviantart.com/gallery [ линк ]
http://sysstats.needlemen.com [ линк ].
Перед тем как задавать вопросы...
» ознакомьтесь с постом "Для любознательных"
Комментарии


