Gtk2::FileChooser(3)

πŸ“¦
version 1.24993 Β· 2 versions
, in fedora 43

πŸ’– Gtk2::FileChooser πŸ’–

okay so bestie, meet Gtk2::FileChooser β€” the Perl wrapper for GtkFileChooser πŸŽ€. And yes, this page lives in the User Contributed Perl Documentation section, so you know it's got that community-maintained glow ✨. It's giving "let the user pick a file, but make it cute and effortless" energy, and honestly? Iconic. Periodt.


🌈 HIERARCHY 🌈

Glib::Interface
+----Gtk2::FileChooser

she inherits from Glib::Interface, as she should πŸ‘‘


✨ METHODS ✨

  • filechooseraction = $chooser->get_action
  • $chooser->set_action ($action) β€” grab or set the action, and it's a Gtk2::FileChooserAction, no cap
    • $action (Gtk2::FileChooserAction)
  • $chooser->add_filter ($filter) β€” toss another filter in the mix
    • $filter (Gtk2::FileFilter)
  • $chooser->add_shortcut_folder ($folder) β€” shortlist a folder for quick access
    • $folder (string)
  • $chooser->add_shortcut_folder_uri ($folder) β€” same vibe, but with a URI
    • $folder (string)
  • boolean = $chooser->get_create_folders β€” returns a boolean πŸ¦‹
    • Since: gtk+ 2.18
  • $chooser->set_create_folders ($create_folders) β€” takes a boolean
    • $create_folders (boolean)
    • Since: gtk+ 2.18
  • string = $chooser->get_current_folder β€” hands you back a string
  • boolean = $chooser->set_current_folder ($filename) β€” and this one gives you a boolean
    • $filename (string)
  • string = $chooser->get_current_folder_uri β€” string, bestie
  • boolean = $chooser->set_current_folder_uri ($uri) β€” boolean result
    • $uri (string)
  • $chooser->set_current_name ($name) β€” set the current name, simple as
    • $name (string)
  • boolean = $chooser->get_do_overwrite_confirmation β€” a boolean, naturally
    • Since: gtk+ 2.8
  • $chooser->set_do_overwrite_confirmation ($do_overwrite_confirmation) β€” takes a boolean
    • $do_overwrite_confirmation (boolean)
    • Since: gtk+ 2.8
  • widget = $chooser->get_extra_widget β€” returns a widget πŸ‘‘
  • $chooser->set_extra_widget ($extra_widget) β€” and this one takes one
    • $extra_widget (Gtk2::Widget)
  • string = $chooser->get_filename β€” string out
  • boolean = $chooser->set_filename ($filename) β€” boolean back
    • $filename (string)
  • list = $chooser->get_filenames β€” you get a whole list, obsessed πŸ’…
  • filefilter = $chooser->get_filter β€” returns a Gtk2::FileFilter
  • $chooser->set_filter ($filter) β€” sets one
    • $filter (Gtk2::FileFilter)
  • list = $chooser->list_filters β€” a list, as promised
  • list = $chooser->list_shortcut_folder_uris β€” also a list
  • list = $chooser->list_shortcut_folders β€” also also a list
  • boolean = $chooser->get_local_only β€” boolean incoming
  • $chooser->set_local_only ($files_only) β€” takes a boolean
    • $files_only (boolean)
  • localized file name = $file_chooser->get_preview_filename β€” returns a localized file name, fancy fr fr
  • string = $file_chooser->get_preview_uri β€” returns a string
  • boolean = $chooser->get_preview_widget_active β€” boolean
  • $chooser->set_preview_widget_active ($active) β€” takes a boolean
    • $active (boolean)
  • widget = $chooser->get_preview_widget β€” widget out
  • $chooser->set_preview_widget ($preview_widget) β€” widget in
    • $preview_widget (Gtk2::Widget)
  • $chooser->remove_filter ($filter) β€” yeet that filter out of there
    • $filter (Gtk2::FileFilter)
  • $chooser->remove_shortcut_folder ($folder) β€” remove a shortcut folder
    • $folder (string)
  • $chooser->remove_shortcut_folder_uri ($folder) β€” remove a shortcut folder, URI edition
    • $folder (string)
  • $chooser->select_all β€” select literally everything, main character energy ✨
  • boolean = $chooser->select_filename ($filename) β€” boolean result
    • $filename (string)
  • boolean = $chooser->get_select_multiple β€” boolean
  • $chooser->set_select_multiple ($select_multiple) β€” takes a boolean
    • $select_multiple (boolean)
  • boolean = $chooser->select_uri ($uri) β€” boolean
    • $uri (string)
  • boolean = $chooser->get_show_hidden β€” boolean
    • Since: gtk+ 2.6
  • $chooser->set_show_hidden ($show_hidden) β€” takes a boolean
    • $show_hidden (boolean)
    • Since: gtk+ 2.6
  • $chooser->unselect_all β€” undo all that selecting 🫢
  • $chooser->unselect_filename ($filename) β€” unselect one file by name
    • $filename (string)
  • $chooser->unselect_uri ($uri) β€” unselect one by URI
    • $uri (string)
  • string = $chooser->get_uri β€” string out
  • boolean = $chooser->set_uri ($uri) β€” boolean back
    • $uri (string)
  • list = $chooser->get_uris β€” a list of URIs, slay
  • boolean = $chooser->get_use_preview_label β€” boolean
  • $chooser->set_use_preview_label ($use_label) β€” takes a boolean
    • $use_label (boolean)

