| NordWest |
Отправлено: 2 июня 2016 — 15:31 • Тема: Как не наступить на грабли при переполнении счетчиков. • Форум: Arduino - простая работа с микроконтролером |
Ответов: 0 Просмотров: 2241
 |
В Arduino для ориентации во времени часто используются счетчики millis() и micros(). Однако нужно учитывать, что в определённый момент счетчики достигают своего предельного значения 4294967295 после чего переходят в ноль (счетчик переполняется). Если не правильно сформировать условие, то можно получить очень неприятный эффект, когда программа изредка будет неверно работать или вообще подвисать.
Например такой код будет неверен
code:if (millis() > timeold+INTERVAL) ;
правильно писать нужно только так
code:if (millis()-timeold > INTERVAL) ; |
| NordWest |
Отправлено: 4 мая 2016 — 14:23 • Тема: Как адаптировать старые библиотеки для Arduino 1.6.x • Форум: Arduino - простая работа с микроконтролером |
Ответов: 0 Просмотров: 2282
 |
В Arduino IDE начиная с версии 1.0, разработчики переименовали файл WProgram.h в Arduino.h, поэтому, чтобы старые библиотеки заработали в новой IDE — нужно просто открыть файлы библиотеки (.h и .cpp) и если в них встречается строчка
code:#include "WProgram.h"
, то заменить её на:
code:#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif
Обычно, это нужно делать только в заголовочном h-файле библиотеки.
Возможно, больше ничего делать не придётся и библиотека сразу заработает  |
| NordWest |
Отправлено: 25 апреля 2016 — 13:06 • Тема: Использование Rainmeter скина на предприятии • Форум: Rainmeter - изменяем интерфейс рабочего стола |
Ответов: 0 Просмотров: 2486
 |
