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

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

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

Оффлайн drill

  • Пользователь
  • **
  • Сообщений: 31
  • Репутация: +4/-0
Re: yad - построитель GUI для шелл-скриптов
« Ответ #75 : 15 Сентябрь 2017, 07:52:01 »
Может быть, выдача едет не в stdout, а в stderr. Попробуй там, где заканчивается команда (где первое троеточие) добавить

2>&1

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10403
  • Репутация: +107/-2
Re: yad - построитель GUI для шелл-скриптов
« Ответ #76 : 15 Сентябрь 2017, 09:23:02 »
Может быть, выдача едет не в stdout, а в stderr. Попробуй там, где заканчивается команда (где первое троеточие) добавить

2>&1
пробовал. не то.
Я подозреваю что tr не отдает данные в пайп пока не будет получен конец строки из предыдущего пайпа. Но на экран то он строки выводит, хотя если делаю перенаправление, то строк не видно на экране и в файл они тоже не летят. Мистика.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10403
  • Репутация: +107/-2
Re: yad - построитель GUI для шелл-скриптов
« Ответ #77 : 15 Сентябрь 2017, 10:27:41 »
ПОБЕДИЛ!
... | stdbuf -o0 tr -s '\b' '\n' | stdbuf -o0 tr -d [:blank:] | yad --progress
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн drill

  • Пользователь
  • **
  • Сообщений: 31
  • Репутация: +4/-0
Re: yad - построитель GUI для шелл-скриптов
« Ответ #78 : 15 Сентябрь 2017, 10:42:10 »
Про stdbuf я что-то не слышал :) Но вообще поздравляю.

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

IFS=$'\b'

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

grep '%'

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

unset IFS

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10403
  • Репутация: +107/-2
Re: yad - построитель GUI для шелл-скриптов
« Ответ #79 : 15 Сентябрь 2017, 12:24:51 »
Grep не срабатывает, он со строками же работает.
Меня больше волнует не просочатся ли цифры из названия файла, не успел проверить, в понедельник только.

tr -d бы такой чтобы только проценты пропускал  или может что-то типа "обрезать все от начала строки до знака %"
« Последнее редактирование: 15 Сентябрь 2017, 12:54:47 от Pro »
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн drill

  • Пользователь
  • **
  • Сообщений: 31
  • Репутация: +4/-0
Re: yad - построитель GUI для шелл-скриптов
« Ответ #80 : 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.

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10403
  • Репутация: +107/-2
Re: yad - построитель GUI для шелл-скриптов
« Ответ #81 : 15 Сентябрь 2017, 14:21:27 »
Вот именно что цифры он и отлавливает и будет ситуация когда в названии песни или каталога цифры 4, 7 и т.п. То шкала прогресса у yad станет сначала на эти 4, потом вернётся обратно на 1 процент.

 Я типа того попробовал задав цикл for со счетчиком и подав цифры на yad.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 27199
  • Репутация: +184/-0
    • PuppyRus-A
Re: yad - построитель GUI для шелл-скриптов
« Ответ #82 : 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
yad-gtk3-0.40.90-1-x86_64.pkg.tar.xz
030-gtk3-3.22.26-1-180101-sf08.pfs

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 27199
  • Репутация: +184/-0
    • PuppyRus-A
Re: yad - построитель GUI для шелл-скриптов
« Ответ #83 : 02 Июль 2018, 10:08:31 »
yad-gtk3-0.40.90-1-x86_64.pkg.tar.xz
Но перестало работать --geometry
Напишу автору

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 27199
  • Репутация: +184/-0
    • PuppyRus-A
Re: yad - построитель GUI для шелл-скриптов
« Ответ #84 : 24 Август 2018, 12:28:06 »
OVS tint
Про гуи на yad - проблема в yad-gtk3. Под gtk2 все ок
Про геометрию написал автору. Пока не исправил. Вообще он не любит gtk3
Если так и не поправит - с шириной можно побороться

Оффлайн sfs

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

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 27199
  • Репутация: +184/-0
    • PuppyRus-A
Re: yad - построитель GUI для шелл-скриптов
« Ответ #86 : 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
-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
yad-gtk3-0.42.1-2-x86_64.pkg.tar.xz
« Последнее редактирование: 30 Сентябрь 2019, 13:26:23 от sfs »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 27199
  • Репутация: +184/-0
    • PuppyRus-A
Re: yad - построитель GUI для шелл-скриптов
« Ответ #87 : 08 Сентябрь 2019, 09:41:26 »
на git есть и gtk2 ветка yad. Обновляется вроде.
Там 0.40.0 - 7 мес. не обновляется
Ее и переименовали в 0.40.1 и похоже, на этом все
Заканчивается gtk2 везде потихоньку...
Если в palemoon сольют - финищ