Форум проекта PuppyRus Linux

Разработки проекта PuppyRus => Программирование и компиляция => Тема начата: sfs от 29 Декабрь 2012, 11:16:13

Название: yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 29 Декабрь 2012, 11:16:13
http://code.google.com/p/yad/ http://wiki.puppyrus.org/programming/yad
Рецепты (http://murga-linux.com/puppy/viewtopic.php?t=97458&start=15)
Аналог gtkdialog, Xdialog.
Функционал меньше чем у gtkdialog, но больше чем у Xdialog
Cинтаксис похож на Xdialog.
Местами может заменить zenity.
yad может выводить в трей.
Документации мало. Вложил примеров. Кто еще найдет - выкладывайте.

Версия 0.42 (последняя gtk2) (http://forum.puppyrus.org/index.php?topic=13414.msg161046#msg161046)

Патч OK<->Cancel (http://forum.puppyrus.org/index.php/topic,15904.msg93085.html#msg93085)
yad --notification -image= маленькая иконка в трее (http://forum.puppyrus.org/index.php?topic=20196.msg136709#msg136709)

Пример скррипта с треем yadshot-0.2.05-1-x86_64.pkg.tar.xz (http://mirror.yandex.ru/puppyrus/2a-aarch64/pkg-repo/2a-any/yadshot-0.2.05-1-x86_64.pkg.tar.xz)

Примеры (https://sanana.kiev.ua/index.php/yad) yad-example.tar.gz.  Убрать цифры в скрипте : sed 's/^ \+[0-9]\+ //'
https://github.com/step-/scripts-to-go/blob/master/README.md
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: DdShurick от 29 Декабрь 2012, 13:46:32
но больше чем у Xdialog
Жаль --buildlist нет.
Cинтаксис похож на Xdialog.
Проще, и при ошибках не "вылетает"
Местами может заменить zenity.
Это и есть переработанный zenity.
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: k0l0p0k от 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
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 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  
 
В трее панели задач по прежнему не появляется
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 16 Декабрь 2013, 17:45:15
В трее панели задач jwm по прежнему не появляется
Списался с автором. Он сразу же исправил: yad.gz в шапке
Исправленная версия в его svn
Не ожидал такой скорости реакции

131216 http://wiki.puppyrus.org/programming/yad
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 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
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 22 Март 2015, 18:37:51
Рецепты (http://murga-linux.com/puppy/viewtopic.php?t=97458&start=15)
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 20 Апрель 2015, 09:14:41
программа переехала на http://sourceforge.net/projects/yad-dialog/
надо бы исправить в wiki
исправил
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: Pro от 28 Апрель 2015, 04:46:05
а как построить меню в трее? точнее как задать команду для выполнения при ПКМ
типа
gtk-ok! "выполнить" echo выполняем
какие разделители поставить не могу понять.
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 28 Апрель 2015, 09:11:24
Вдохновись моими trdo и peasymp3. Писал давно - подробностей не помню.
Чего-то полезное для всех пишешь?
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: Pro от 28 Апрель 2015, 09:43:09
я помню что ты писал что разобрался с построением меню, в trdo и т.п. пункты передаются через пайп >3 но мне кажется в простом случае через --menu= должно же задаваться как то.
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 28 Апрель 2015, 09:55:23
Под "разобрался" я имел ввиду, что то, что хотел получилось. Однозначно сказать, что это оптимальный путь не возьмусь. Любые рабочие примеры интересны. Давай добавлять в вики (http://wiki.puppyrus.org/programming/yad)
Может быть добавить про трей что-то в виде шаблона в ntf
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: Pro от 28 Апрель 2015, 10:13:15
не ну ты передавал через пайп  3 что-то, попробуй теперь восстановить в своем коде что получилось.
Я понял только что || это в меню будет черта с разделителем.
У меня нет проблемы с названием пунктов и значками (--separator=, --menu=gtk-ok! 1234,gtk-no! 5678 и т.п.) но блин действие при нажатии на меню как вписать, это же самое главное
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 28 Апрель 2015, 10:30:22
На примере trdo
Меню формируется через $GET_MENU
gtk-open! bash -c PLAYER , где gtk-open - значок+текст ; ! - разделитель внутри пункта; bash -c PLAYER - действие (если это не функция из этого скрипта, а внеш. команда - без bach)
| - разделитель между пунктами (подставляется в MENU_ITEMS)

В твоем примере - действие 1234 и это должен быть внешний скрипт (бинарник)
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: Pro от 28 Апрель 2015, 10:33:53
Ну ладно, тогда как произвольный текст задать для пункта?
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 28 Апрель 2015, 10:41:11
Точно будет работать если вместо gtk-add написать "Любой текст" (но будет без иконки)
Возможно прокатит : "текст"!имя_иконку!"текст сплэша" - пример см. chpass (c кнопкой так работает)

Не бойся написать автору yad- он русскоязычный и отзывчивый
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: Pro от 28 Апрель 2015, 17:05:07
автор дал ответ:

yad --notification --menu='item name 1!command1|item name 2!command2!icon-name'

формат описания элемента меню - имя[!команда[!иконка]]

разделители можешь назначать через --separator - (|) и --item-separator (!)
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 28 Апрель 2015, 17:26:27
Да - так попроще. Я у буржуев передирал - они как всегда накрутили. Не зря их Дядя Шурик ругает
Добавил в вики
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: Pro от 28 Апрель 2015, 17:29:17
нет, в примерах которые автор приводит у себя на сайте, тоже используется >3
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 09 Январь 2016, 18:23:54
Пропатчил OK<->Cancel и скомпилил yad 0.33 - в шапке
Как скомпилить с ключом --enablr-html и что это даст не понял
Изменения (http://sourceforge.net/p/yad-dialog/code/HEAD/tree/trunk/NEWS)
Со старым не работал http://sourceforge.net/p/yad-dialog/wiki/FindFrontend/
Новые ключи
Код
--help-paned                                Показывать параметры диалога с панелями
--help-picture                              Показывать параметры диалога отображения картинки
--help-filter                               Показывать параметры фильтров диалога выбора файлов
Пока пользы в них не нашел

Добавил в шапку yad-0.33.0_64.pfs
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: ribolovp от 04 Февраль 2016, 09:21:03
Подскажите пожалуйста ключ "--expander=ТЕКСТ"  -Спрятать основной виджет
какие параметры вписать в TEXT ?
вот так пробовал

btn(){ yad --expander=TEXT ;} ; export -f btn ; yad --button=открыть:'bash -c btn'

что бы не писал вместо ТЕКСТ виджет не прячет
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 04 Февраль 2016, 11:37:54
У yad отзывчивый русскоязычный автор. Я спрашивал непонятное у него. По итогу http://wiki.puppyrus.org/programming/yad
Давайте продолжать эту тему
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: ander от 04 Февраль 2016, 23:26:15
--expander - это показать свернутый основной виджет.  А где он у вас?
Например
 yad --list --column="A" --column="B" --expander="list" aaa bbb
покажет свернутый список
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: ribolovp от 05 Февраль 2016, 18:51:57
--expander - это показать свернутый основной виджет.  А где он у вас?
Например
 yad --list --column="A" --column="B" --expander="list" aaa bbb
покажет свернутый список
Покажите пожалуйста пример, где есть основной и не основной виджет
думал окно это и есть виджет и при открытии другого окна то спрячется

Добрые люди покажите пример, где данные постоянно обновляются без закрытия окна
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: ander от 05 Февраль 2016, 19:49:53
Чтобы обновлялось без закрытия - такое не знаю как сделать.
Можно дописывать чего-нибудь в уже открытое текстовое окно или в список, а вот очистить или перезаписать уже заполненное - тут
действительно разве что у автора спрашивать, таких примеров не видел.
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: ribolovp от 05 Февраль 2016, 21:23:18
у автора спрашивать
Написал автору ждем...
Дописывать как знаю, через именной канал
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: ander от 05 Февраль 2016, 23:37:43
дописывать можно просто через стандартный ввод

Кстати, придумал пример с постоянным изменением данных:
Код
while :
do
  date
  date -u
  sleep 1
done | yad --list  --width=400 --height=150 \
           --column=a --column=b --limit=2 --print-all
Принцип в том, чтобы ограничить число строк, тогда новые данные просто вытесняют старые.

Еще пример для --form
Код
while :
do
  date
  date -u
  sleep 1
done | yad --form --cycle-read --field="местное время":RO --field="время UTC":RO
Но этот работает только на 33 версии yad, pfs в шапке темы есть.
Также в мануале 33 версии написано, что если в --form используется --field="надпись":FBTN '@команда'
то вывод команды разбирается и строки, начинающиеся с цифры, подставляются как значения соответствующих номеру --field
Это пока не пробовал.
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: ribolovp от 06 Февраль 2016, 18:20:59
ander все  замечательно получилось, сделал аналог conky
а можно с кнопки обновить? Очень надо!
автору не стал писать, ответов и на первые вопросы нет
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 06 Февраль 2016, 20:15:53
По примерам - а как выйти из этого бесконечного цикла?
сделал аналог conky
Выложите посмотреть
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: ander от 06 Февраль 2016, 22:51:04
По примерам - а как выйти из этого бесконечного цикла?

Да никак, я просто по ^C убивал.  Это же только чтобы показать, как в yad можно окно не закрывая обновить.

Пример с обновлением полей формы запуском команды с кнопки
Код
 
yad --width=300 --height=150 --form \
    --field='местное':RO 'пусто' \
    --field='UTC':RO 'тоже пусто' \
    --field='gtk-refresh':FBTN '@bash -c "echo \"1:$(date)\"; echo \"2:$(date -u)\""'
Но тут кнопку каждый раз нажимать надо.
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: ribolovp от 16 Февраль 2016, 17:30:04
покажите пожалуйста пример для этого ключа

--command=КОМАНДА                           Задать команду-обработчик
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 16 Февраль 2016, 17:35:01
--command=КОМАНДА                           Задать команду-обработчик
netctl-tray в pra
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 17 Февраль 2016, 09:14:39
ничего не понимаю а можно пример?
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: ribolovp от 18 Февраль 2016, 19:08:08
спасибо за netctl-tray.gz примерно понял,
вот еще,  как бороться с таким выводом

 file:///home/igor/%D0%A0%D0%B0%D0%B1%D0%BE%D1%87%D0%B8%D0%B9%20%D1%81%D1%82%D0%BE%D0%BB/%D0%AF%20%D0%BF%D0%BB%D1%8E%D1%8E%20%D0%BD%D0%B0%20%D0%B2%D0%B0%D1%88%D0%B8%20%D0%BC%D0%BE%D0%B3%D0%B8%D0%BB%D1%8B.jpg

все русские буквы в таком виде от "yad --html --print-uri"
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: ander от 18 Февраль 2016, 22:12:56
Я вот так боролся:
Код
qp="file:///home/igor/%D0%A0%D0%B0%D0%B1%D0%BE%D1%87%D0%B8%D0%B9%20%D1%81%D1%82%D0%BE%D0%BB/%D0%AF%20%D0%BF%D0%BB%D1%8E%D1%8E%20%D0%BD%D0%B0%20%D0%B2%D0%B0%D1%88%D0%B8%20%D0%BC%D0%BE%D0%B3%D0%B8%D0%BB%D1%8B.jpg"

echo "$qp" |sed  's|%\([[:xdigit:]]\{2\}\)|\\\\x\1|g' |while read s; do echo -e "$s"; done

Не уверен, что это лучший метод, наверняка есть куча программ, конвертирующих quoted-printable, но по крайней мере
быстро делается и работает.
Принцип такой.  sed своим страшным выражением преобразует всякие '%D0' в '\\xD0', потом read s их читает (при этом в s заносится уже '\xD0'), а такое выражение echo -e уже может вывести в виде символа.  while там на случай, если на входе будет не одна строка, а несколько.
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: ribolovp от 18 Февраль 2016, 23:36:28
Спасибо за помощь,
Ваш вариант работает!
Проверил кодировку текста - utf 8 и открыл для себя страшное слово "urlencoded" , как из одной в другую кодировку перевести
я знаю а как тот же  utf 8 с urlencoded привести в человеческий вид непонятно...
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: ander от 19 Февраль 2016, 11:46:11
А как оно получается и как выглядит?
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: ribolovp от 20 Февраль 2016, 09:58:38
%D0%A0%D0%B0%D0%B1%D0%BE%D1%87%D0

это он и есть utf 8, c методом пост обработки urlencode будет выглядеть по человечески.
пользуются им браузеры  в своих запросах к серверам и тд,

вашим способом перевести получилось, а правильно это или нет, не знаю, может есть способ попроще
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: ribolovp от 21 Февраль 2016, 08:57:37
подскажите, это только у меня такая конструкция не работает         yad 0.33.1 (GTK+ 2.24.23)

cat "/tmp/cover.html" | yad --html

а так работает, но нужно через пайп передать html

yad --html --uri="/tmp/cover.html"
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 21 Февраль 2016, 09:26:24
ПРА64 не работают оба варианта. Это новая фича в  yad 0.33.1 ?
Код
# yad --version
0.33.0 (GTK+ 2.24.28)
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: ribolovp от 21 Февраль 2016, 15:34:09
Видимо новая, запилил на ней смену обложек для кнопок запуска, понял что нужно менять условия поиска
добавил в панель поле ввода, а через пайп передать не могу обновленную страницу картинок не видно
(http://s017.radikal.ru/i433/1602/ce/67967fee7e26t.jpg) (http://radikal.ru/fp/e3d0dfb4fadd4d7e9e101f4be96c7009)
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: drill от 21 Февраль 2016, 16:57:01
Это новая фича в  yad 0.33.1 ?
Впервые появилось в 0.28.0 (от 6 марта 2015). Требует конфигурации:
Код
configure --enable-html
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: ribolovp от 23 Февраль 2016, 17:16:08
В yad --list   есть вот такие ключи

  --sep-column=ЧИСЛО                          Задать колонку разделителя строк
  --sep-value=ТЕКСТ                           Задать значение разделителя строк

ничего не выходит с этими разделителями, "Ошибка сегментирования"
кто знает подскажите какие значения в ЧИСЛО ТЕКСТ поставить а лучше  пример

и есть ли ресурс в нете где описаны ключи YAD и нововведения на русском?
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: ander от 23 Февраль 2016, 18:15:27
Из мануала:
Цитата
  --sep-column=NUMBER                                                           
      Set the row separator column. If the cell value from this column equal to
      specified row separator value such row will be draw as separator.         
      Separator value must be set.                                             
  --sep-value=TEXT                                                             
      Set the TEXT as a row separator value. This feature highly depends on     
      your current GTK+ theme and may not work properly.

Пример:
Код
echo 'aaa
bbb
ccc
ddd
eee
fff
ggg
hhh
iii
'|yad --list --width=150 --height=150 \
      --column=a --column=b --column=c \
      --sep-column=1 --sep-value="ddd"
Как видите, по идее там должно быть три строки, но поскольку в первой колонке второй строки значение совпало с sep-value, эта строка превратилась в сепаратор.

Работает только на 0.33, для чего можно применить, не знаю.
Название: Re:yad - построитель GUI для шелл-скриптов
Отправлено: ribolovp от 23 Февраль 2016, 22:59:50
Спасибо за объяснения, думал все немного по другому,
 гугл переводчик выдает сплошные загадки... :-[
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: ribolovp от 04 Март 2016, 09:43:39
подскажите как сменить шрифт в  yad --text-info а точнее нужно немного увеличить
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: ander от 04 Март 2016, 12:05:34
Например, yad --text-info --fontname="Sans 20"

Чтобы подобрать нужный шрифт можно запустить yad --font, выбрать там, что понравится, а он имя шрифта на вывод выдаст.
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: ribolovp от 08 Март 2016, 08:51:50
Вот еще вопрос, куда подевалась переменная $Y
Код
#!/bin/bash
for X in 10 20 30 40 50 60 70 80 90 100
do
echo $X%
Y=$[$Y+1]
sleep 1
done | yad --progress
echo $Y
но если без " yad --progress"  то все нормально
и еще, можно ли как нибудь сделать чтоб и " yad --progress" бало видно и исполнение скрипта
"echo $X% "
Пока копаюсь в сторону "tee"
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: ander от 14 Март 2016, 10:16:26
Вот еще вопрос, куда подевалась переменная $Y
Это известный прикол, в мануале на bash  ясно сказано, что конвейеры выполняются в подоболочке, то есть все переменные в них получаются локальными - конвейер закончился, они и пропали.  Соответственно, использовать их можно только до выхода из конвейера.  Например:
Код
#!/bin/bash
{ for X in 10 20 30 40 50 60 70 80 90 100
do
echo $X%
echo $X% >&2
Y=$[$Y+1]
sleep 1
done
echo $Y >&2; } | yad --progress
Цикл вместе с последующим выводом Y заключен в блок, стандартный вывод блока перенаправлен в yad, а вывод Y делается в stderr, туда же можно отправить и копию X.
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: ribolovp от 14 Март 2016, 18:10:12
Спасибо! Теперь выполнение скрипта вижу,  а переменная все равно потерялась  :(
можно ли её экспортировать? Может не правильно выразился, скрипты пишу не так давно,
в общем, пока её записываю  во временный файл а далее вызываю Y=$(cat /tmp/Y)
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: ander от 16 Март 2016, 10:04:56
Экспортировать бесполезно, она все равно останется локальной.
Что вообще значит "экспорт переменной"?  У каждого запущенного процесса есть свой набор переменных окружения.  Запускаем мы из скрипта какую-нибудь программу - этой программе будет передана область памяти с копиями всех экспортированных переменных.
А что значит "выполняется в подоболочке"?  Да почти то же самое.  Запускается еще несколько экземпляров bash, и уже они выполняют каждый свою команду из конвейера.  Но поскольку тут явного вызова нет, (fork без exec) то ему достаются копии всех переменных, не только экспортированных.  Но именно копии переменных!  Как только подоболочка завершилась, эти копии в любом случае потеряются.
А почему так делается?  Да потому что для перенаправления вывода одной команды на ввод другой они должны выполняться одновременно, то есть выполняться они будут двумя разными копиями bash - подоболочками.
В вашем примере, запустил bash скрипт, а там сразу перенаправление.  Тут же запустились еще две копии bash, первая пошла выполнять цикл, а вторая yad.  Но после того, как подоболочка, выполняющая цикл, завершилась, все ее переменные, разумеется, пропали.  Существуют они только до " | ", поэтому, когда я поставил echo $Y >&2 до " | ", то Y вывелся.
То есть, нужно сделать так, чтобы все использование переменной Y происходило в одной подоболочке, до перенаправления вывода конвейером.
Или есть еще такой метод (возможно, не во всех версиях сработает, у меня работает нормально):
Код
#!/bin/bash                                                                     
exec 3> >(yad --progress)                                                       
Y=0                                                                             
for X in 10 20 30 40 50 60 70 80 90 100.                                       
do                                                                             
echo $X% >&3                                                                   
Y=$[$Y+1]                                                                       
sleep 1                                                                         
done                                                                           
echo Y=$Y
exec 3> >(yad --progress) означает "открыть в текущем интерпретаторе дескриптор 3 на запись и перенаправить его в отдельно запущенный процесс  yad, где он будет стандартным вводом"
Довольно мудрено выглядит, но зато позволяет избавиться от конвейера, в результате все остальное будет выполняться в текущей оболочке и переменные не потеряются.  Все, что нужно отправить в yad в этом случае надо писать в 3 дескриптор: echo $X% >&3
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: ribolovp от 17 Март 2016, 18:12:25
Спасибо! Это то что нужно и благодарен за объяснения, такую конструкцию встречал но не знал как работает
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: ribolovp от 09 Ноябрь 2016, 16:45:42
Прошу подсказки,
Вот в этом примере:
yad --notification  --text="test" --command="gedit"
нужно при клике лкм запустить программу "gedit"  и закрыть диалог оповещения "иконку в трее",
какую команду дописать в поле "--command=?"
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 09 Ноябрь 2016, 17:07:39
http://wiki.puppyrus.org/programming/yad#notification
Разберите /usr/local/netctl-tray из PRA
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: ribolovp от 09 Ноябрь 2016, 18:18:02
/usr/local/netctl-tray
e меня по этому пути  нет  netctl-tray --> ос linuxmint 17.3
вопрос только в комманде которая закроет этот значёк.
Попробую пояснить,  Скрипт проверяет почту при наличии новых
писем запускается yad --notification, и при клике лкм открывается браузер с адресом почты,
так-как почта прочитана индикатор не нужен

http://wiki.puppyrus.org/programming/yad#notification  --> здесь нет такого примера
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 10 Ноябрь 2016, 09:10:41
Разберите /usr/local/netctl-tray из PRA
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 10 Ноябрь 2016, 10:35:50
Скрипт проверяет почту при наличии новых
писем запускается yad --notification, и при клике лкм открывается браузер с адресом почты,
так-как почта прочитана индикатор не нужен
http://zenway.ru/page/mailtc#cut
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: ribolovp от 10 Ноябрь 2016, 16:37:03
http://zenway.ru/page/mailtc#cut
Готовые решения не интересны, пилю своё...
Может какой нибудь форум подскажете где задать вопросы по YAD
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 10 Ноябрь 2016, 16:41:09
Ну так разберите мой скрипт. Там есть ЛКМ. Убить - командой в сокет или pkill
https://plus.google.com/u/0/+VictorAnanjevsky
http://murga-linux.com/puppy/viewtopic.php?t=97458
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: ribolovp от 17 Ноябрь 2016, 10:24:23
Автор ответил нужно добавить команду "kill $YAD_PID "
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: ribolovp от 22 Ноябрь 2016, 21:36:26
yad --notification  --text="test" --command="gedit"
нужно при клике лкм запустить программу "gedit"  и закрыть диалог оповещения "иконку в трее"

добавить нужно kill $YAD_PID

но лучше это дело оформить функцией и дергать уже ее, т.к. gedit надо запускать в фоне.
Код
#! /bin/bash 

function run_gedit {
    gedit &
    sleep 0.5
    kill -USR1 $YAD_PID
}
export -f run_gedit

yad --notification --command='bash -c run_gedit'

Это ответ автора ↑

себе сделал без вызова функции:
yad --notification  --text="test" --command='bash -c "gedit & kill $YAD_PID"'

в вики (http://wiki.puppyrus.org/programming/yad?&#%D0%B7%D0%BD%D0%B0%D1%87%D0%BE%D0%BA_%D0%B2_%D1%82%D1%80%D0%B5%D0%B5_%D1%81_%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%BE%D0%BC_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B)
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 23 Ноябрь 2016, 10:17:49
yad --notification  --text="test" --command='bash -c "gedit & kill $YAD_PID"'
Так работает. Значит это встроенная переменная. Это упрощает написание кода
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: dummy от 16 Апрель 2017, 09:41:09
При обработке фотографий появилась нужда в диалоге для редактирования их очередности. Вот очень хотелось бы передвигать их наглядным образом мышкой (drag-n-drop) в текстовом списке или, например, в списке иконок. Есть варианты такое сделать самому?
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 16 Апрель 2017, 09:56:13
Я такого не делал. Больше на форуме писателей на yad не просматривается. В итоге - лучше спросить у автора yad или на мурге и продублировать ответ сюда
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: Pro от 28 Август 2017, 09:52:28
версия 0.39 для х32 с патчем ОК-Cancel
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 29 Август 2017, 11:21:05
версия 0.39 для х32 с патчем ОК-Cancel
Не нашел на фтп
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: Pro от 29 Август 2017, 14:03:49
Она здесь в шапке темы
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: Pro от 08 Сентябрь 2017, 09:36:58
bt-obex выдает проценты в одной строке, не могу выловить их чтобы передать yad --progress, grep не отлавливает, чем еще можно?
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 08 Сентябрь 2017, 10:24:53
awk ;sed
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: Pro от 08 Сентябрь 2017, 10:32:40
думается мне что дело сложнее. генерируется добавляющаяся строка вида:
transfer:111.mp3 Progress:     0%^H^H^H^H  0%^H^H^H^H  1%^H^H^H^H 1%^H^H^H^H  2%^H^H^H^H  2%^H^H^H^H

т.е. ^H спецсимволы (08H) вставляются, и строка постоянно добавляется видимо, а возможно даже что посимвольно добавляется т.е. каждую секунду по одному ^H а потом 1%
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: drill от 09 Сентябрь 2017, 03:22:44
Pro, а если так?
Код
... | tr '\b' '\n' | sed '/%/!d' | ...
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: Pro от 09 Сентябрь 2017, 16:45:25
Проверю в понедельник
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: Pro от 15 Сентябрь 2017, 07:28:54
Pro, а если так?
Код
... | tr '\b' '\n' | sed '/%/!d' | ...
первая часть отрабатывает tr '\b' '\n' выводятся числа с процентами в терминал построчно, НО дальше конвейер почему-то не работает О_О. даже если просто сделать:
 ... | tr '\b' '\n' > /err.log
то лог пустой! куда деваются цифры непонятно.
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: drill от 15 Сентябрь 2017, 07:52:01
Может быть, выдача едет не в stdout, а в stderr. Попробуй там, где заканчивается команда (где первое троеточие) добавить

2>&1
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: Pro от 15 Сентябрь 2017, 09:23:02
Может быть, выдача едет не в stdout, а в stderr. Попробуй там, где заканчивается команда (где первое троеточие) добавить

2>&1
пробовал. не то.
Я подозреваю что tr не отдает данные в пайп пока не будет получен конец строки из предыдущего пайпа. Но на экран то он строки выводит, хотя если делаю перенаправление, то строк не видно на экране и в файл они тоже не летят. Мистика.
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: Pro от 15 Сентябрь 2017, 10:27:41
ПОБЕДИЛ!
... | stdbuf -o0 tr -s '\b' '\n' | stdbuf -o0 tr -d [:blank:] | yad --progress
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: drill от 15 Сентябрь 2017, 10:42:10
Про stdbuf я что-то не слышал :) Но вообще поздравляю.

Пока в голову пришёл такой вариант. Предварительно задать

IFS=$'\b'

Весь фильтр заменить одной командой

grep '%'

По окончании сбросить IFS

unset IFS
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: Pro от 15 Сентябрь 2017, 12:24:51
Grep не срабатывает, он со строками же работает.
Меня больше волнует не просочатся ли цифры из названия файла, не успел проверить, в понедельник только.

tr -d бы такой чтобы только проценты пропускал  или может что-то типа "обрезать все от начала строки до знака %"
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: drill от 15 Сентябрь 2017, 14:03:02
С процентами проблем быть не должно. Если мне не изменяет память (а писал я такой прогресс бар давно, года 3-4 назад), то Yad сам игнорирует всё лишнее.

Ага, вот из мана: https://www.freebsd.org/cgi/man.cgi?query=yad&sektion=1&manpath=freebsd-release-ports

When  the  --progress  option is   used, yad reads   lines of progress data from stdin.  When the lines begin with #   the text after # is  displayed    in  the   progress  bar label. Numeric values treats like   a persents for
       progress   bar.
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: Pro от 15 Сентябрь 2017, 14:21:27
Вот именно что цифры он и отлавливает и будет ситуация когда в названии песни или каталога цифры 4, 7 и т.п. То шкала прогресса у yad станет сначала на эти 4, потом вернётся обратно на 1 процент.

 Я типа того попробовал задав цикл for со счетчиком и подав цифры на yad.
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 28 Июнь 2018, 11:00:22
Цитата
12 марта 2018 г., 13:12 пользователь sfs  написал:
    gtk3
    yad --text "длинная строка"
    Не переносит строки и оставляет свободное место между текстом и нижними кнопками.

добрый день. со свободым местом - это действительно баг, в ближайшее время подправлю, а для переноса достаточно добавить параметр --width
Автор исправил
yad-gtk2-0.40.90-1-x86_64.pkg.tar.xz (ftp://ftp.yandex.ru/puppyrus/puppyrus-a64/pra64-07/pkg/pra6407extra/yad-gtk2-0.40.90-1-x86_64.pkg.tar.xz)
yad-gtk3-0.40.90-1-x86_64.pkg.tar.xz (ftp://ftp.yandex.ru/puppyrus/puppyrus-a64/pra64-07/pkg/pra6407extra/yad-gtk3-0.40.90-1-x86_64.pkg.tar.xz)
030-gtk3-3.22.26-1-180101-sf08.pfs (ftp://ftp.yandex.ru/puppyrus/roll/180101/030-gtk3-3.22.26-1-180101-sf08.pfs)
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 02 Июль 2018, 10:08:31
yad-gtk3-0.40.90-1-x86_64.pkg.tar.xz
Но перестало работать --geometry
Напишу автору
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 24 Август 2018, 12:28:06
OVS tint (http://forum.puppyrus.org/index.php?topic=20442.msg146848#msg146848)
Про гуи на yad - проблема в yad-gtk3. Под gtk2 все ок
Про геометрию написал автору. Пока не исправил. Вообще он не любит gtk3
Если так и не поправит - с шириной можно побороться
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 26 Февраль 2019, 15:55:50
перестало работать --geometry
Починили
https://github.com/v1cont/yad/commit/d0021d0df8cc959caba7b49b50ba8f11873e392e
yad-gtk2-0.42.0-1-x86_64.pkg.tar.xz (ftp://ftp.yandex.ru/puppyrus/puppyrus-a64/pra64-07/pkg/pra6407extra/yad-gtk2-0.42.0-1-x86_64.pkg.tar.xz)
yad-gtk3-0.42.0-1-x86_64.pkg.tar.xz (ftp://ftp.yandex.ru/puppyrus/puppyrus-a64/pra64-07/pkg/pra6407extra/yad-gtk3-0.42.0-1-x86_64.pkg.tar.xz)
030-gtk3-3.22.26-1-180101-sf10.pfs (ftp://ftp.yandex.ru/puppyrus/roll/180101/030-gtk3-3.22.26-1-180101-sf10.pfs)
089-prar-upd-180101-sf51.pfs (ftp://ftp.yandex.ru/puppyrus/roll/180101/089-prar-upd-180101-sf51.pfs)
Убрал костыли в setman
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 06 Сентябрь 2019, 17:08:18
Обновился до yad 4.1 Теперь только gtk3.22
В pra09 пытался использовать - на кнопках не работает
Код
yad --button=gtk-add
Т.е. вместо вывода иконки и текста "Добавить" - только текст gtk-add
Похоже фича , а не глюк
gtk stock items not used anymore. instead there are some yad predefined names. details can be found in man page (https://github.com/v1cont/yad/blob/master/NEWS)
-button=IBUTTON:IDP
Add the dialog button. May be used multiple times. IIDP is an exit code or a command.
\fIBUTTON\fP may be a yad stock item name for predefined buttons (like yad-close or yad-ok) or text in a form
\fILABEL[!ICON[!TOOLTIP]]\fP where `!' is an item separator.
Т.е. теперь надо вместо gtk-add - yad-add
Код
yad-about@About@help-about
yad-add@Add@list-add
yad-apply@Apply@gtk-apply
yad-cancel@Cancel@gtk-cancel
yad-clear@Clear@document-clear
yad-close@Close@window-close
yad-edit@Edit@gtk-edit
yad-execute@Execute@system-run
yad-no@No@gtk-no
yad-ok@OK@gtk-ok
yad-open@Open@document-open
yad-print@Print@document-print
yad-quit@Quit@application-exit
yad-refresh@Refresh@view-refresh
yad-remove@Remove@list-remove
yad-save@Save@document-save
yad-search@Search@system-search
yad-settings@Settings@gtk-preferences
yad-yes@Yes@gtk-yes
По итогу чтения - новое :
--keep-icon-size Не масштабирует значки. Эта опция влияет на значки вне темы значков

Т.к. в gtk2 версии такое не работает - универсально надо писать
Код
yad --button="Добавить!gtk-add"
Переписывать лениво. Пока посижу на 042
yad-gtk2-0.42.1-2-x86_64.pkg.tar.xz (ftp://ftp.yandex.ru/puppyrus/puppyrus-a64/pra64-07/pkg/pra6407extra/yad-gtk2-0.42.1-2-x86_64.pkg.tar.xz)
yad-gtk3-0.42.1-2-x86_64.pkg.tar.xz (ftp://ftp.yandex.ru/puppyrus/puppyrus-a64/pra64-07/pkg/pra6407extra/yad-gtk3-0.42.1-2-x86_64.pkg.tar.xz)
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 08 Сентябрь 2019, 09:41:26
на git есть и gtk2 ветка yad. Обновляется вроде.
Там 0.40.0 - 7 мес. не обновляется
Ее и переименовали (https://github.com/v1cont/yad/commit/0932ee239e1ded4a419994c930256e831f739a51) в 0.40.1 и похоже, на этом все
Заканчивается gtk2 везде потихоньку...
Если в palemoon сольют - финищ
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: knn от 25 Декабрь 2019, 19:30:24
заметил - у Яд-овского ГУЯ-Выбора-файлов есть "контекст-по-ПКМ" (- по крайней мере на "yad   --version = 5.0 (GTK+ 3.24.13)")
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 26 Декабрь 2019, 11:57:07
Где и как это можно использовать?
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: Pro от 26 Декабрь 2019, 12:50:58
Например добавить в меню пункт удалить, переименовать, и т.п.
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: knn от 26 Декабрь 2019, 17:04:22
Например добпвить в меню пункт удалить, переименовать, и т.п.
- не знаю возможно ли такое добавить  в Yad ( в xdialog - такое есть :)).
----------------------
подразумевал - в Yad контекст-по-ПКМ-на-выбираемом-файле - там: "показать скрытые"(+ другие параметры отображения), "открыть в ф/м", "копировать адрес".

На фоне того, что в "одном скрипте не срасталось" - грешил на Yad, и решил окончательно развернуться в сторону dialog/Xdialog.

## правда оказалось - косяк был "лично мой".
Суть косяка - сам когда-то очистил дирректорию откуда собирался выбирать файлы.

! НО Yad - в этом случае выкидывал на $HOME/ (что и ввело в заблуждение),
а вот Xdialog и dialog - нормально показали пустой каталог.
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 27 Декабрь 2019, 09:26:20
Например добавить в меню пункт удалить, переименовать, и т.п.
кто-нибудь может привести пример кода?
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: Pro от 27 Декабрь 2019, 09:54:11
видиом нет потому что я не правильно понял про что ПКМ
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 22 Январь 2020, 12:11:51
нужно при клике лкм запустить программу "gedit"  и закрыть диалог оповещения "иконку в трее"
yad --notification  --text="test" --command='bash -c "gedit & kill $YAD_PID"'
Пожалуй, так не совсем корректно
Код
yad --notification  --text="test" --command='bash -c "(gedit &) ; kill $YAD_PID"'
Если надо чтобы gedit запустился и yad в трее убился

'bash -c "gedit  && kill $YAD_PID"' - чтобы yad в трее убился после закрытия gedit

Добавил в вики (http://wiki.puppyrus.org/programming/yad?&#%D0%B7%D0%BD%D0%B0%D1%87%D0%BE%D0%BA_%D0%B2_%D1%82%D1%80%D0%B5%D0%B5_%D1%81_%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%BE%D0%BC_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B)
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 28 Июль 2020, 17:26:47
Пример скррипта с треем yadshot-0.2.05-1-x86_64.pkg.tar.xz (http://mirror.yandex.ru/puppyrus/2a-aarch64/pkg-repo/2a-any/yadshot-0.2.05-1-x86_64.pkg.tar.xz)
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: suspended от 12 Октябрь 2020, 19:56:40
Привет. Позвольте мой скромный вклад опубликовать. Это интерфейс для монтирования образов дисков через gui yad.
yad img mount - unmount.sh (https://m.vk.com/doc156168682_570147019)
В этом посте скрины:
группа Вконтакте (https://m.vk.com/wall-33847957_317580)
Правда тут слабо реализован "механизм" вызова root прав, и я буду рад советам по любому улучшению.
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: DdShurick от 12 Октябрь 2020, 20:00:13
 Посмотрел: GUI работает, но сильно наворочено, монтирование не работает. Проверял в Richy и prar2008.
Помнится в Jeans монтирование производилось кликом по *.iso, *.sfs, .... , захотел посмотреть что внутри - кликнул, и всё.
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 14 Октябрь 2020, 10:59:15
монтирование не работает
3й вариант с mount работает. 1,2 не с чем проверить и мне не актуально
В составе pfs-util есть pfs-mnt , но без размонтирования
в Jeans монтирование производилось кликом по *.iso, *.sfs, .... , захотел посмотреть что внутри - кликнул, и всё.
В ярлыке pfs-mnt.desktop прописаны нужные расширения - будет работать в любом ФМ, поддерживаюшим mime

Гуй : поля можно расположить в 2 ряда - будет логичнее и красивее
По итогу монтирования хорошо бы вывести сообщение. Для такого хорошо подойдет мой ntf
Кнопки монтирования я бы вынес вниз

Очень хорошо, что у нас появился программер на yad. Не останавливайтесь +
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: DdShurick от 14 Октябрь 2020, 11:57:18
По итогу монтирования хорошо бы вывести сообщение.
Как они раздражают, эти твои сообщения.
Очень хорошо, что у нас появился программер на yad.
А чего хорошего? Xdialog был богаче, и совместим с dialog (консольным), да умер. Yad уйдёт туда же.

Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: k0l0p0k от 14 Октябрь 2020, 18:47:36
Позвольте мой скромный вклад опубликовать. Это интерфейс для монтирования образов дисков через gui yad.
gui работает, но:
утилиток fuseiso и udisksctl в той системе что использую - ddr01 - нет, соответственно функции использующие их неработоспособны, да и не нужны наверное(имхо) - для монтирования ISO достаточно стандартного mount
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: DdShurick от 14 Октябрь 2020, 20:45:13
для монтирования ISO достаточно стандартного mount
Через mime можно простым кликом по файлу. Во всяком случае у меня в rox работает.
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: betcher от 15 Октябрь 2020, 04:19:59
Несколько лет назад делал пкм меню для магос. Предполагались некоторые действия требующие отмены. Монтирование исо, xzm. Шара папки по nfs,ftp,smb и так далее. Проблема в том, что для инициации действия нужно кликнуть по файлу или папке пкм и выбрать нужное в меню, а вот куда кликать для остановки ftp или размонтирования совершенно не очевидно.
В итоге придумалась такая схема. Скрипт выполняет нужные действия и выводит окошко:
"Файл бла-бла.исо смонтирован в папку бла-бла в текущем каталоге. Для размонтирования закройте это окошко".
Пока окошко открыто скрипт приостановлен, призакрытии окна скрипт размонтирует как было и удаляет точку монтирования.
С шарами по той же схеме.
Решение может и странное, но удобное и простое.
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: k0l0p0k от 15 Октябрь 2020, 06:27:00
Через mime можно простым кликом по файлу
в ddr01(PCManFM) аналогично, но оно ж не само монтируется, под капотом эту работу кто-то выполняет
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: k0l0p0k от 15 Октябрь 2020, 06:36:46
Скрипт выполняет нужные действия и выводит окошко:
"Файл бла-бла.исо смонтирован в папку бла-бла в текущем каталоге. Для размонтирования закройте это окошко".
можно без лишнего окошка - первый двойной клик - смонтировали, повторный - размонтировали.
Хотя нет - лучше все же уведомить пользователя, что смонтировалось и сообщить что для размонтирования достаточно кликнуть еще раз
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: knn от 15 Октябрь 2020, 06:46:58
Цитата: DdShurick от Вчера в 20:45:13
Через mime можно простым кликом по файлу
в ddr01(PCManFM) аналогично, но оно ж не само монтируется, под капотом эту работу кто-то выполняет
- в rox-е вроде - mount и выполняет (~/.config/rox.sourceforge.net/ROX-Filer/Options)...
  Как понимаю - в д.Шуриковском монтировании "фишка" в "динамическом фстаб" [# подразумевается "комплект поставки"]. который 'в полной мере успешно' применять по определенным причинам возможно только на фругалах.
  На фругале мне нравится (раньше пробовал и на IceArch-фругальных-запусках применял [для рокса]).
- ? ... правда другими к.-либо ф/м-ми "такое" делать не пробовал ... навскидку - достаточновероятно
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: krasnyh от 15 Октябрь 2020, 08:12:30
Версия 0.42 (последняя gtk2)
Версия yad в PRA безнадежно замерзла, в то время как для gtk3 развивается семимильными шагами https://github.com/v1cont/yad/blob/master/NEWS.

Дополнительные примеры (https://sanana.kiev.ua/index.php/yad#urxvt) использования в шапку/вики от автора.
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: k0l0p0k от 15 Октябрь 2020, 09:46:08
в rox-е вроде - mount и выполняет
это и подразумевал
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 15 Октябрь 2020, 10:01:17
Шара папки по nfs,ftp,smb
У меня для этого отдельный гуй mount-net (в модуле premote)
Отмонтирование вроде, делал в гуе монтирования разделов ymount . Отмонтирование iso можно туда же. Монтирование , кстати тоже
Тут главное понять - кому и для чего это нужно
Думаю, тем , кто не сделает это в консоле - вообще не нужно

Для размонтирования закройте это окошко".
Жесть. Уж тогда бы в трей
    Через mime можно простым кликом по файлу
в ddr01(PCManFM) аналогично, но оно ж не само монтируется, под капотом эту работу кто-то выполняет
Жирный gvfs или легкий pup-volume-monitor

Версия yad в PRA безнадежно замерзла
Да. Надо поизучать. Подключайтесь
теперь надо вместо gtk-add - yad-add
Переписывать лениво. Пока посижу на 042
Обновить не сложно. На yad много завязано. Можно это сломать. Правильно будет добавить новый yad , как yad-gtk3 и так и вызывать его в скриптах, где используются новые фичи
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: betcher от 15 Октябрь 2020, 10:20:27
Жесть. Уж тогда бы в трей
Не стандартно, тут согласен. Но достаточно удобно. Для ftp в этом же окошке выводится адрес по которому подключаться. Для nfs,smb команда целиком.  Да и с монтированием норм, не потеряется, а то через пару часов работы можно и не вспомнить что и куда смонтировано. Вот отмонтирование по пкм - точно жесть, у них ведь нет  особого mime типа, к чему цеплять скрипт?
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: DdShurick от 15 Октябрь 2020, 11:19:31
Цитата: sfs от Сегодня в 10:01:17
Жесть. Уж тогда бы в трей
Не стандартно, тут согласен. Но достаточно удобно.
В классическом Puppy примонтированные разделы выводились на рабочий стол. Удобно.
Вот отмонтирование по пкм - точно жесть
Согласен.
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: k0l0p0k от 15 Октябрь 2020, 11:41:44
у себя я все примонтированное вижу в /mnt - и разделы, и ISO, и ПФС - и удобно и не забудешь что куда смонтировано.
И рабочий стол чистый, ненужной инфой незахламлен
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 15 Октябрь 2020, 11:51:28
2.core2duo,4Gb,Radeon HD7850,(ubuntu+openBox+LXPanel, ddr01)
Чем обусловлен такой выбор для такого железа?
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 15 Октябрь 2020, 12:42:10
https://github.com/v1cont/yad/blob/master/NEWS.
Почитал. Ничего такого, чтобы захотелось не нашел
Примеры добавил в шапку. На 0.42 версии yad работают кроме 2
Еще примеры https://github.com/step-/scripts-to-go/blob/master/README.md
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: k0l0p0k от 15 Октябрь 2020, 14:01:40
Чем обусловлен такой выбор для такого железа?
"легкостью" системы - практически все ресурсы достаются приложениям
ну и плюс надежность
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: Ekim от 29 Январь 2021, 15:23:26
Простой скрипт,

#!/bin/sh
ifconfig usb0 up
udhcpc -i usb0
exit

но нужно выполнить от root. Как оформить запрос на ввод пароля su?
   
 
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: krasnyh от 29 Январь 2021, 15:45:43
В скрипте (https://wiki.puppyrus.org/setups/wi-fi#%D0%B2%D1%81%D0%B5_%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%BC) DdShurick:
if [ $(whoami) = root ]; then
...
fi
else
echo "У вас нет прав на выполнение wifiup, нужны права root"
fi


Цитата
$ wifi-ds.sh   
У вас нет прав на выполнение wifiup, нужны права root


В pfsload от betcher конструкция allow_only_root, но не понятно как это работает если нигде не задано. )
Цитата
$ pfsload iftop-1.0pre4-3.pfs
Only root can run /usr/local/bin/pfsload
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: krasnyh от 29 Январь 2021, 15:52:18
нигде не задано
Код
$ grep -A4 allow_only_root /usr/local/bin/pfs   
allow_only_root() {
    if [ "0$UID" -ne 0 ]; then
        exitmsg "Only root can run $0" -1
    fi
}
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: Ekim от 29 Январь 2021, 16:11:55
Я здесь немного поковырялся в инете нашел несложный вариант

#!/bin/sh
echo -n "Enter password for sudo rights: "
read -s pass

echo $pass | sudo -S 'ifconfig usb0 up | udhcpc -i usb0'

exit

Но как в YAD завернуть то  ?
У DdShurick  под gtk2 писан  gui, как я понимаю.

если что извиняйте, я в этом деле совсем зеленый ) 
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: krasnyh от 29 Январь 2021, 16:22:04
А надо ли такую конструкцию? Если visudo настроен на "всегда спрашивать пароль", то и не надо ничего придумывать.


Выполнение команды sudo мой_скрипт.sh запросит пароль.


Но это на усмотрение автора.


upd.
то и не надо ничего придумывать.
Это если запускать в консоли. При графическом способе, надо что-то костылить, да.
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: krasnyh от 29 Январь 2021, 16:28:29
На yad от автора yad https://forum.puppyrus.org/index.php?topic=20146.msg138438#msg138438



Разные варианты собранные sfs https://forum.puppyrus.org/index.php?topic=20146.msg135984#msg135984
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: krasnyh от 29 Январь 2021, 16:52:08
sudoq от sfs, но не понятно, в чем разница от простого sudo.
Код
$ sudoq -u root mc
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: DdShurick от 29 Январь 2021, 16:58:57
Простой скрипт
Самый простой и надёжный вариант.
Код
# su -c "Простой скрипт"
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: knn от 29 Январь 2021, 18:15:53
но нужно выполнить от root. Как оформить запрос на ввод пароля su?
# немного отвлеченно:
- например сейчас на Ледяном 'sudo pppoe-start' запускаю из "чистой-tty" и затем, пока "в фоне" соединяется, запускаю 'icewm-session' ( хотя получается про 'sudo' а не про 'su').
---------
- с одной стороны заманчиво - если с моей на данный момент точки зрения - "dialog/Xdialog" прикрутить( с учетом что конструкция может пригодиться и в других случаях) - может когда доберусь..
------
- с другой - на первый взгляд - для tty - если только заалиасить( 'sudo pppoe-start' ); а если запускать под иксами - то наверное неплохо должно смотреться...
=====
' su -c "Простой скрипт" ' - вроде просит пароль "уже суперюзера" ... # хотя я на данное время не разбираюсь "в этих вопросах безопасности"
======
например на Ледяном кое-где используется и 'lxqtsudo', и "dialog/Xdialog-обертка" , если получится, - будет своеобразная "отвязка" ...
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: DdShurick от 29 Январь 2021, 20:05:41
просит пароль "уже суперюзера"
Да, но при этом нет проблем, присущих sudo.
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 25 Март 2022, 10:14:24
https://github.com/open-source-peace/protestware-list#yet-another-dialog
В LF используется старая версия. В новой по функционалу полезного не нашел. Зато надо править скрипты для вывода иконок. Поэтому переходить на новую пока не планирую
Название: Re: yad - построитель GUI для шелл-скриптов
Отправлено: sfs от 25 Февраль 2024, 21:53:43
https://yad-guide.ingk.se/
Свежий yad с русской локалью в Аlt linux