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

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

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

Оффлайн sfs

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

Патч OK<->Cancel
« Последнее редактирование: 09 Январь 2016, 18:23:06 от sfs »

Оффлайн DdShurick

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 5049
  • Репутация: +135/-0
  • Старый чайник
Re:yad - построитель GUI для шелл-скриптов
« Ответ #1 : 29 Декабрь 2012, 13:46:32 »
но больше чем у Xdialog
Жаль --buildlist нет.
Cинтаксис похож на Xdialog.
Проще, и при ошибках не "вылетает"
Местами может заменить zenity.
Это и есть переработанный zenity.
Моноблок Lenovo IdeaCentre c200
Netbook Acer 722 c6ckk (AMD C-50 Ontario, Radeon HD 6250)
Nettop Asus Eee Box PC B202 (atom N270, intel GMA 950)

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 568
  • Репутация: +7/-0
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.нетбук  Samsung N145 (оси: Минт17.PRA-midle)
2.стационары  (core-i3,4-16Gb,Radeon R9 280X,Минт17,PRA)

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 18410
  • Репутация: +140/-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

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

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

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 18410
  • Репутация: +140/-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

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

Оффлайн sfs

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

Оффлайн Pro

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

Оффлайн sfs

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

Оффлайн Pro

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

Оффлайн sfs

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

Оффлайн Pro

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

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 18410
  • Репутация: +140/-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

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