На главную

xsMenu

Программу эту я собственно набросал, поскольку меня не совсем устраивала функциональность родного меню крона.

Программа просто сканирует файл nncron.ini, вытаскивает из него имена кронтабов и читает из них задачи. Меню вызывается при щелчке левой кнопкой мыши. Левой же кнопкой задача запускается. Естественно, если у вас сделано собственное меню на левую кнопку, то оно работать не будет. Также не работают балуны (не знаю как верно в данном контексте перевести на русский слово BALLON). Я не знаю будет ли программа верно работать в Terminal Services (скорее всего, не будет).

Указания для группировки задач располагаются в комментариях, так что врядли они будут конфликтовать с существующими словами крона.

Как группируются задачи. Для задания группы используется запись: (** group="имя группы". Если группа определяется за пределами задач, то в неё попадают все задачи, расположенные ниже. Каждой задаче можно назначить индивидуальную группу. Если имя группы начинается с символа '/'(обратный слэш), то текст после него добавляется к текущей группе. Если указана пустая группа или если группа не указана(ни индивидуальная, ни внешняя), то задача помещается в корень меню.

Как выбирается имя для задачи. Если внутри задачи использована запись (** name="имя задачи", то в меню появится именно это имя, иначе действительное имя задачи, стоящее после слова '#('.

Пробел после (** обязателен.

В меню буковка N означает NoActive(задача неактивна), соответственно A - активна.


Если из вышенаписанного кто-то что-то понял, то вам можно пожать руку, я, если честно, не смог бы разобраться на трезвую голову, поэтому пример:

nncron.tab
# (** group=nncron.tab
#( hello
Action: MSG: "hello"
)#

#( CLASSIC-TASK-#-xxx
Time: 0
Action: MSG: "I'm here"
)#

#( dummy
\ (** group=/simple
Action:
)#

#( dummy2
NoActive
\ (** group=/simple
\ (** name=пример чего-то
Action:
)#

#( test-me-now
\ (** group=
Action:
)#

#( kill-all-enemies
\ (** group=xxx
Action:
)#
data.tab
#( reinit
\ (** group=xxx
Action:
)#

#( try-it
\ (** group=
Action:
)#


#( try-one_more
\ (** group=nncron.tab/simple
Action:
)#
Результат







Сама программа не следит за изменением кронтабов, поэтому нужно добавить плагин, тогда при перечитывании кроном задач, xsMenu тоже их перечитает. Этот же плагин нужен, чтобы xsMenu запускалась при старте крона.

Просто скопируйте прогу в папку крона и подключите плагин (если хотите, конечно).

Скачать:
_xsmenu.spf
xsmenu12.rar

На главную
Сайт создан в системе uCoz