动态yad列表可能吗?

时间:2014-08-07 18:19:16

标签: zenity

我想知道是否有人更熟悉yad(还有另一个对话)知道动态列表是否可行,如果是,如何使用bash数组的内容为每个列表分配FALSE项目

我有一个管理多个LUKS分区的脚本,因此当用户选择安装分区时,它们会显示一个尚未挂载的分区列表,以便进行下一次选择。因此结果是他们无法选择已安装的安装点。

目前通过在终端中向用户显示列表来管理,但如果可以使用动态列表,我想尝试使用yad列表对话框。

从详细介绍yad在线使用情况的网页上我找不到任何关于动态列表的内容,这让我相信这很可能是不可能的。

2 个答案:

答案 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"

应该有用。