Користувальницькькі налаштування

Налаштування сайту


taskbarwidgets

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

taskbarwidgets [2022/09/24 14:39]
127.0.0.1 зовнішнє редагування
taskbarwidgets [2023/06/16 18:35]
skybetik
Рядок 1: Рядок 1:
-====== Виджеты панели задач ======+====== Віджети панелі завдань ======
  
-Поддержка виджетов для панели задач, была добавлена еще в релизе Ubilling 0.8.0, но как могло показаться, сделана она была настолько странным и непостижимым образом, что люди пытавшиеся их писать становились другими. Поэтому считается, что поддержки виджетов нет. А на самом деле естьи она довольно простая и удобная если разобраться.+Підтримка віджетів для панелі завдань, була додана ще в релізі Ubilling 0.8.0, але як могло здатися, зроблена вона була настільки дивним і незбагненним чином, що люди, які намагалися їх писати, ставали іншими. Тому вважається, що підтримки віджетів немає. А насправді єі вона досить проста і зручнаякщо розібратися.
  
-====== Зачем? ====== +====== Навіщо? ====== 
-А чего вообще может делать виджет? Да в общем то все, что и [[development|любой другой модуль системы]]. Вплоть до полной модификации внешнего вида и поведения самой панели задач на лету(см. WIDGET_TBBLUR или скажем WIDGET_PSYCHO). Но в нормеэто рассчитанона отображение какой-то полезной статистики. Нет, мы не считаем версию PHP, модель процессора или версию Apache "полезной" в том контекстечто она должна постоянно висеть перед на панели задач и требовать постоянного мониторинга. Ага, кто-то за ночь подменил CPU и перекомпилил PHP - преступление раскрыто. Но если вам так спичит - то да, все делается в несколько строчек без проблем.+А чого взагалі може робити віджет? Та загалом усе, що й [[development|будь-який інший модуль системи]]. Аж до повної модифікації зовнішнього вигляду і поведінки самої панелі завдань на льоту (див. WIDGET_TBBLUR або скажімо WIDGET_PSYCHO). Але в норміце розраховано на відображення якоїсь корисної статистики. Ні, ми не вважаємо версію PHP, модель процесора або версію Apache "корисною" в тому контекстіщо вона повинна постійно висіти перед на панелі завдань і вимагати постійного моніторингу. Ага, хтось за ніч підмінив CPU і перекомпілював PHP - злочин розкрито. Але якщо вам так спичить - то так, все робиться в кілька рядків без проблем.
  
-====== Из чего состоит? ====== +====== З чого складається? ====== 
-Неожиданно, но виджет начинается с элемента таскбара, с соответствующим типом. Посмотрим на примере самого простого семплового виджета из **config/modules.d/widgets/sample.ini** просто выводящего какую-то строку+Несподівано, але віджет починається з елемента таскбара, з відповідним типом. Подивимося на прикладі найпростішого семплового віджета з **config/modules.d/widgets/sample.ini**, який просто виводить якийсь рядок. 
 <file ini sample.ini> <file ini sample.ini>
 ID="widget_sample" ID="widget_sample"
Рядок 17: Рядок 17:
 </file> </file>
  