Сразу предупреждаю, что данный материал является злостным плагиатом. Оригинал статьи находится здесь.
Многие используют Rainmeter для чисто визуальных улучшений рабочего стола операционной системы, но мне пришла в голову идея по использованию его в качестве дополнения к рабочему столу для пользователей на предприятии. К примеру, системная информация для пользователя и администратора, доступ к административным функциям из панели, запуск ярлыков (RPD, URL, BAT) и прочее.
С чего все начиналось?Как-то во времена выхода Iconia Tab на x86 платформе, я использовал ОС Windows 7, а под тачскрин это детище компании Microsoft совершенно не подходит и приходилось придумывать какие-то ухищрения. Однажды я набрел на статью, в которой какой-то умный человек придумал скин для Rainmeter в виде нескольких клавиш, которые выполняли роль CTRL+C, CTRL+V и иже с ними. Так я впервые познакомился с Rainmeter. Но это знакомство тогда было недолгим, так как я вскоре продал планшет и купил более пальце ориентированный на ОС Android. Но через некоторое время я вернулся к скинам Rainmeter в виде часов и переключателя звуковой карты, так как у меня в системе их на тот момент была не одна штука, и необходимо было перекидывать вывод звука на наушники, колонки или телевизор. Где-то в то же самое время на работе появилась необходимость контролировать ярлыки на компьютерах у пользователей, само собой хотелось как-то костыли использовать, а не поднимать домен и пушить туда все что нужно. Сперва было принято решение попробовать использовать RocketDock, но он показал себя с худшей стороны, а потом и вовсе перестал адекватно работать. Тогда-то я и вспомнил про Rainmeter, который мог бы решить эту проблему, а так же заменить виджеты для рабочего стола со статистикой PING до серверов и удаленных объектов.
Вот так выглядел виджет с пингом до серверов, и таких было порядка 5-10 штук. Само собой все это было неудобно, нужно было настраивать на каждом компьютере администратора в отдельности, а так же все это ело большое кол-во оперативной памяти. С этого и началась моя эпопея по программированию разностороннего виджета для организации, в которой я работаю.
Общее описание RainmeterРаспространенное описание программы слегка неверно отражает её сути, так как на самом деле Rainmeter – это некое подобие скриптового языка для написание своих собственных виджетов для Windows. Никоим образом возможности его не ограничиваются выводом статистики о используемых ресурсов CPU и RAM. Для тех кто не в курсе, что это, смотрим скриншоты или, забив в Google “Rainmeter” смотрим картинки.
Rainmeter может быть разным. Ограничить вас может только полёт фантазии или аппаратные средства вашего компьютера. На самом деле люди пишут скины для программы, кто во что горазд. Иногда получаются шедевры, а иногда унылые до нельзя часы или панельки. Я не считаю себя хоть каким-то профи в написании скинов для Rainmeter, но общие принципы описать для вас смогу.
У программы есть консоль управления, через которую мы можем выставлять конфигурацию тех или иных скинов, а так же смотреть логи, создавать темы.
Сами скины у нас хранятся в папке пользователя «мои документы\Rainmeter\Skins», где уже хранятся папки с вашими скинами. У меня к примеру это IT-Solutions, а в ней файл index.ini. Так вот, основной код скина хранится как раз в таких INI файлах. Говоря простым языком, сам код представляет собой объекты и измерения. Измерения – это объекты, которые не отображаются сами по себе в теле скина, но собирают какую-то информацию, к примеру, о загрузке CPU. Объекты – как таковые являются элементами интерфейса скина, такими как: изображения, текст и прочее. В общем-то, на этом всем и строится «программирование» скина.
А вот как этот код выглядит в работе.
В принципе ничего сложного, 1 элемент сбора данных (плагин для Rainmeter), 2 элемента текста (заголовок и содержание), 2 элемента изображения (клавиша редактирования и полоска оранжевого цвета). У каждого объекта свои параметры, которые можно модифицировать в коде. Все параметры обозначают ровно то, как они пишутся, запутаться весьма сложно. Так же у программы есть возможность работать с LUA кодом, но организовано все через специальные функции ввода и вывода данных из LUA в Rainmeter и обратно.
Что нужно было реализовать в скине для предприятия?Хочу сразу заметить, что создание даже простецкого скина – это какая никакая, а разработка. Проблема заключается в том, что особенно в этом помогать никто не может, приходится самому обдумывать необходимости и их воплощение в коде. Начал я с того, что нужно получать данные о состоянии (в сети, не в сети) серверов, удаленных объектов и центральных коммутаторов, но так же нам нужно было как-то отображать на рабочем столе всех пользователей клавиши для перехода по URL или запуска RDP подключения. Само собой сразу подумалось о том, что можно добавить еще какие-то возможности. Было принято решение добавить быстрый доступ к административным функциям, личную записную книжку (локальную), красивые часики, статистику компьютера (чтобы было проще диагностировать по телефону пользователей), а так же в мыслях общий календарь работ для участков\отделов\предприятия и записные книги для подразделений. Ну и неплохо было бы свою собственную ёлочку добавлять на рабочий стол пользователей в новый год, иначе они сами начинают скачивать деревца с вирусами в комплекте.
Первая попыткаНужно было так же не забыть о том, что у разных пользователей разные разрешения экранов, а так же разные предпочтения во внешнем виде рабочего стола. В первый раз, оттолкнувшись от стандартной схемы написания скинов я принялся за работу. Быстро был распилен код одной из панелек, а так же были найдены приличного вида часики. Накидал клавиш, вмонтировал часы, создал панель, размерами подстраивающуюся под размеры экрана, с учетом панели. Но через пару дней работы вдруг осознался факт того, что при изменении адреса сервера RDP или смене URL какой-то страницы, будет весьма сложно поменять эти же значения у каждого пользователя. Я решил переписывать все заново, но, уже ориентируясь на сетевую составляющую и как в итоге оказалось, не прогадал. В Rainmeter есть функция Include, которая весьма хорошо отрабатывает подключение файлов хранящихся на Samba ресурсе. В пример могу привести следующий код:
code:[CONFIG_LOADER]
@Include=#SERVER_SKIN_PATH#./configs/@config-loader.cfg
Переменные в Rainmeter имеют вид #ololo#, а так же они должны быть объявлены в отдельном объекте [Variables]. Кстати говоря, работа переменных может вызывать весьма сильный дискомфорт для тех, кто привык к обычным языкам программирования или же вовсе к php. Иногда переменные просто не работают, и понять в чем причина ты не можешь, так как по логике все отлично, а тем более в другом месте тот же подход работает, тут нет. Но у вас под рукой нет ни компилятора, ни вывода ошибок. Хотя возможно в логах и есть, ни разу в него не заглядывал.
code:[Variables]
SERVER_SKIN_PATH=\\nas.ag\soft\IT-Solutions.v7
PANEL_WIDTH=300
PANEL_HEIGHT=#WORKAREAHEIGHT#
PANEL_TOPPLACE_X=(#SCREENAREAWIDTH# - #PANEL_WIDTH#)
PANEL_TOPPLACE_Y=0
PANEL_SOLIDCOLOR=0,0,0,200
PANEL_PADDING_SIZE=10
PANEL_PADDING_SIDE=5
PANEL_SPACING=5
А в объектах вызов переменных выглядит следующим образом:
code:[PANEL]
Meter=Image
X=#PANEL_TOPPLACE_X#
Y=#PANEL_TOPPLACE_Y#
W=#PANEL_WIDTH#
H=#PANEL_HEIGHT#
SolidColor=#PANEL_SOLIDCOLOR#
;RightMouseDownAction=!Execute [ ]
Как я смог заметить, переменные лучше всего объявлять в начале файла и обязательно в правильной последовательности. Если в переменной вы используете другую, то не забывайте ставить переменную донора первой. К примеру:
code:SCREENWIDTH=1024
PANELWIDTH=#SCREENWIDTH# - 700
Между математическими операциями и значениями обязательно нужны пробелы, если вы пишите «формулу», то каждое математическое выражение нужно заключать в скобки:
code:PANELWIDTH=(#SCREENWIDTH# – 700) + 10
И того у меня получилось так, что в локальной папке лежал лишь index.ini с кучей include и файл config с конфигурацией локальной, в которой значились такие данные, как username, для запроса по этой переменной файла конфигурации из samba ресурса. В тот момент я не задумывался сильно на счет скорости работы такого скина, но задумывался о кол-ве памяти, которое такой скин может начать использовать. Решение конечное казалось мне простым, увеличить тайминг обновления скина с 1 секунды до 10 или 30, а возможно и минуты. Исходя из такой позиции, программировал я скин в виде одного цельного проекта, как программируют сайты, точка входа в качестве index.ini, а все остальное подгружается в зависимости от условий. К сожалению условия, в Rainmeter не могут напрямую влиять на загрузку тех или иных файлов, не считая какие-то костыли через LUA или стандартные функции windows, вызываемые условиями в скрипте. В итоге у меня получилось так, что при инициализации скрипта загружались сразу все элементы и я выдавал им параметры отображения, видно или нет.
code:DynamicVariables=1
Hidden=[VARIABLES_HIDE_CONTENT_LOCAL]
Вот так вот в переменной я определял слои скина, которые в тот или иной момент времени должны были бы быть видимы. Сперва все работало на ура, но с добавлением все нового функционала скин начал занимать слишком много места в памяти (хотя для наших компьютеров с 4гб озу на борту это не проблема), но вместе с тем и стал заметно тормозить. Пришлось придумывать, как же обойти эту проблему. Сперва копал в сторону условий подключения тех или иных компонентов, но часто упирался на малое кол-во возможностей в Rainmeter. Пришлось вернуться к схеме, где каждый слой является отдельным файлом (точкой входа) для Rainmeter. Вообще я изначально являюсь web программистом, в работе зачастую больше всего использую php и о костылях я знаю не понаслышке. Но делать что-то в Rainmeter более сложное, чем вывод одного изображения и пары строчек текста сопряжено с могучими костылями и если хочется все же воплотить замысел в жизнь, то приходится прибегать к помощи вещей, которые на первый взгляд не очевидны. К примеру, LUA (с ним я познакомился недавно, чисто из-за Rainmeter) или же использовать функции Windows иже с ним написание скриптов в cmd или powershell.
Немного о вложенности файлов в скине. Скином считается папка в Rainmeter\Skins с вложенными в нее файлами ini. Если таких файлов несколько, то в одной такой папке может быть активным только один из них. При включении следующего, предыдущий отключается. Само собой такую проблему можно обойти, создав подпапки и разместив при необходимости там новые файлы ini. Именно этот вариант был принят мною для финальной реализации проекта. И того что мы имеем на данный момент времени?
План разработки проектаФинальный проект носит название “IT-Solutions”. Использовать я его буду в комплекте с Windows 7 x86, установленной на компьютерах нашей конторы. Сам для себя я создал систему обозначений. Скин состоит из двух «блоков», «блок» — это основные элементы скина, по сути своей это панель скина и рабочее пространство. Панель располагаю в правом углу с шириной 300 пикселей, а все остальное место при необходимости может занять рабочее пространство или как я назвал этот элемент «Content». И того получаем в виде блоков 2 элемента: “Panel” и “Content”. Каждый блок определяется своей специфической «сеткой» — это место расположения функциональных элементов блока. К примеру, у панели – это top, content и footer. В топе у нас висят клавиши переключения панели, в content у нас висят основные модули, а в footer несменный модуль статистики. Модули представляют собой компоненты скина, которые содержат в себе какой-то определённый набор кода, к примеру, модуль клавиши или часы. Так же есть группы элементов, они между собой объединяются ссылкой на одну переменную, которая определяет видимость элементов в данный момент времени на скине. Координаты (сетку) рассчитывал вручную, отсюда и большое количество конфигурации, так как приходится указывать точные размеры и координаты абсолютно всех элементов. А так же нужно учитывать и возможность разных разрешений экранов.
По просьбе парней, которые очень часто ездят в командировки, был так же внесен в список и локальный блокнот. Нужно чтобы скин не переставал работать и без подключения к сети, а значит, нам нужно хранить в нем локальный контент. Статистика в footer и в content записная книжка. Эти два модуля хранятся в скине локально и могут быть использованы пользователем и без подключения к сети предприятия.
notepad – локальный модуль забирающий данные из txt файла посредствам специального плагина для Rainmeter
statistic – локальный модуль, собирающий и отображающий статистику о компьютере: загрузка ЦПУ, ОЗУ, жесткого диска, сетевой адрес и задержку до сервера, наличие интернет и сетевого соединения
Если локальная часть скина загружается у нас первой, то для тех, кто сидит в сети предприятия нужно загружать какие-то дополнительные функции и для этого была придумана система слоев. Каждый из блоков делится на несколько слоев. Для панели – это слои локальный, пользовательский и «пингер». Вот именно в этот момент разработки было принято решение применить модульность. Разделение всего скина на составные части, которые позже могут быть использованы в разных его местах.
Само собой нужно чтобы контент в скине обновлялся удаленно и без необходимости индивидуального обновления на каждом из компьютеров, отсюда я сделал вывод, что нужно грузить остальные потроха из samba ресурса. Так что остальной код в основном содержится по адресу \\nas.ag\soft\rainmeter\ на производственном накопителе. В локальных файлах хранится только вызывающий код, но иногда нам может потребоваться его доработка и на выручку в этом случае к нам приходит LUA. В файл инициализатор я встроил LUA файл, который будет проверять актуальность версии скина, и при несовпадении будет перекачивать файлы с сервера, а затем перезапускать скин. В локальной части, расположенной в папке скина, у нас находятся файлы следующего толка:
Index.ini – инициализатор запуска всего остального. Если мы работаем локально, то подгружаются лишь локальные компоненты скина – это инициализатор index.ini, в нем же грузится и LUA скрипт проверки обновления скина и первый слой @PANEL, в котором содержится локальный блокнот
CONTENT – здесь содержатся слои основного окна скина
PANEL – здесь содержатся слои панели скина
WINDOWS – это всплывающие подсказки для content и panel
Само собой все это условности применяемые только лишь в моем скине. При переключении на другой слой, первый отключается. Именно эта возможность позволила мне реализовать без дополнительных костылей переключение между слоями. Когда все слои были в одном ini файле, переключение между ними работало быстрее, но вместе с тем и первичная загрузка скина занимала очень значительное время (порядка 2-5 секунд).
Так же поговорим еще немного об index.ini – этот файл является инициализатором, он загружает общую конфигурацию в себя (для доступа к сетевым компонентам), после чего загружает из сети LUA скрипт инициализации, которая включает в себя проверку версии и обновление скина, при необходимости. Дальше у нас идет LUA скрипт, который переключит слой, так как при наличии сети нужно, чтобы загружался layer2, содержащий в себе специальный контент для пользователей.
Локальные файлы:
code:/ IT-Solutions
/@CONTENT
Layer1.ini
Layer2.ini
/@PANEL
Layer1.ini
Layer2.ini
Layer3.ini
/@WINDOWS
Content.ini
Panel.ini
/backgrounds
CONTENT.cfg
PANEL.cfg
/configs
@config-loader.cfg
Config.cfg
Styles.cfg
User.cfg
Variables.cfg
/LUA
initialize.lua
/modules
Notepad.cfg
Statistic.cfg
/ Resources
/img
Edit.png
Refresh.png
Notepad.txt
Как видите, для оформления используется немалое количество разных файлов. Слои блоков, конфигурация для задников (backgrounds), конфигурации разного толка (@config-loader – загрузка сетевых файлов конфигураций, config – общая конфигурация, sytles – стили отображения текста, user – пользовательская конфигурация, variables – переменные), LUA скрипт инициализации, парочка модулей и немного файлов для них.
Со стороны сетевой все немного сложнее, но, в общем, все в том же ключе. Каждый слой в скине запрашивает соответствующий файл из сети и прорисовывает себя уже исходя из него.
Для сетевой работы были выделены следующие модули.
buttons – модуль клавиш включающих в себя запуск exe, bat, url, html. Это небольшой файл, включающий в себя 15 объектов картинок и активируемые ссылки по клику на них. Где брать картинки и куда ведет ссылка мы узнаем из специального конфигурационного файла, отдельного для модуля.
code:[PANEL_CONTENT_BUTTONS-FIRST-1-button]
Meter=Image
ImageName=#SERVER_SKIN_PATH#\images\buttons\#PANEL_CONTENT_BUTTONS-FIRST-1-button-icon#
W=50
H=50
X=(#PANEL_CONTENT_TOPPLACE_X# + 10)
Y=(#PANEL_CONTENT_TOPPLACE_Y# + 10)
leftmouseupaction=!Execute ["#PANEL_CONTENT_BUTTONS-FIRST-1-button-url#"]
; возможность сокрытия
DynamicVariables=1
Hidden=[VARIABLES_HIDE_CONTENT_USERS]
Пятнадцать вот таких вот Meter. Естественно координаты выстроены у каждой картинки свои, 3 ряда по 5 картинок. Параметр leftmouseupaction показывает нам, что мы должны активировать по нажатию. А вот и конфигурация:
code:; первая строка
; 1 клавиша
PANEL_CONTENT_BUTTONS-FIRST-1-button-icon=windows 8.png
;PANEL_CONTENT_BUTTONS-FIRST-1-button-icon=default/simple_gray_comp.ico
PANEL_CONTENT_BUTTONS-FIRST-1-button-url=::{20D04FE0-3AEA-1069-A2D8-08002B30309D}
PANEL_CONTENT_BUTTONS-FIRST-1-button-text=Мой компьютер
; 2 клавиша
PANEL_CONTENT_BUTTONS-FIRST-2-button-icon=office 2013.png
PANEL_CONTENT_BUTTONS-FIRST-2-button-url=::{450D8FBA-AD25-11D0-98A8-0800361B1103}
PANEL_CONTENT_BUTTONS-FIRST-2-button-text=Мои документы
; 3 клавиша
PANEL_CONTENT_BUTTONS-FIRST-3-button-icon=skydrive.png
PANEL_CONTENT_BUTTONS-FIRST-3-button-url=explorer" "\\nas.ag\public
PANEL_CONTENT_BUTTONS-FIRST-3-button-text=Паблик
; 4 клавиша
PANEL_CONTENT_BUTTONS-FIRST-4-button-icon=music.png
PANEL_CONTENT_BUTTONS-FIRST-4-button-url=explorer" "\\nas.ag\media
PANEL_CONTENT_BUTTONS-FIRST-4-button-text=Медиа ресурсы
; 5 клавиша
PANEL_CONTENT_BUTTONS-FIRST-5-button-icon=phone.png
PANEL_CONTENT_BUTTONS-FIRST-5-button-url=http://phones.ag/
PANEL_CONTENT_BUTTONS-FIRST-5-button-text=
Как видите, без ухищрений не обходится. Первые ярлыки отправляют нас по адресам: «мой компьютер» и «мои документы». Третья и четвертая клавиши отправляют нас на samba ресурс, но открываем мы его через explorer, отдав тому соответствующий адрес. 5 клавиша отправляет нас по URL, но благо браузер по умолчанию сам откроет страницу, но иногда бывают случаи, когда нужно указывать определенный браузер для открытия необходимой страницы. В таком случае поступать необходимо по аналогии с samba шарой. В работе была ситуация, когда сайт необходимо было открывать только через Internet Explorer, так как сайт одной из госструктур был написан на asp, специально под IE и в довершении всего для входа на сайт необходим еще и аппаратный ключ. Но такая ситуация сейчас не нова, так что думаю не удивлю этим никого.
clock – красивые часики
code:; Параметры модуля часов CLOCK
PANEL_CONTENT_CLOCK_TOP_X=(#PANEL_FOOTER_TOPPLACE_X# + 70)
PANEL_CONTENT_CLOCK_TOP_Y=(#PANEL_FOOTER_TOPPLACE_Y# - 150)
PANEL_CONTENT_CLOCK_WIDTH=#PANEL_WIDTH#
PANEL_CONTENT_CLOCK_HEIGHT=70
Это конфигурация часов, которая определяет положение левого верхнего угла, а так же ширину и высоту модуля. В самом коде остальные части модуля подстраиваются уже под эти координаты, а не указываются жестко по отношению к размерам и координатам панели или всего скина целиком. Код часов приводить не буду, так как его всегда можно скачать и использовать, часики используются “Cowon Clock”.
pinger – специальный модуль со статистикой доступа до ресурсов, а так же возможность быстрого подключения через разные протоколы
code:; пераметры модуля PINGER
PANEL_CONTENT_PINGER_UPDATE_RATE=15
PANEL_CONTENT_PINGER_TIMEOUT=2000
;PANEL_CONTENT_PINGER_PINGERPATH=123
;PANEL_CONTENT_PINGER_PINGERPATH=#SERVER_SKIN_PATH#\modules\pinger.cfg
; 1 строка
PANEL_CONTENT_PINGER_1_TEXT=Google.com
PANEL_CONTENT_PINGER_1_ADDRESS=8.8.8.8
; 2 строка
PANEL_CONTENT_PINGER_2_TEXT=Kerio N:10
PANEL_CONTENT_PINGER_2_ADDRESS=192.168.10.1
Это конфигурация модуля, таких строк в нем 47 штук, это максимальное количество, что влезает в FullHD разрешение. Мониторы с более низким разрешением в расчет не брались, так как работать модуль будет только на компьютерах системных администраторов. Код модуля состоит из 47 сборок объектов и дополнительной сборки для всплывающего окна.
code:[PINGER_1_STATUS]
Measure=Plugin
Plugin=PingPlugin
DestAddress=#PANEL_CONTENT_PINGER_1_ADDRESS#
UpdateRate=#PANEL_CONTENT_PINGER_UPDATE_RATE#
Timeout=#PANEL_CONTENT_PINGER_TIMEOUT#
TimeoutValue = -999
IfBelowValue = 0
IfBelowAction = [!SetOption PINGER_1_VALUE FontColor 255,0,0,255][!UpdateMeter PINGER_1_VALUE][!redraw]
IfAboveValue = -1
IfAboveAction = [!SetOption PINGER_1_VALUE FontColor 0,255,0,255][!UpdateMeter PINGER_1_VALUE][!redraw]
Это первый объект в сборке, который представляет из себя сборщик состояния ping через специальный плагин. А так же в конце объекта мы видим условия, которые перекрашивают параметр цвета текста у объекта значения. Значения перекрашиваются когда параметр ping входит в необходимые пределы.
code:[PINGER_1_LABEL]
Meter=STRING
MeterStyle=PANEL_FOOTER_STATISTIC_LEFTTEXT
X=(#PANEL_CONTENT_TOPPLACE_X# + 0)
Y=(#PANEL_CONTENT_TOPPLACE_Y# + 0)
W=290
H=14
Text="#PANEL_CONTENT_PINGER_1_TEXT#"
LeftMouseUpAction=[!SetOption PINGER_MENU_HIDE Formula 0][!SetOption PINGER_MENU_LABEL Text "#PANEL_CONTENT_PINGER_1_TEXT#"][!SetOption PINGER_MENU_TEXT_PING LeftMouseUpAction "!Execute[ping.exe #PANEL_CONTENT_PINGER_1_ADDRESS# -t][!SetOption PINGER_MENU_HIDE Formula 1]"][!SetOption PINGER_MENU_TEXT_TRACERT LeftMouseUpAction "!Execute[tracert.exe #PANEL_CONTENT_PINGER_1_ADDRESS#][!SetOption PINGER_MENU_HIDE Formula 1]"][!SetOption PINGER_MENU_TEXT_HTTP LeftMouseUpAction "!Execute[http://#PANEL_CONTENT_PINGER_1_ADDRESS#][!SetOption PINGER_MENU_HIDE Formula 1]"][!SetOption PINGER_MENU_TEXT_SSH LeftMouseUpAction "!Execute[#SERVER_SKIN_PATH#\inc\exe\putty.exe #PANEL_CONTENT_PINGER_1_ADDRESS#][!SetOption PINGER_MENU_HIDE Formula 1]"][!SetOption PINGER_MENU_TEXT_RDP LeftMouseUpAction "!Execute[mstsc.exe /v:#PANEL_CONTENT_PINGER_1_ADDRESS#][!SetOption PINGER_MENU_HIDE Formula 1]"][!SetOption PINGER_MENU_TEXT_VNC LeftMouseUpAction "!Execute[#SERVER_SKIN_PATH#\inc\exe\vnc.exe #PANEL_CONTENT_PINGER_1_ADDRESS#][!SetOption PINGER_MENU_HIDE Formula 1]"][!SetOption PINGER_MENU_TEXT_LM LeftMouseUpAction "!Execute[][!SetOption PINGER_MENU_HIDE Formula 1]"]
; возможность сокрытия
DynamicVariables=1
Hidden=[VARIABLES_HIDE_CONTENT_ADMINS]
Этот объект представляет из себя текст с наименованием пингуемого адреса. Самое забавное в нем то, что по клику левой клавиши мыши должно появляться окно, в котором мы можем выбрать способ подключения к это адресу. Вот здесь у меня скрывается небольшая хитрость, еще во время того как я программировал этот модуль как цельную структуру я внес параметр Hidden в каждый объект скина. Всплывающее окно у меня изначально скрыто. Но при нажатии на наименование окно волшебным образом появляется, так как мы меняем его параметр Hidden с 1 на 0. Но тут перед нами встаёт еще одна проблема. Rainmeter не содержит в себе возможности создания пользовательских функций и внесения в них необходимых переменных. Либо создавать 47 одинаковых форм всплывающего окна, но со своими параметрами для каждого адреса. Либо создать одно окно и подменять в нем необходимые значения. Я пошел по второму пути и ниже приведён скриншот того, что получилось. А в коде все это выглядит как длинная строчка, которая обрабатывается по нажатию левой клавиши мыши. Конечно, можно было пойти по пути создания дополнительного ini файла, но я не знаю, как передать переменные из одного скина в другой, не используя костыли по типу записи необходимых данных в файл и последующее чтение из него. Безусловно, можно было бы попробовать подменять данные в переменных, но моя попытка замены переменных не увенчалась успехом. Переменные [Variables] подменить после запуска скина уже не представляется возможным, но вот заменить математические переменные можно.
code:[VARIABLES_HIDE_TOP]
Measure=Calc
Formula=0
Но в таких «переменных» мы можем хранить лишь цифровые значения, а для передачи текста или ip адреса они не пригодны. Именно из-за проблематичности этих решения я меняю сразу значения в объектах всплывающего окна.
code:[PINGER_1_VALUE]
Meter=STRING
MeterStyle=PANEL_FOOTER_STATISTIC_RIGHTTEXT
MeasureName=PINGER_1_STATUS
X=270r
Y=0r
W=290
H=14
Text=%1 ms
; возможность сокрытия
DynamicVariables=1
Hidden=[VARIABLES_HIDE_CONTENT_ADMINS]
[PINGER_1_BAR]
Meter=IMAGE
X=-250r
Y=15r
W=250
H=1
SolidColor=#STATISTIC_LOCAL_BARCOLOR#
; возможность сокрытия
DynamicVariables=1
Hidden=[VARIABLES_HIDE_CONTENT_ADMINS]
Далее, как мы видим, у нас идет объект вывода значения и бар, который просто украшает наш скин. Вполне возможно, что бар придется убрать при адаптации скина к более слабым машинам. А в объекте значения мы забираем данные из опросника и этот же опросник подкрашивает значение в зеленый или красный цвет, в зависимости от того, получил ли ping ответ rainmeter.
Приводить пример всплывающего окна не буду, так как в основном он состоит из картинки и текста со ссылкой на необходимую программу для открытия полученного адреса.
runner – доступ к административным функциям компьютера. Так же как и впрочем остальные клавиши в скине, состоит из картинки и текста со ссылкой на открываемое приложение. Представляет собой всплывающее окно
switcher – модуль в TOP панели, для переключения между слоями. По сути, является 3мя картинками со ссылками на переключение между ini файлами @PANEL скина
В итоге все выглядит следующим образом:
Такие вещи как «календарь» и «задания» еще не доделаны. Доступ к администраторским функциям предоставляется через программу “execas”. В качестве одной из клавиш доступа используется HTML файл с JS кодом, который автоматически авторизует каждого из пользователей на Yandex почте. Всплывающее окно доступа в “pinger” позволяет сразу получать доступ через разного роде клиенты к необходимому адресу. И все это безобразие ест не больше 30 мб оперативной памяти, против 100 мб, во времена, когда весь код загружался из одного файла.
Такое распределение кроме меньших затрат на память позволяет более адекватно по скорости работать со скином, но и дает нам возможность обхода одного некрасивого места. Если по какой бы то ни было причине один из скинов вызывал ошибку, а такое возможно из-за сетевой работы нашего скина, то после перезапуска Rainmeter он будет неактивен. Но простой как 2 копейки index.ini не может вызвать проблем, а следовательно он будет запущен при следующем старте системы, и за собой он опять попросит включить необходимые компоненты. Какая никакая, а отказоустойчивость. На счет используемых изображений и части кодов модулей, да, не все пишется с нуля моими руками, многие вещи заимствуются, к примеру, часы “Cowon Clock”.
Оригинал статьи находится здесь. |
| NordWest |
Отправлено: 24 апреля 2016 — 00:08 • Тема: Описание основного интерфейса • Форум: Rainmeter - изменяем интерфейс рабочего стола |
Ответов: 11 Просмотров: 14142
 |
Публикация скинов (.rmskin)
Rainmeter включает в себя инструменты, которые делают лёгким обмен скинами, созданными другими пользователями. В этом разделе мы будем рассматривать, как использовать функцию упаковки скинов, а также предложим некоторые рекомендации для публикации вашего скина в интернет галереях, таких как DeviantArt или Customize.org.
Упаковщик скинов используется для создания "пакетного" файла, который содержит все файлы, необходимые для установки скина в Rainmeter. В результате будет создан файл в формате "Rainmeter Installer Skin", с расширением .rmskin. На самом деле это модифицированный ZIP архив, с добавлением некоторых метаданных, которые используются для проверки целостности пакета. (Начиная с версии 2.3, Rainmeter не устанавливает пакеты созданные вручную с помощью ZIP архиватора и последующим изменением расширения на ".rmskin."; Пакет должен быть создан исключительно с помощью упаковщика скинов)
Для запуска упаковщика скинов необходимо открыть окно управления Rainmeter и нажать кнопку "Создать .rmskin пакет..." в левом нижнем углу.
Шаг 1: Информация и Компоненты
Для начала необходимо заполнить некоторую базовую информацию о скине:
Имя: название скина. (обязательно)
Автор: имя разработчика скина. (обязательно)
Версия: текущая версия скина. Это может быть номер ( например, "1.0" ), дата ( "15 ноября 2008" ), или любая другая строка. (не обязательно)
Затем нужно выбрать файлы, которые будут добавлены в пакет:
Добавить скин... - выберите корневую папку с конфигурацией вашего скина. Это папка, которая будет скопирована в папку Skins пользователя при установке. Она должна быть одна, и содержать всё - скины и любые файлы дополнительных утилит или шрифтов. Вы можете выбрать папку из собственного каталога Skins, или из любого другого места на вашем компьютере.(обязательно)
Добавить тему... - вы можете выбрать любое количество тем, которые будут установлены вместе со скином.
Плагины... - Вы можете выбрать любое количество плагинов, которые будут добавлены вместе со скином. Однако это должны быть только те плагины, которые не входят в стандартную установку Rainmeter. Так же вы должны обеспечить как 32-разрядную так и 64-разрядную версию каждого плагина для обеспечения совместимости на всех системах.
Нажмите "Далее" для продолжения.
Шаг 2: Параметры
Все следующие поля являются не обязательными. Настройки по умолчанию подойдут для большинства случаев.
Сохранить пакет как - выберите путь, по которому будет создан финальный файл. По умолчанию такой папкой является рабочий стол.
По окончанию установки можно указать скин или тему для автоматического запуска, однако в ходе самой инсталляции пользователю будет предоставлена возможность эти параметры изменить.
Загрузить скин - вы можете выбрать один из ".ini" файлов со скином в вашем пакете. Этот скин будет автоматически загружен вместе с любыми другими скинами, запущенными у пользователя до этого. Использование этого параметра рекомендуется в большинстве случаев.
Загрузить тему - если вы добавили какие-либо темы в пакет, вы можете выбрать одну из тем, которая будет загружена автоматически, заменив собой текущую тему пользователя.
Вы можете определить минимальные требования к версии Rainmeter и/или версии Windows.
Rainmeter не будет устанавливать пакет в систему, которая не отвечает этим требованиям.
Версия Rainmeter - по умолчанию этот параметр выставляется согласно текущей версии Rainmeter на вашей системе. Если вы уверены, что скин будет работать на более ранней версии, вы можете уменьшить минимальные требование соответствующим образом. Номер версии Rainmeter записываются в виде Major.Minor.Patch.Revision. Например, Rainmeter версии 2.3.3 (r1468) будет записан как 2.3.3.1468.
Версия Windows - по умолчанию этот параметр установлен Windows XP, которая является самой низкой версией Windows, поддерживаемой Rainmeter. Для некоторых скинов может потребоваться более старшая версия Windows, в зависимости от используемых плагинов, аддонов, или других факторов. Например, любые скины, которые будут использовать Win 7 Audio плагин потребуют систему не ниже Windows Vista.
Шаг 3: Дополнительные настройки
Для получения дополнительных опций, перейдите на вкладку "Advanced" в верхней части окна.
Картинка для пакета - вы можете выбрать пользовательское изображение, которое будет отображаться в окне инсталлятора. Изображение должно быть растровое (.bmp) и содержать 400x60 пикселей.
Файлы с настройками - некоторые скины включают в себя один или несколько специальных файлов для хранения переменных. При переустановке или обновлении скина пользователь наверняка захочет сохранить эти настройки. Вы можете указать на эти файлы в вашем пакете, в результате чего эти файлы не будут заменены новыми версиями. Указывайте местоположение файла, начиная с корневой директории, например illustro\Clock\Variables.inc. Вы можете указать несколько файлов, разделяя их параметром (|), например illustro\Clock\Variables.inc | illustro\Feeds\Variables.inc.
Объединять скины - по умолчанию в процессе инсталляции в папку со скинами копируется папка из пакета с полным удалением одноименной папки на компьютере пользователя, если таковая имелась. Если же выбран параметр "Объединять скины", то инсталятор сольет старую и новую папки. Это может быть полезным в случае установки пакета как "расширение" или "патч" к ранее установленному скину.
И, наконец, нажмите кнопку "Создать пакет", чтобы завершить процесс. Это может занять некоторое время в зависимости от размера вашего скина. Файл будет сохранен в выбранном вами месте.
Скрытые файлы
Упаковщик скинов при сборке пакета игнорирует любые скрытые файлы и папки в корневой директории скина. Вы можете воспользоваться этим свойством, помечая файлы разработки (например файлы «PSD», или резервные копии скина) как скрытые файлы. В этом случае они будут автоматически исключены из дистрибутива.
Руководство по публикации
При распространении вашей работы среди небольшой группы ваших знакомых строгое соблюдение стандартов, вероятно, не так уж и важно. Однако вы можете в дальнейшем захотеть выложить свой скин в публичной библиотеке, например на DeviantArt или Customize.org. В этом случае уделите чуть больше времени для следования нескольким простым принципам, что будет полезно для вас, ваших пользователей и сообщества Rainmeter в целом.
Используйте Упаковщик Скинов.
Большинство сайтов, которые предоставляют пользователям место для публикации своих скинов, теперь требуют скины, упакованные в официальном формате ".rmskin". Это не только более удобно для обычных пользователей, так как упакованный скин может быть установлен автоматически в несколько кликов, это также и безопаснее. Rainmeter всегда проверяет правильность упаковки скина перед его установкой, чтобы убедиться, что пакет был создан через упаковщик скинов и не подделаны каким-либо образом.
Заполняйте метаданные.
Многие авторы скинов склонны игнорировать раздел [Метаданные], так как он не оказывает никакого влияния на функциональность или производительность. Но есть веские причины всё же заполнить эти данные перед публикацией. Скин с заполненными метаданными легче найти в окне менеджера, и это надежный встроенный способ, чтобы предоставить пользователям дополнительные инструкции, или просто направить их к веб-странице разработчика. Кроме того, так как код скина часто копируется в постах и комментариях в Интернет, корректно заполненные метаданные дают возможностьь отследить первоисточник. Тег с верией так же очень полезен, чтобы избежать путаницы у одного и того же скина, которые были выпущены в разное время.
Публикуйте ваши скины под свободной лицензией.
Сообщество Rainmeter строится вокруг свободного, открытого обмена идеями и ресурсами. Мы искренне приветствуем желание авторов скинов распростанять свои работы под свободной лицензией, которая позволит другим пользователям заимствовать код, изменять его и выпускать в новой, уникальной форме. Мы считаем, что этот вид неявного сотрудничества позволяет содружеству Rainmeter процветать.
Есть целый ряд видов лицензий на программное обеспечение с открытым исходным кодом, и нет ничего проще, чтобы явным образом прописать их: просто вставьте нужное имя в тег "Тип лицензии" в вашей секции [Метаданные].
Следующие лицензии обычно используются для Rainmeter скинов, плагинов и аддонов:
Creative Commons
GNU Public License
MIT License
С другой стороны, если вы явным образом не укажете тип лицензии, то строго говоря считается, что ваш код не является свободным.
Оптимизация тем.
Возможность включить в пакет пользовательскую тему с вашими скинами позволит сделать большую презентацию и позволит пользователю сразу начать работу по настройке своего рабочего стола вместо загрузки скинов по одному. При разработке такой темы на своем рабочем столе имеет смысл выполнить некоторые шаги, чтобы сделать запуск темы на компьютерах других пользователей без проблем, а именно:
Удаляйте всё лишнее из секции [Skin], что не принадлежат вашей теме. Самый простой способ это сделать, отметить опцию "Исключить неиспользуемые скины" при сохранении темы.
Удаляйте лишние варианты ваших скинов, если они не отличаются от настроек по умолчанию Rainmeter, таких как Draggable или SnapEdges. Это позволит как уменьшить размер файла темы, и сделать ваш код более читаемым, что немаловажно, если вам нужно изменить какие-либо параметры темы вручную.
Используйте опции "From right" и "From bottom", чтобы добиться того, что ваши скины будут отображены в правильном положении независимо от разрешения экрана пользователя. Если вам нужно определить положение скина более сложным образом, вы можете изменить настройки файла "Rainmeter.ini" для темы и написать собственные формулы для параметров WindowX, WindowY, AnchorX и AnchorY для каждой секции скина. Вот некоторые основные формулы, которые можно использовать:
Центрует скин на рабочем столе:
code:WindowX=(#WORKAREAX# + (#WORKAREAWIDTH# / 2 ) - (SkinWidth / 2) + Offset)
WindowY=(#WORKAREAY# + (#WORKAREAHEIGHT# / 2 ) - (SkinHeight / 2) + Offset)
Центрует скин на экране:
code:WindowX=((#SCREENAREAWIDTH# / 2) - (SkinWidth / 2) + Offset)
WindowY=((#SCREENAREAHEIGHT# / 2) - (SkinHeight / 2) + Offset)
Выравнивание по левому краю рабочего стола:
code:WindowX=(#WORKAREAX# + Offset)
Выравнивание по правому краю рабочего стола:
code:WindowX=(Offset + SkinWidth)R
или
WindowX=(#WORKAREAX# + #WORKAREAWIDTH# - SkinWidth - Offset)
Выравнивание по верхнему краю рабочего стола:
code:WindowY=(#WORKAREAY# + Offset)
Выравнивание по нижнему краю рабочего стола:
code:WindowY=(Offset + SkinHeight)B
или
WindowY=(#WORKAREAY# + #WORKAREAHEIGHT# - SkinHeight - Offset) |
| NordWest |
Отправлено: 20 апреля 2016 — 15:58 • Тема: Описание основного интерфейса • Форум: Rainmeter - изменяем интерфейс рабочего стола |
Ответов: 11 Просмотров: 14142
 |
Установка Скинов
Есть два способа установки скинов, загруженных из Интернета:
Автоматический : если скин имеет .rmskin формат. В этом случае для установки нужно выполнить двойной клик по этому файлу.
Ручной : если скин упакован в .zip/.rar/.7z архив, то необходимо данный архив распаковать в папку для скинов и дать команду Rainmeter обновить конфигурацию.
Автоматическая установка
Если устанавливаемый скин имеет расширение .rmskin то для его инсталляции достаточно этот файл просто запустить (выполнить на нём двойной клик мышью). В этом случае запустится установщик скинов Rainmeter и откроется диалоговое окно.
Окно может включать:
Скины : по меньшей мере один скин всегда будет отмечен и установлен в папку Rainmeter \ Skins. Автор установщика так же может указать, что по завершению установки автоматически будет загружен один или несколько скинов.
Темы : если автор добавил тему в установщик, то она будет установлена в папку Rainmeter \ Layouts. В случае, если отмечена опция "Применить включенную тему", то по завершении установки данная тема будет применена.
Плагины : если автор добавил в установку плагины, то они будут установлены в папку Rainmeter \ Plugins.
Устаревшие параметры, не поддерживаемые с версии Rainmeter 2.4:
Шрифты: если автор включает файлы шрифтов в установку, они будут установлены в папке Windows \ Fonts. Это можно изменить, отключив параметр "Установить шрифты в систему" в выпадающем меню.
Аддоны: если автор включил в установку дополнительные исполняемые файлы, они будут установлены в папке Rainmeter \ Addons.
Если какой-либо из скинов, которые будут установлены уже существует, он будут перемещен в папку резервного копирования перед установкой. Это может быть отключено снятием параметра "Резервное копирования скина" в дополнительном выпадающем меню.
Нажмите кнопку "Установить", для завершения инсталляции.
Примечание: если Rainmeter был запущен в портативном варианте, то для инсталляции скинов необходимо запустить файл SkinInstaller.exe и открыть в нем нужный .rmskin файл.
Ручная установка
На всех версиях Rainmeter старше 1.3 практически все скины устанавливались в папку Skins вручную. Все версии Rainmeter имеют 100% обратную совместимость, поэтому даже старые скины будут успешно работать в современных версиях программы. Для их установки нужно:
Прежде всего, если скин расположен в архиве, например, ZIP, RAR или 7Z файле, вам будет необходимо распаковать этот архив.
После распаковки попробуйте там найти файл readme.txt с дальнейшими инструкциями. Если такого файла нет, то ищите папку с таким же именем, что и скин. Переместите найденную папку со всем содержимым в папку, где Rainmeter хранит скины:
Для Windows 8/7/Vista: C:\Users\YourName\Documents\Rainmeter\Skins
Для Windows XP: C:\Documents and Settings\YourName\My Documents\Rainmeter\Skins
Наконец, щелкните правой кнопкой мыши значок Rainmeter в системном трее, и выберите команду "Обновить все". После этого новые скины будут доступны для загрузки из окна управления Rainmeter или через его контекстное меню . |
| NordWest |
Отправлено: 18 апреля 2016 — 11:45 • Тема: Описание основного интерфейса • Форум: Rainmeter - изменяем интерфейс рабочего стола |
Ответов: 11 Просмотров: 14142
 |
В дополнение к основному интерфейсу управлять Rainmeter и скинами можно через контекстное меню.
Есть два варианта контекстного меню:
Контекстное меню Rainmeter: используется для управления самим Rainmeter и всеми скинами. Доступно через правый клик на значке Rainmeter в области уведомлений Windows.
Контекстное меню скина: используется для управления конкретным скином. Доступно через правый клик на любом визуальном элементе конкретного скина.
Контекстное меню Rainmeter
Управление: открывает окно управления Rainmeter.
О программе: открывает окно "О программе".
Помощь: открывает сайт с документацией Rainmeter в браузере.
Скины: отображает список всех найденных скинов с момента последнего запуска или обновления состояния Rainmeter. Список состоит из папки с названием для каждого скина, внутри которого расположены конфигурационные INI-файлы. При нажатии на .ini файл Rainmeter запустит выбранный скин.
Избранное: отображает список скинов, которые были добавлены в "Избранное". Это может быть полезно, если у вас в Rainmeter большая коллекция скинов , так как значительно ускоряет поиск без необходимости использовать весь список.
Темы: отображает список сохраненных тем. При нажатии на любую из них Rainmeter её загрузит.
Изменить настройки: открывает для ручного редактирования файл Rainmeter.ini
Обновить всё: перезапускает Rainmeter с перезапуском всех скинов.
Логгинг: управление ведением протокола.
Имя скина: (например illustro\Welcome) имя каждого активного скина. Обеспечивает доступ к параметрам скина, аналогичным контекстному меню этого скина.
Выход: закрывает Rainmeter.
Контекстное меню скина
Имя скина: (например illustro\Welcome) клик на имени приводит к открытию папки в проводнике.
Варианты: выводит список .ini файлов в конфигурации скина. При нажатии на .ini файл будет загружен выбранный скин.
Root Config: (e.g. illustro) Lists the root-level config folders for the skin. The menu can be used to load skins under the root config.
Настройки: позволяет управлять настройками скина. Ниже данный пункт описан подробнее.
Управление скином: открывает панель управления Rainmeter на вкладке данного скина.
Редактировать скин: открывает в редакторе для правки соотвтствующий скину .ini файл.
Обновить скин: обновляет скин.
Rainmeter: показывает контекстное меню для Rainmeter.
Закрыть скин: закрывает текущий скин.
Примечание: пользовательские пункты контекстного меню для скина могут быть добавлены с помощью опции Context.
Подменю Настройки
Позиция
Дисплей монитора: выбирает монитор, на котором будет отображен скин.
Всегда вверху: скин будет отображаться выше всех окон.
Выше всех: скин будет отображаться выше обычных окон.
Нормальное: скин отображается на рабочем столе и по щелчку поднимается вверх.
Позади: скин отображается под другими окнами.
На рабочем столе: позиция окна как "нормальное", за исключением того, что по щелчку окно не поднимается вверх.
Справа: по координатам "X" отсчет ведётся в пикселях от правого края экрана
Снизу: по координатам "Y" отсчет ведётся в пикселях от нижнего края экрана.
В процентах по X : по координатам "X" ширина берётся в процентах.
В процентах по Y: по координатам "Y" высота берётся в процентах.
Прозрачность: (например, 0% - ~ 100%) определяет степень прозрачности для всего скина, выраженная в процентах. Установка 100% делает скин непрозрачным. Установка 1% сделает его невидимым, однако он по-прежнему будет реагировать на мышь.
Проявление: при наведении мыши скин будет уменьшать степень прозрачности до указанной в параметре "Прозрачность" величины.
Растворение: при наведении мыши скин будет увеличивать степень прозрачности до указанной в параметре "Прозрачность" величины.
Общие настройки
Прятать от мыши: при наведении мыши скин будет становиться полностью прозрачным и не откликаться на клики по нему.
Подвижность: разрешает возможность перемещения скина по экрану
Сохранять позицию: заставляет сохранять новую позицию скина.
Зацепляться за края: заставляет скин притягиваться к другим скинам.
Не кликабельно: запрещает реакцию скина на клик мышью.
Оставаться на экране: запрещает выход скина за границу экрана.
Использовать D2D рендеринг: разрешает использование Direct2D рендеринга.
Избранный скин: добавляет текущий скин в список избранных скинов. |
| NordWest |
Отправлено: 15 апреля 2016 — 18:05 • Тема: Описание основного интерфейса • Форум: Rainmeter - изменяем интерфейс рабочего стола |
Ответов: 11 Просмотров: 14142
 |
Интерфейс "О программе" в Rainmeter не просто отображает номер версии и ссылку на официальный сайт. Это мощный инструмент для поиска и устранения проблем с программой и большой помошник в отладке скинов.
Он состоит из четырех основных вкладок:
Лог: отображает текущий протокол ошибок и уведомлений.
Скины: отображение информации о работе активного скина в реальном времени.
Плагины: показывает информацию о установленных в Rainmeter плагинах.
Версия: отображает версию программы и путь куда она была установлена.
Доступ в этот интерфейс можно получить разными способами:
Правый клик на иконе Rainmeter в системном трее и выбор пункта "О программе".
Нажать кнопку "Открыть лог" на вкладке "Настройки" в панели управления Rainmeter.
Запустить Rainmeter.exe с параметром командной строки "!About".
Щелчок правой кнопкой на любом активном скине и выбор "Rainmeter / О программе".
Вкладка Лог
При открытии в окне лога отображаются 20 последних событий. Если диалог держать открытым, то новые события будут добавляться в реальном времени в верхнюю часть списка.
Лог содержит три столбца информации:
Тип: категория сообщения:
Ошибка - показывает проблемы, влияющие на функциональность Rainmeter или скинов.
Предупреждение - показывает некорректные параметры некоторых функций.
Уведомление - уведомляет об успешных событиях.
Отладка - дополнительные сообщения, когда включен режим отладки.
Время: систеемное время в формате часы:минуты:секунды.миллисеунды
Сообщение: текст сообщения. Используя клавиши CTRL-C можно скопировать эти данные в буфер обмена Windows.
Типы сообщений, которые отображаются в журнале можно контролировать с помощью флажков в нижней части списка. Это может быть использовано для фильтрации отображения только определенных видов новых сообщений.
Кнопка "Очистить" удаляет текущее содержимое протокола.
Примечание: из скина можно отправить собственное сообщение в журнал событий использовав параметр !Log , или через функцию print() в языке сценариев Lua. Это очень полезно для отладки.
Вкладка Скины
Это чрезвычайно мощный инструмент для отладки. Он отображает в режиме реального времени информации о параметрах выполняемых в данный момент скинов. В левой области отображается список активных на текущий момент скинов. При выборе любого скина в правой области будет отображена реальная информация о его текущих параметрах:
Меры: информация о задействованных в этом скине "мерах":
Имя - название элемента.
Диапазон - диапазон возможных значений от MinValue до MaxValue.
Значение - текущее значение. Используя клавиши CTRL-C можно скопировать эти данные в буфер обмена Windows.
Переменные: информация по переменным, используемым скином.
Имя - название элемента.
Значение - текущее значение. Используя клавиши CTRL-C можно скопировать эти данные в буфер обмена Windows.
Вкладка Плагины
Информация о плагинах, установленных в Rainmeter:
Имя: название используемого .dll файла.
Версия: версия используемого .dll файла.
Автор: имя автора и дополнительная информация об авторских правах.
Примечание: список перечисляет все модули, установленные в Rainmeter, однако он не отражает, что из этого списка в данный момент задействовано.
Вкладка Версия
Информация о текущей версии Rainmeter.
Содержит собственно номер версии и информацию о путях, к папке с Rainmeter, к папке с конфигурацией и папке со скинами. |
|