LINUX.ORG.RU

Объясните как в yad/zenity делать менюшки

 ,


0

1

Смотрю в ман yad’а и вижу что для (к примеру) создания шкалы выбора чего-нибудь есть yad –scale, для чекбоксов –field=«test:CHK». А как совместить это дело?

Допустим я хочу шкалу, а под ней чекбокс и/или кнопки. Прямо в одном окне.

Или кнопки и шкала прогресса. Как тогда быть?

Могу быть не прав, но в том и суть что zenity и аналоги предлагают достаточно небольшой набор возможностей для общих нужд, в котором разберётся сисадмин(удовлетворит его потребности взаимодействия с пользователем) или чтобы файлик выбрать и в консольную прогу сунуть, а расширение возможностей которое вы хотите это очень частный случай редко кому требуемый и поэтому его скорее всего нет и не должно быть, т.к. все случаи не учесть, да и для больших возможностей нужны более сложные обработчики, а это предполагает полноценную разработку

AKonia ()
Последнее исправление: AKonia (всего исправлений: 4)

Допустим я хочу шкалу, а под ней чекбокс и/или кнопки.

Тут сложно. Надо читать… документацию.

ipcrm -M 12345
yad --plug=12345 --tabnum=1 --scale &
yad --plug=12345 --tabnum=2 --form --field="Option 1":CHK --field="Option 2":CHK --field="Option 3":CHK &
yad --paned --key=12345 --orient=vert --width 640 --height 360

Серьёзно. Я минут пятнадцать назад узнал о существовании yad. И этих 15 минут вполне достаточно, чтобы найти пример в мануале и выяснить, почему он не всегда работает, и загуглить, как пример починить.

i-rinat ★★★★★ ()
Ответ на: комментарий от i-rinat

Спасибо, но что-то не работает. Вот скрипт:

#!/bin/bash 
export IPCM="$RANDOM"
ipcrm -M "$IPCM"
yad \
	--plug="$IPCM" \
	--tabnum=1 \
		--scale \
			--min-value="1" \
			--max-value="60" \
			--step="1" \
			--enforce-step \
			--inc-buttons \
				--mark="10m:10" \
				--mark="20m:20" \
				--mark="30m:30" \
				--mark="40m:40" \
				--mark="50m:50" \
				--mark="1a:60" &
yad \
	--plug="$IPCM" 
	--tabnum=2 \
		--form \
			--field="test:CHK" \
				--cycle-read YES &
yad \
	--paned \
	--key="$IPCM" \
	--orient="vert" \
	--title="TestTitle" \
	--center \
	--skip-taskbar \
	--width '640' \
	--height '360' \
		--button="OK!gtk-yes"

Запускаю и ничего не происходит, просто yad висит.

Vochatrak-az-ezm ()
Ответ на: комментарий от i-rinat

Спасибо, все работает.


Никто не подскажет как обрабатывать значения из yad в реальном времени? Обычно значения отдаются после нажатия OK. А мне надо чтобы настройки отдавались сразу при перемещении ползунка, установки галочки в чекбокс, и т.д.

Vochatrak-az-ezm ()

По теме хз, честно говоря, но если не получится, то посмотри в сторону tkbash. Там более традиционный подход к логике построения интерфейса. В частности можешь глянуть у меня в профиле в галерее, что на нём удалось написать.

nebularia ()
Последнее исправление: nebularia (всего исправлений: 1)