我想知道是否有人更熟悉yad
(还有另一个对话)知道动态列表是否可行,如果是,如何使用bash数组的内容为每个列表分配FALSE
项目
我有一个管理多个LUKS分区的脚本,因此当用户选择安装分区时,它们会显示一个尚未挂载的分区列表,以便进行下一次选择。因此结果是他们无法选择已安装的安装点。
目前通过在终端中向用户显示列表来管理,但如果可以使用动态列表,我想尝试使用yad
列表对话框。
从详细介绍yad
在线使用情况的网页上我找不到任何关于动态列表的内容,这让我相信这很可能是不可能的。
答案 0 :(得分:3)
取自zenity示例here,你可以这样做:
devsToMnt=$(for f in "${part_list_array[@]}" ; do echo FALSE ; echo "$f" ; done | yad --list --center --height="400" --checklist --column="Select" --column="Device to mount:" --print-column="2" --multiple --separator=" ")
以及用户选择的任何分区都将在$devsToMnt
答案 1 :(得分:1)
根据示例on the wiki,我会假设某些内容符合
的效果mounts=( "foo" "bar" "baz" )
mp=$(yad --width 300 --entry --title "Mount?" \
--button="Mount it." \
--text "Choose mountpoint:" \
--entry-text \
"${mounts[@]}")
echo "let's mount $mp"
应该有用。