* [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