user2171053
user2171053

Reputation:

BASH - file selection by multiple patterns in zenity

Im pretty new to zenity and bash. Im trying to make file selection window that will display only the ones with .ogg, .aac and .wav extension. I tried this, but it doesn't work.

option=`zenity --file-selection --file-filter=*.ogg | *.aac`

For one extension it's working as intented:

option=`zenity --file-selection --file-filter=*.ogg`

Zenity man provides information:

--file-filter=NAME | PATTERN1 PATTERN2
Sets a filename filter

I dont really understand how am I supposed to use it. Can someone show me some examples?

Upvotes: 5

Views: 6074

Answers (2)

BFruit
BFruit

Reputation: 81

Special bash symbols | and * needs escaping (backslash) or quoting (single or double), and you have succeeded with that. With single quotes the argument is passed literally to zenity.

Repeat the --file-filter option if you want more filter choices For example, you may want two filters "All files" and "Music files" in the file selection window:

zenity --file-selection --file-filter='Music files (ogg,wav,aac) | *.ogg *.wav *.aac' --file-filter='All files | *'

Upvotes: 8

user2171053
user2171053

Reputation:

Ok I found the solution, maybe someone will use it in the future:

zenity --file-selection --file-filter=""*.ogg" "*.wav" "*.aac""

Upvotes: 5

Related Questions