web-dev-qa-db-fra.com

Comment obtenir une fonctionnalité Zenity dans Yad?

J'ai les vingt-six fichiers suivants dans un dossier:

$ ls
a.txt  c.txt  e.txt  g.txt  i.txt  k.txt  m.txt  o.txt  q.txt  s.txt  u.txt  w.txt  y.txt
b.txt  d.txt  f.txt  h.txt  j.txt  l.txt  n.txt  p.txt  r.txt  t.txt  v.txt  x.txt  z.txt
$

Je peux utiliser Zenity comme ceci:

zenity --list --title=Test --width=275 --height=400 --column="File names" *.txt

et obtenir cette interface initialement:

Zenity list

Si je souhaite sélectionner un fichier plus bas dans la liste, dites r.txt, J'appuie r et r.txt est sélectionné.

Zenity showing selection

Cependant, si j'utilise Yad au lieu de Zenity comme ceci:

yad --list --title=Test --width=275 --height=400 --column="File names" *.txt

pressage r ne fait rien. Je dois utiliser les touches fléchées pour faire défiler la liste jusqu'à ce que j'arrive à r.txt.

Ma compréhension est que Yad a plus de fonctionnalités que Zenity. Y a-t-il un moyen pour que Yad fasse ce que fait Zenity?

(Testé à l'aide des versions de référentiel de Yad et Zenity trouvées dans 18.04 et 19.10.)

4
DK Bose

Pour apprendre yad j'ai trouvé cette grande référence: YAD - Smokey01.com

Comme mentionné dans les commentaires, vous souhaitez utiliser l'option --search-column=N

Prenons l'exemple de code suivant:

while true ; do
    local Selected INSTRUCTIONS
    INSTRUCTIONS="Click Icon to move and press Enter"
    Selected=$(yad --list --radiolist \
    --image="$ICON" --window-icon="$ICON" \
    --margins=10 --no-click  --search-column=4 \
    --title="$TITLE" "${GEOMETRY[@]}" \
    --text="<big><b>$TEXT</b></big> - $INSTRUCTIONS" \
    --column "Select" \
    --column "Order" \
    --column "Icon Type:HD" \
    --column "Icon name" \
    --column "Linkless name:HD" \
    --column "Modified date" \
    --column "Col Pos:NUM" \
    --column "Row Pos:NUM" \
    --button="_Alpha Sort:$ButnAlpha" \
    --button="_Linkless Sort:$ButnLinkless" \
    --button="_Oldest Date:$ButnOldest" \
    --button="_Newest Date:$ButnNewest" \
    --button="_Test:$ButnTest"  \
    --button="_Apply:$ButnApply" \
    --button="_Cancel:$ButnCancel" \
    "${IconsArr[@]}")

    Retn="$?"

Les colonnes n ° 3 et n ° 5 sont masquées mais elles sont toujours comptées. Nous voulons effectuer une recherche sur le nom de l'icône, il s'agit donc de la colonne # 4 enregistrée ici:

    --margins=10 --no-click  --search-column=4 \

Le court .gif le clip ci-dessous montre ce qui se passe quand on tape:

  • aBackspacebBackspacecBackspacee (puis boucles gif)

search column.gif

3
WinEunuuchs2Unix