Содержание
YAD - создание графических интерфейсов (GUI)
- старый сайт http://code.google.com/p/yad/
- отзывчивый русскоязычный автор
- yad активно применяется в PRA (ntf netctl.sh net-auto tray)
- Документации и примеров мало. yad –help-all
- Далее примеры из собственного опыта и переписки с автором
--notification
Значок в трее с меню
yad --notification --menu='item name 1!command1|item name 2!command2!icon-name'
- формат описания элемента меню - имя[!команда[!иконка]]
- разделители можешь назначать через –separator - (|) и –item-separator (!)
- маленькая иконка в трее (нyжен свежий yad) :
yad --notification --image=/path/to/image.png --icon-size=32
Значок в трее с запуском программы
#! /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"'
Если надо чтобы gedit запустился и yad в трее убился. Чтобы yad в трее убился после закрытия gedit :
yad --notification --text="test" --command='bash -c "gedit && kill $YAD_PID"'
--button
Как сделать кнопку с произвольным текстом , иконкой (gtk-add) и подсказкой
--button='Текст'!gtk-add!'подсказка':x
, где x - код возврата. Получить его в скрипте можно через переменную $?
--form
--columns
yad --form --columns=2 --field=1 --field=2 --field=3 --field=4
--field
Вывод содержимого поля %N, где N - номер поля
#!/bin/sh btn_start(){ yad --text "вывод $1" ;} ; export -f btn_start yad --form --field=1:CB item1 \ --field=gtk-info:BTN '@bash -c "btn_start %1"' \ --field=info:BTN 'yad --text "вывод %1"'
--list
--column=tooltip:tip
При наведении мыши на поле выводится это поле
Можно как-то что-то другое выводить?
если задать столбцу тип TIP - его значения будут использоваться для всплывающих подсказок. по хорошему, надо бы и отключение подсказок сделать, но пока руки не дошли
yad --list --column=text --column=tooltip:tip --hide-column=2 "text" "tooltip"
--dclick-action
использовано в tray (PRA)
значения текущей строки передаются в качестве аргументов команды, указанной в –dclick-action
%s нужен, чтобы указать место, куда эти аргументы воткнуть, по-умолчанию, они просто добавляются в конец строки с командой
пример (выводит значение третьего поля по двойному клику)
#! /bin/bash dclick(){ echo "$3" ;} export -f dclick yad --list --column=1 --column=2 --column=3 --dclick-action='bash -c "dclick %s"' \ "test sample 11" "test sample 12" "test sample 13" \ "test sample 21" "test sample 22" "test sample 23"
функция-обработчик двойного клика экспортируется, и т.к. при простом присоединении аргументов в конец будет каша с кавычками, проще явно указать, куда необходимо вставить значения полей текущей строки
--hide-column
–hide-column= можно применять только 1 раз?
да. если по каким-то причинам надо скрывать несколько колонок - им необходимо задать тип –column=text:hd
--column=:IMG
Изображения отображаются как есть, без масштабирования. Для нужного размера достаточно просто указать полный путь к файлу
Автор: sfs