-Смотря на это все, не сложно заметитьчто идентификатором виджета, является widget_sample, код виджета должен быть размещен в widget_sample.php, для своей работы он не требует никаких дополнительных прав и требует необязательную (UNIMPORTANT) опцию WIDGET_SAMPLE=1 для своего включения. Ну и самое главное, имеет TYPE не icon а widget, что должно сигнализировать панели задаччто тут стоит чего-то выполнятьДа, описание элемента таскбараможет лежать в какой угодно категории **modules.d** - ему без разницы. Просто widgets находиться по-умолчанию "сверху"Исключением является сам файл кода описанный в CODEFILE - он таки должен находиться в **config/taskbar.d/widgets/**.\\ +Дивлячись на це все, не складно помітитищо ідентифікатором віджета є widget_sample, код віджета має бути розміщений у widget_sample.php, для своєї роботи він не вимагає ніяких додаткових прав і вимагає необов'язкової (UNIMPORTANT) опції WIDGET_SAMPLE=1 для свого ввімкнення. Ну і найголовніше, має TYPE не iconа widget, що має сигналізувати панелі завданьщо тут варто чогось виконуватиТак, опис елемента таскбара може лежати в якій завгодно категорії **modules.d** - йому без різниці. Просто widgets знаходиться за замовчуванням "зверху"Винятком є сам файл коду, описаний у CODEFILEвін таки має знаходитися в **config/taskbar.d/widgets/**.\\ 
-А как же спросите вы, система узнает, что из этого самого widget_sample.php нужно выполнять? А очень просто, давайте заглянем в него:+А як же запитаєте ви, система дізнаєтьсящо з цього самого widget_sample.php потрібно виконувати? А дуже просто, давайте заглянемо в нього:
  
 <file php widget_sample.php> <file php widget_sample.php>
Рядок 35: Рядок 35:
 </file> </file>
  
-Из чего заключаемчто базовым для всей этой механики, является наследование классом с именем **widget_sample** (да, это точто описано в опции ID виджета, тоесть его внутренний уникальный идентификатор) некоего класса **TaskbarWidget** и переопределение работы метода **render()**. Да, весь вывод данных виджетомдолжен происходить в виде возвращаемого значения от вызова этого самого **render()**. А что если нам хочетсявывести не просто голый текст, а его же, но в стандартной, и как-то красиво оформленной отдельной областиДа без проблем. Для этого стоит перед **return()** метода **render()** пропустить наши данные через уже заботливо приготовленный для вас протектэд метод **widgetContainer()** (да, его переопределять вам в случае надобности тоже никто не запрещает). Как это должно выглядеть в кодеи чего мы получим в результате? А вот что-то такое:+З чого робимо висновок, що базовим для всієї цієї механіки є успадкування класом з імм **widget_sample** (такце тещо описано в опції ID віджету, тобто його внутрішній унікальний ідентифікатор) якогось класу **TaskbarWidget** і перевизначення роботи методу **render()**. Такусе виведення даних віджетом має відбуватися у вигляді значення, що повертається від виклику цього самого **render()**. А що якщо нам хочеться вивести не просто голий текст, а його ж, але в стандартній, і якось красиво оформленій окремій областіТа без проблем. Для цього варто перед **return()** методу **render()** пропустити наші дані через уже дбайливо приготований для вас протектед метод **widgetContainer()** (такйого перевизначати вам у разі потреби теж ніхто не забороняє). Який вигляд це має мати в кодіі що ми отримаємо в результаті? А ось щось таке:
 <file php widget_sample.php> <file php widget_sample.php>
 <?php <?php
Рядок 53: Рядок 53:
 {{:widget0.png?|}} {{:widget0.png?|}}
  
-И это все? Да - это все. Больше там никакой другой, крутой магии не происходит. +І це все? Так це все. Більше там ніякої іншої, крутої магії не відбувається
  
-====== А подробнее? ====== +====== А детальніше? ====== 
-Окей, если непонятно, как можно обойтись одним автовызываемым методом **render()**, для решения какихо практических задач, давайте под шумок напишем еще какой-то виджет, скажем посылающий SMS-ки куда-то там. Заодно и пихнем его в основное дерево кода вдруг кому-то понадобиться? ;)+Окей, якщо незрозуміло, як можна обійтися одним автовикликуваним методом **render()**, для розв'язання якихось практичних завдань, давайте під шумок напишемо ще якийсь віджет, скажімо такий, що надсилає SMS-ки кудись там. Заодно і пхнемо його в основне дерево коду - раптом комусь знадобитися? ;)
  
-Итаккак уже было упомянуто выше - виджет начинается с описания элемента таскбара в **config/taskbar.d/widgets/**:+Отжеяк уже було згадано вище - віджет починається з опису елемента таскбара в **config/taskbar.d/widgets/**:
  
 <file ini fastsms.ini> <file ini fastsms.ini>
Рядок 69: Рядок 69:
 </file> </file>
  
-Давайте проверим, чего теперь у нас на панели задач? Ухты - она нам как-бы намекаетчто мы что-то забыли ;)+Давайте перевіримо, чого тепер у нас на панелі завдань? Ухти вона нам ніби натякаєщо ми щось забули ;)
  
 {{:widget1.png?|}} {{:widget1.png?|}}
  
-Окей, давайте создадим следующий **config/taskbar.d/widgets/widget_fastsms.php** вот с какимо таким содержанием:+Окей, давайте створимо наступний **config/taskbar.d/widgets/widget_fastsms.php** ось із якимось таким змістом:
  
 <file php widget_fastsms.php> <file php widget_fastsms.php>
Рядок 190: Рядок 190:
 </file> </file>
  
-Как несложно заметить, форма отсылки SMS реагирует на значение опции WIDGET_FASTSMS и может показывать форму как в виде кнопки со всплывающим модальным окном (WIDGET_FASTSMS=1), так и напрямую сразу в таскбаре (WIDGET_FASTSMS=2). Неужели это как-то выглядити еще работает? Неожиданно, но да.+Як нескладно помітити, форма відсилання SMS реагує на значення опції WIDGET_FASTSMS і може показувати форму як у вигляді кнопки зі спливаючим модальним вікном (WIDGET_FASTSMS=1), так і безпосередньо відразу в таскбарі (WIDGET_FASTSMS=2). Невже це якось виглядаєі ще працює? Несподівано, але так.
  
 {{:widgetfastsms.png?|}} {{:widgetfastsms.png?|}}
-====== Стоковые виджеты ====== +====== Стокові віджети ====== 
-Вы можете повключать/повыключать какие-то из стоковых виджетов, по-очереди, либо вместечтобы понаблюдать как они работают.+Ви можете увімкнутиимкнути якісь зі стокових віджетів, по черзі або разом, щоб поспостерігати, як вони працюють.
  
 <file ini alter.ini> <file ini alter.ini>
-; Показывает текущий аптайм системы+; Показує поточний аптайм системи
 WIDGET_UPTIME=1 WIDGET_UPTIME=1
-; Виджет быстрой посылки SMS, мы его там чуть выше на ходу писали. Что уже забыли?+; Віджет швидкого надсилання SMS, ми його там трохи вище на ходу писали. Що вже забули?
 WIDGET_FASTSMS=1 WIDGET_FASTSMS=1
-;Показывает графичек по финансовому отчету, за последний месяц+;Показує графічок за фінансовим звітом, за останній місяць
 WIDGET_FINANCE=1 WIDGET_FINANCE=1
-; Радует ваш персонал, на уровне "мама, когда меня отпустит?"+; Радує ваш персонал, на рівні "мамо, коли мене відпустить?"
 WIDGET_PSYCHO=1 WIDGET_PSYCHO=1
-Собствено описанный выше семпловый виджет, просто выводящий строку.+Власне описаний вище семпловий віджет, який просто виводить рядок.
 WIDGET_SAMPLE=1 WIDGET_SAMPLE=1
-Делает иконкам панели задач, эффект "зрение портиться".+Робить іконкам панелі завдань ефект "зір псується".
 WIDGET_TBBLUR=1 WIDGET_TBBLUR=1
-; Стильно черно-белит иконки панели задач.+; Стильно чорно-білить іконки панелі завдань.
 WIDGET_TBBW=1 WIDGET_TBBW=1
-Иконки панели задач можно утащить куда-то и обосновать этим почему "работа не идет"+Іконки панелі завдань можна потягнути кудись і обґрунтувати цим чому "робота не йде"
 WIDGET_TBDRAG=1 WIDGET_TBDRAG=1
-Крестики-нолики, а вы чего ожидали?+Хрестики-нулики, а ви чого очікували?
 WIDGET_TICTACTOE=1 WIDGET_TICTACTOE=1
-; Может кому-то очень хочется постоянно мониторить суммарный трафик, утилизированный его пользователями?+; Може комусь дуже хочеться постійно моніторити сумарний трафік, утилізований його користувачами?
 WIDGET_TRAFFIC=1 WIDGET_TRAFFIC=1
 ; Конвертер валют. ; Конвертер валют.
 WIDGET_CURRENCY=1 WIDGET_CURRENCY=1
-С шансом 10% орет про meabeab-а в поисках BONK-a!+З шансом 10% кричить про meabeab-а в пошуках BONK-a!
 ; https://www.youtube.com/watch?v=m0i8IBZklZg ; https://www.youtube.com/watch?v=m0i8IBZklZg
 WIDGET_MEABEAB=1 WIDGET_MEABEAB=1
 </file> </file>
taskbarwidgets.txt · Востаннє змінено: 2023/06/16 18:35 повз skybetik