* [sisyphus] I: Пишем модули для alterator
@ 2006-04-13 14:58 Stanislav Ievlev
2006-04-15 19:24 ` [sisyphus] I: Пишем модули для alterator [services r/o] Michael Shigorin
0 siblings, 1 reply; 7+ messages in thread
From: Stanislav Ievlev @ 2006-04-13 14:58 UTC (permalink / raw)
To: sisyphus
Если кто думал, что начать писать модули для Alterator это сложно ...
теперь ошибается.
Начиная со сборок:
alterator-2.7-alt0.26
alterator-standalone-0.4-alt0.1
alterator-browser-qt-light-2.6-alt25, alterator-browser-qt-2.6.1-alt13
Пользуясь инструкцией http://wiki.sisyphus.ru/Alterator/start
даже совершенно не сведующий в тонкостях alterator человек,
сможет сделать свой первый модуль и даже запаковать его в пакет ( и при желании положить в Сизиф )
Безусловно потребуются ещё дополнительные знания по разным интерфейсным
штучкам, написанию backend и базовые познания по Scheme, но со всем
этим можно будет уже разобраться потом, главное начать ;)
P.S. Заодно надеюсь, что начав играть с alterator, кто-нибудь да пополнит
документацию на wiki.sisyphus.ru/Alterator
P.P.S. По мере появления новых модулей, процесс написания новых можно
делать всё проще и проще, доводя отдельные стадии до полного автоматизма ... было бы желание и силы ;)
--
Стас.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [sisyphus] I: Пишем модули для alterator [services r/o]
2006-04-13 14:58 [sisyphus] I: Пишем модули для alterator Stanislav Ievlev
@ 2006-04-15 19:24 ` Michael Shigorin
2006-04-18 6:50 ` Stanislav Ievlev
0 siblings, 1 reply; 7+ messages in thread
From: Michael Shigorin @ 2006-04-15 19:24 UTC (permalink / raw)
To: sisyphus
[-- Attachment #1: Type: text/plain, Size: 696 bytes --]
On Thu, Apr 13, 2006 at 06:58:33PM +0400, Stanislav Ievlev wrote:
> Если кто думал, что начать писать модули для Alterator это сложно ...
> теперь ошибается.
Уф. Тебя помучал, rider@ и lioka@ -- тоже, чуточку (не всё) на
wiki перечитал -- вышла заготовка для alterator-services, но она
пока только выдавать список научилась.
Как хотя бы примотать кнопки "enable"/"disable", не говоря о
двух списках с <</>> между ними (и тем более о поддержке xinetd
services, и не заикаясь о возможной поддержке кнопочки
"monitored" при наличии monit ;-) -- пока непонятно.
Тут уже сложность всё-таки вылазит.
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
[-- Attachment #2: alterator-services-0.1.tar.gz --]
[-- Type: application/octet-stream, Size: 1104 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [sisyphus] I: Пишем модули для alterator [services r/o]
2006-04-15 19:24 ` [sisyphus] I: Пишем модули для alterator [services r/o] Michael Shigorin
@ 2006-04-18 6:50 ` Stanislav Ievlev
2006-04-18 7:19 ` Michael Shigorin
0 siblings, 1 reply; 7+ messages in thread
From: Stanislav Ievlev @ 2006-04-18 6:50 UTC (permalink / raw)
To: shigorin, ALT Linux Sisyphus discussion list
On Sat, Apr 15, 2006 at 10:24:18PM +0300, Michael Shigorin wrote:
> On Thu, Apr 13, 2006 at 06:58:33PM +0400, Stanislav Ievlev wrote:
> > Если кто думал, что начать писать модули для Alterator это сложно ...
> > теперь ошибается.
>
> Уф. Тебя помучал, rider@ и lioka@ -- тоже, чуточку (не всё) на
> wiki перечитал -- вышла заготовка для alterator-services, но она
> пока только выдавать список научилась.
>
> Как хотя бы примотать кнопки "enable"/"disable", не говоря о
> двух списках с <</>> между ними (и тем более о поддержке xinetd
> services, и не заикаясь о возможной поддержке кнопочки
> "monitored" при наличии monit ;-) -- пока непонятно.
Давай по порядку.
1. Расскажи какие кнопки и куда ты хочешь?
2. Что такое списки с <</>> ? И зачем они нужны?
> Тут уже сложность всё-таки вылазит.
Ну если вылезла - значит придумаем как засунуть поглубже ;)
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [sisyphus] I: Пишем модули для alterator [services r/o]
2006-04-18 6:50 ` Stanislav Ievlev
@ 2006-04-18 7:19 ` Michael Shigorin
2006-04-18 13:56 ` Stanislav Ievlev
0 siblings, 1 reply; 7+ messages in thread
From: Michael Shigorin @ 2006-04-18 7:19 UTC (permalink / raw)
To: ALT Linux Sisyphus discussion list
On Tue, Apr 18, 2006 at 10:50:36AM +0400, Stanislav Ievlev wrote:
> > вышла заготовка для alterator-services, но она пока только
> > выдавать список научилась. Как хотя бы примотать кнопки
> > "enable"/"disable", не говоря о двух списках с <</>> между
> > ними (и тем более о поддержке xinetd services, и не заикаясь
> > о возможной поддержке кнопочки "monitored" при наличии monit
> > ;-) -- пока непонятно.
> Давай по порядку.
> 1. Расскажи какие кнопки и куда ты хочешь?
"Для начала" -- две кнопки. У тебя в примерах фигурирует одна
кнопка с woo-write по одному адресу, а как эти сущности
размножаются (ведь нет woo-write2, под которую можно подсунуть
обработчик "write2" в backend3?) -- непонятно.
Наверное, просто недочитал или недопонял прочитанное, но там же
рядом ссылка на "читать про сложнее" была бы в тему.
> 2. Что такое списки с <</>> ? И зачем они нужны?
Ну, "переносилки", как у тебя в Psi в настраивалке тулбаров:
on off
+---+ +---+
| a | | b |
| c | << | e |
| d | >> | |
| | | |
+---+ +---+
> > Тут уже сложность всё-таки вылазит.
> Ну если вылезла - значит придумаем как засунуть поглубже ;)
Порой достаточно пояснить, а то может получиться, что тебе
сложнее будет упрятать сложность и потом пояснить побочные
эффекты, чем мне или другим -- понять её.
Что на Tcl/Tk писать сильно сложнее, чем на Tcl -- помню,
хотя когда столкнулся с некоторыми более другими вариантами,
то за радость вспоминалось ;-)
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [sisyphus] I: Пишем модули для alterator [services r/o]
2006-04-18 7:19 ` Michael Shigorin
@ 2006-04-18 13:56 ` Stanislav Ievlev
2006-04-18 19:27 ` [sisyphus] I: Пишем модули для alterator [services r/?] Michael Shigorin
2006-04-18 19:38 ` [sisyphus] I: Пишем модули для alterator [services r/o] Michael Shigorin
0 siblings, 2 replies; 7+ messages in thread
From: Stanislav Ievlev @ 2006-04-18 13:56 UTC (permalink / raw)
To: shigorin, ALT Linux Sisyphus discussion list
On Tue, Apr 18, 2006 at 10:19:45AM +0300, Michael Shigorin wrote:
> On Tue, Apr 18, 2006 at 10:50:36AM +0400, Stanislav Ievlev wrote:
> > > вышла заготовка для alterator-services, но она пока только
> > > выдавать список научилась. Как хотя бы примотать кнопки
> > > "enable"/"disable", не говоря о двух списках с <</>> между
> > > ними (и тем более о поддержке xinetd services, и не заикаясь
> > > о возможной поддержке кнопочки "monitored" при наличии monit
> > > ;-) -- пока непонятно.
> > Давай по порядку.
> > 1. Расскажи какие кнопки и куда ты хочешь?
>
> "Для начала" -- две кнопки. У тебя в примерах фигурирует одна
> кнопка с woo-write по одному адресу, а как эти сущности
> размножаются (ведь нет woo-write2, под которую можно подсунуть
> обработчик "write2" в backend3?) -- непонятно.
Ну как кнопки размножаются я думаю понятно - повторением конструкции (button ...)
А какие действия размножить хочется?
>
> Наверное, просто недочитал или недопонял прочитанное, но там же
> рядом ссылка на "читать про сложнее" была бы в тему.
>
> > 2. Что такое списки с <</>> ? И зачем они нужны?
>
> Ну, "переносилки", как у тебя в Psi в настраивалке тулбаров:
>
> on off
> +---+ +---+
> | a | | b |
> | c | << | e |
> | d | >> | |
> | | | |
> +---+ +---+
Ну можно посмотреть как это сделано в standalone или alterator-xkb
Есть операции для удаления и добавления элементов с список.
Первая зовётся как (<имя listbox> remove <номер строки>)
Вторая (<имя listbox> append-row <текст или текст с картинкой>)
Старое имя, которые ещё присутствуют в standalone: append-item.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [sisyphus] I: Пишем модули для alterator [services r/?]
2006-04-18 13:56 ` Stanislav Ievlev
@ 2006-04-18 19:27 ` Michael Shigorin
2006-04-18 19:38 ` [sisyphus] I: Пишем модули для alterator [services r/o] Michael Shigorin
1 sibling, 0 replies; 7+ messages in thread
From: Michael Shigorin @ 2006-04-18 19:27 UTC (permalink / raw)
To: ALT Linux Sisyphus discussion list
[-- Attachment #1: Type: text/plain, Size: 2841 bytes --]
update: при помощи lioka допетрил, как бы на свои две кнопочки
чего повесить -- примерно так:
; это заведомо неправильно, т.к. одинаковые списки... потом
(hbox
(document:id enabled (listbox rows (woo-list-names '/services)))
(document:id disabled (listbox rows (woo-list-names '/services))))
(hbox
(button "Disable"
(on-click (woo-write '/services 'command 'disable 'param (enabled text))))
(button "Enable"
(on-click (woo-write '/services 'command 'enable 'param (disabled text)))))
Соответственно разница относительно
(button "Write"
(on-click (woo-write '/services 'param (lb text))))
-- в том, что передаётся дополнительный параметр (чего ж меня
и плющило -- 'param есть синтаксис, библиотека или изменяемое?),
и этот 'command при помощи backend3.sh в шелл-бэкенде можно
забрать как $in_command:
write)
echo "param=$in_param" > ~/tmp/backend-out
echo "command=$in_command" >> ~/tmp/backend-out
Получаем в ~/tmp/backend-out что-нить вроде
param=cups
command=enable
Порой для простоты старта разработки достаточно не упростить,
а доходчиво объяснить на пальцах :)
On Tue, Apr 18, 2006 at 05:56:39PM +0400, Stanislav Ievlev wrote:
> > > > Как хотя бы примотать кнопки "enable"/"disable"
> > > Давай по порядку. 1. Расскажи какие кнопки и куда
> > "Для начала" -- две кнопки. У тебя в примерах фигурирует
> > одна кнопка с woo-write по одному адресу, а как эти сущности
> > размножаются (ведь нет woo-write2, под которую можно
> > подсунуть обработчик "write2" в backend3?) -- непонятно.
> Ну как кнопки размножаются я думаю понятно - повторением
> конструкции (button ...) А какие действия размножить хочется?
Enable и Disable. Любое из них сейчас сделать могу, чуточку
перекрасив Write, а вот два -- не пойму, что синтаксис или
библиотека, а что -- переменная.
> > Наверное, просто недочитал или недопонял прочитанное, но там
> > же рядом ссылка на "читать про сложнее" была бы в тему.
> > > 2. Что такое списки с <</>> ? И зачем они нужны?
> > Ну, "переносилки", как у тебя в Psi в настраивалке тулбаров:
> > on off
> > +---+ +---+
> > | a | | b |
> > | c | << | e |
> > | d | >> | |
> > | | | |
> > +---+ +---+
> Ну можно посмотреть как это сделано в standalone или alterator-xkb
> Есть операции для удаления и добавления элементов с список.
Даже так...
> Первая зовётся как (<имя listbox> remove <номер строки>)
Т.е. надо где-то держать массив, причём всегда и точно
соответствующий тому, что передано, и самому про нему искать?
(не особо страшно, но напрашивается на хотя бы remove text
в тех случаях, когда элементы гарантированно уникальны --
e.g. это пакеты или сервисы)
> Вторая (<имя listbox> append-row <текст или текст с картинкой>)
Спасибо.
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
[-- Attachment #2: services.scm --]
[-- Type: text/plain, Size: 756 bytes --]
(document:surround "/std/frame")
(label "Services")
(vbox(
(label "Enabled")
(document:id enabled (listbox rows (woo-list-names '/services)))))
(vbox(
(label "Disabled")
(document:id disabled (listbox rows (woo-list-names '/services)))))
(hbox
(button "Disable"
(on-click (woo-write '/services 'command 'disable 'param (enabled text))))
(button "Enable"
(on-click (woo-write '/services 'command 'enable 'param (disabled text)))))
(vbox (label "test"))
(groupbox "group" (layout-policy 100 100)
(vbox
(groupbox "group1" (layout-policy -1 50 left))
(groupbox "group2" (layout-policy -1 20))
(groupbox "group3" (layout-policy -1 30 right))))
(frame:buttons-view
(button "Quit" (on-click (document:end))))
[-- Attachment #3: services --]
[-- Type: text/plain, Size: 842 bytes --]
#!/bin/sh
CHKCONFIG=/sbin/chkconfig
INITDIR=/etc/rc.d/init.d
. /usr/share/alterator/build/backend3.sh
on_message()
{
case "$in_action" in
list)
shift; service="$1"
[ "$service" != "/" ] || service="*"
echo '( '
#find -L "$INITDIR" -mindepth 1 -maxdepth 1 -type f -perm +0111 -name "$service" -printf '("%f") ' | sort -r
find -L "$INITDIR" -mindepth 1 -maxdepth 1 -type f -perm +0111 ! -name '*.rpm*' ! -name '*~' -printf '("%f") ' | sort -r
echo ')'
;;
write)
echo "param=$in_param" > ~/tmp/backend-out
echo "command=$in_command" >> ~/tmp/backend-out
echo "()"
;;
esac
}
message_loop
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [sisyphus] I: Пишем модули для alterator [services r/o]
2006-04-18 13:56 ` Stanislav Ievlev
2006-04-18 19:27 ` [sisyphus] I: Пишем модули для alterator [services r/?] Michael Shigorin
@ 2006-04-18 19:38 ` Michael Shigorin
1 sibling, 0 replies; 7+ messages in thread
From: Michael Shigorin @ 2006-04-18 19:38 UTC (permalink / raw)
To: ALT Linux Sisyphus discussion list
[-- Attachment #1: Type: text/plain, Size: 630 bytes --]
On Tue, Apr 18, 2006 at 05:56:39PM +0400, Stanislav Ievlev wrote:
> > > 2. Что такое списки с <</>> ? И зачем они нужны?
> > Ну, "переносилки", как у тебя в Psi в настраивалке тулбаров:
> > on off
> > +---+ +---+
> > | a | | b |
> > | c | << | e |
> > | d | >> | |
> > | | | |
> > +---+ +---+
> Ну можно посмотреть как это сделано в standalone или alterator-xkb
> Есть операции для удаления и добавления элементов с список.
Пока удовольствовался приаттаченным.
Надо бы завтра списки уже сделать разные...
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
[-- Attachment #2: services.scm --]
[-- Type: text/plain, Size: 704 bytes --]
(document:surround "/std/frame")
children-align center
(label "Available Services")
(hbox
(vbox
children-align center
(label "Enabled")
(document:id enabled (listbox rows (woo-list-names '/services)))
(button "Disable"
(on-click (woo-write '/services 'command 'disable 'param (enabled text)))))
(vbox
children-align center
(label "Disabled")
(document:id disabled (listbox rows (woo-list-names '/services)))
(button "Enable"
(on-click (woo-write '/services 'command 'enable 'param (disabled text))))))
;(hbox
; (vbox
; (label "[A1]")
; (label "[A2]"))
; (vbox
; (label "[B1]")
; (label "[B2]")))
(frame:buttons-view
(button "Quit" (on-click (document:end))))
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2006-04-18 19:38 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-04-13 14:58 [sisyphus] I: Пишем модули для alterator Stanislav Ievlev
2006-04-15 19:24 ` [sisyphus] I: Пишем модули для alterator [services r/o] Michael Shigorin
2006-04-18 6:50 ` Stanislav Ievlev
2006-04-18 7:19 ` Michael Shigorin
2006-04-18 13:56 ` Stanislav Ievlev
2006-04-18 19:27 ` [sisyphus] I: Пишем модули для alterator [services r/?] Michael Shigorin
2006-04-18 19:38 ` [sisyphus] I: Пишем модули для alterator [services r/o] Michael Shigorin
ALT Linux Sisyphus discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
public-inbox-index sisyphus
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.sisyphus
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git