Сайт | Скачать | Видео | Wiki

Автор Тема: yad - построитель GUI для шелл-скриптов  (Прочитано 58920 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
http://code.google.com/p/yad/ http://wiki.puppyrus.org/programming/yad
Рецепты
Аналог gtkdialog, Xdialog.
Функционал меньше чем у gtkdialog, но больше чем у Xdialog
Cинтаксис похож на Xdialog.
Местами может заменить zenity.
yad может выводить в трей.
Документации мало. Вложил примеров. Кто еще найдет - выкладывайте.

Версия 0.42 (последняя gtk2)

Патч OK<->Cancel
yad --notification -image= маленькая иконка в трее

Пример скррипта с треем yadshot-0.2.05-1-x86_64.pkg.tar.xz

Примеры yad-example.tar.gz.  Убрать цифры в скрипте : sed 's/^ \+[0-9]\+ //'
https://github.com/step-/scripts-to-go/blob/master/README.md
« Последнее редактирование: 15 Октябрь 2020, 12:51:37 от sfs »

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re:yad - построитель GUI для шелл-скриптов
« Ответ #1 : 29 Декабрь 2012, 13:46:32 »
но больше чем у Xdialog
Жаль --buildlist нет.
Cинтаксис похож на Xdialog.
Проще, и при ошибках не "вылетает"
Местами может заменить zenity.
Это и есть переработанный zenity.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1611
  • Репутация: +27/-1
Re:yad - построитель GUI для шелл-скриптов
« Ответ #2 : 05 Январь 2013, 21:50:23 »
 простенький пример индикатора прогресса:
Код
#! /bin/bash
COUNTER=0
element_count=400
echo "log" > /tmp/yad-log.txt
while [[ "$COUNTER" -lt "$element_count" ]]; do
  let COUNTER=COUNTER+1
  let "perc=100*COUNTER/element_count"
  sleep 0.002
  echo $perc"%" 
done | tee -a /tmp/yad-log.txt | \
yad --progress --image=gtk-execute --title="Выполнение сценария...." \
    --width 500 --height 50 --auto-close --sticky --text="...." \
    --center --no-buttons
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:yad - построитель GUI для шелл-скриптов
« Ответ #3 : 02 Декабрь 2013, 19:18:39 »
Нельзя вывести кнопку с произвольной надписью и значком. Только из gtk-* набора.
Зато --geometry работает без сюрпризов ( в отличие от gtkdialog)
Для простых задач хорош. Для сложных gtkdialog вне конкуренции

131202
Вышла в.0.24.1. Добавлено
Код
>   --image-path=PATH                           Add path for search icons by name
128a130]   --no-click                                  Disable clickable column headers[/quote]
147a150,151 --auto-close                                Dismiss the dialog when 100% of all bars has been reached   --auto-kill  
 
В трее панели задач по прежнему не появляется
« Последнее редактирование: 03 Декабрь 2013, 13:19:39 от sfs »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:yad - построитель GUI для шелл-скриптов
« Ответ #4 : 16 Декабрь 2013, 17:45:15 »
В трее панели задач jwm по прежнему не появляется
Списался с автором. Он сразу же исправил: yad.gz в шапке
Исправленная версия в его svn
Не ожидал такой скорости реакции

131216 http://wiki.puppyrus.org/programming/yad

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:yad - построитель GUI для шелл-скриптов
« Ответ #5 : 11 Август 2014, 15:09:46 »
Вышла версия 0.27 (аттач в шапке)
2014-04-18 07:50  v1c0nt

        * data/yad.1: update man page

2014-04-18 07:48  v1c0nt

        * po/ru.po, po/uk.po: add --hidden option for notification icon

2014-04-18 07:45  v1c0nt

        * po/ru.po, po/uk.po, src/notification.c, src/option.c, src/yad.h:
          fix tooltip-colimn description

2014-04-15 10:30  v1c0nt

        * data/yad.1, src/main.c: add YAD_XID variable

2014-04-15 04:59  v1c0nt

        * data/yad.1: fix typo in man page
       
2014-04-15 03:49  v1c0nt
       
        * src/option.c: fix build for windows

2014-03-17 16:02  v1c0nt
       
        * src/print.c, src/util.c, src/yad.h:

2014-02-28 11:48  v1c0nt
       
        * src/list.c:
2014-02-27 12:06  v1c0nt

        * src/icons.c: fix markup tooltip in icon dialog

2014-02-27 11:29  v1c0nt

        * src/form.c, src/util.c, src/yad.h: undelete escape_str function

2014-02-27 11:14  v1c0nt

        * configure.ac, src/form.c, src/icons.c, src/list.c, src/option.c,
          src/util.c, src/yad.h: add --tooltip-column option. cleanup
          parsing markup code

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:yad - построитель GUI для шелл-скриптов
« Ответ #7 : 20 Апрель 2015, 09:14:41 »
программа переехала на http://sourceforge.net/projects/yad-dialog/
надо бы исправить в wiki
исправил

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:yad - построитель GUI для шелл-скриптов
« Ответ #8 : 28 Апрель 2015, 04:46:05 »
а как построить меню в трее? точнее как задать команду для выполнения при ПКМ
типа
gtk-ok! "выполнить" echo выполняем
какие разделители поставить не могу понять.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:yad - построитель GUI для шелл-скриптов
« Ответ #9 : 28 Апрель 2015, 09:11:24 »
Вдохновись моими trdo и peasymp3. Писал давно - подробностей не помню.
Чего-то полезное для всех пишешь?

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:yad - построитель GUI для шелл-скриптов
« Ответ #10 : 28 Апрель 2015, 09:43:09 »
я помню что ты писал что разобрался с построением меню, в trdo и т.п. пункты передаются через пайп >3 но мне кажется в простом случае через --menu= должно же задаваться как то.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:yad - построитель GUI для шелл-скриптов
« Ответ #11 : 28 Апрель 2015, 09:55:23 »
Под "разобрался" я имел ввиду, что то, что хотел получилось. Однозначно сказать, что это оптимальный путь не возьмусь. Любые рабочие примеры интересны. Давай добавлять в вики
Может быть добавить про трей что-то в виде шаблона в ntf

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:yad - построитель GUI для шелл-скриптов
« Ответ #12 : 28 Апрель 2015, 10:13:15 »
не ну ты передавал через пайп  3 что-то, попробуй теперь восстановить в своем коде что получилось.
Я понял только что || это в меню будет черта с разделителем.
У меня нет проблемы с названием пунктов и значками (--separator=, --menu=gtk-ok! 1234,gtk-no! 5678 и т.п.) но блин действие при нажатии на меню как вписать, это же самое главное
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:yad - построитель GUI для шелл-скриптов
« Ответ #13 : 28 Апрель 2015, 10:30:22 »
На примере trdo
Меню формируется через $GET_MENU
gtk-open! bash -c PLAYER , где gtk-open - значок+текст ; ! - разделитель внутри пункта; bash -c PLAYER - действие (если это не функция из этого скрипта, а внеш. команда - без bach)
| - разделитель между пунктами (подставляется в MENU_ITEMS)

В твоем примере - действие 1234 и это должен быть внешний скрипт (бинарник)

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:yad - построитель GUI для шелл-скриптов
« Ответ #14 : 28 Апрель 2015, 10:33:53 »
Ну ладно, тогда как произвольный текст задать для пункта?
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.