I just tried seq 1 100 | zenity --list --column number
on my box, and it showed all 100 numbers. My zenity version is 3.8.0.
So I'm guessing something else is going on in your script.
Update: I think I may have figured out what's going on. You've got two columns defined, so I think that means that zenity expects whatever args that follow (or input lines from stdin
, in your case) to be in the form <column 1 value> <column 2 value> <column 1 value> <column 2 value> ...
. For instance if you have a column named "Name" and another column named "Age", you might do something like:
zenity --list --column Name --column Age Alice 25 Bob 40 Carol 37 ...
You've defined two columns but only provided values for one column.
Update 2: I just played around with it a bit on my box, and I think you just need to add some dummy values to populate column 1 with. Since the first column is just going to be a bunch of radio buttons, you don't really care about what values you're providing for that column. They can be all 1
or x
or foo
or whatever. When you select a radio button and hit OK, zenity is just going to pass back the value from column 2 anyway, so the values for column 1 are completely meaningless.
I just did this on my box and it worked as expected:
seq 1 100 | sed 's/^/x\n/g' | zenity --list --radiolist --column Select --column Number
That is, it showed 100 rows, with radio buttons in the first column, labeled "Select", and numbers 1-100 in the second column, labeled "Number".
Applying this idea to your command, you get:
dir="/media/multiMediaA_intHdA720Gb/music/rockNextGen/lighter" ; artDir=$(find "$dir" -maxdepth 1 -type d | sort | sed 's/^/x\n/g' | zenity --list --title "All albums : selected band" --text "Enter the band you want to listen to:" --column "Select" --column "Artist" --radiolist --height 900 --width 200) ; echo "$artDir"
Try that and let us know if it worked.