πŸŽ€ PROPERTIES πŸŽ€

  • 'action' β€” Gtk2::FileChooserAction : default "open" : readable / writable / private / static-nick / static-blurb β€” The type of operation that the file selector is performing
  • 'create-folders' β€” boolean : default true : readable / writable / private / static-nick / static-blurb β€” Whether a file chooser not in open mode will offer the user to create new folders.
  • 'do-overwrite-confirmation' β€” boolean : default false : readable / writable / private / static-nick / static-blurb β€” Whether a file chooser in save mode will present an overwrite confirmation dialog if necessary.
  • 'extra-widget' β€” Gtk2::Widget : default undef : readable / writable / private / static-nick / static-blurb β€” Application supplied widget for extra options.
  • 'file-system-backend' β€” string : default undef : writable / construct-only / private / static-nick / static-blurb β€” Name of file system backend to use
  • 'filter' β€” Gtk2::FileFilter : default undef : readable / writable / private / static-nick / static-blurb β€” The current filter for selecting which files are displayed
  • 'local-only' β€” boolean : default true : readable / writable / private / static-nick / static-blurb β€” Whether the selected file(s) should be limited to local file: URLs
  • 'preview-widget' β€” Gtk2::Widget : default undef : readable / writable / private / static-nick / static-blurb β€” Application supplied widget for custom previews.
  • 'preview-widget-active' β€” boolean : default true : readable / writable / private / static-nick / static-blurb β€” Whether the application supplied widget for custom previews should be shown.
  • 'select-multiple' β€” boolean : default false : readable / writable / private / static-nick / static-blurb β€” Whether to allow multiple files to be selected
  • 'show-hidden' β€” boolean : default false : readable / writable / private / static-nick / static-blurb β€” Whether the hidden files and folders should be displayed
  • 'use-preview-label' β€” boolean : default true : readable / writable / private / static-nick / static-blurb β€” Whether to display a stock label with the name of the previewed file.

πŸ”₯ SIGNALS πŸ”₯

  • Gtk2::FileChooserConfirmation = confirm-overwrite (Gtk2::FileChooser)
  • current-folder-changed (Gtk2::FileChooser)
  • file-activated (Gtk2::FileChooser)
  • selection-changed (Gtk2::FileChooser)
  • update-preview (Gtk2::FileChooser)

πŸ’œ ENUMS AND FLAGS πŸ’œ

enum Gtk2::FileChooserAction

  • 'open' / GTK_FILE_CHOOSER_ACTION_OPEN
  • 'save' / GTK_FILE_CHOOSER_ACTION_SAVE
  • 'select-folder' / GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER
  • 'create-folder' / GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER

enum Gtk2::FileChooserConfirmation

  • 'confirm' / GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM
  • 'accept-filename' / GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME
  • 'select-again' / GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN

enum Gtk2::FileChooserError

  • 'nonexistent' / GTK_FILE_CHOOSER_ERROR_NONEXISTENT
  • 'bad-filename' / GTK_FILE_CHOOSER_ERROR_BAD_FILENAME
  • 'already-exists' / GTK_FILE_CHOOSER_ERROR_ALREADY_EXISTS
  • 'incomplete-hostname' / GTK_FILE_CHOOSER_ERROR_INCOMPLETE_HOSTNAME

πŸ¦‹ SEE ALSO πŸ¦‹

  • Gtk2
  • Glib::Interface

Copyright (C) 2003-2011 by the gtk2-perl team.

This software is licensed under the LGPL. See Gtk2 for a full notice.


ok that's the whole page bestie, every flag, every property, every signal, nothing skipped, we ate and left no crumbs πŸ’…

this was perl v5.42.0, dated 2025-07-25, and it's the Gtk2::FileChooser(3) page signing off 🫢 stay hydrated, read your docs, mwah πŸ’–

πŸ“¦ where this page comes from