Gnome::Gtk4::AppChooserButton

#------------------------------------------------------------------------------- #--[Class Description]---------------------------------------------------------- #-------------------------------------------------------------------------------

Description

The Gnome::Gtk4::AppChooserButton lets the user select an application.

=for image :src<asset_files/images/appchooserbutton.png> :width<30%> :class<inline>

Initially, a Gnome::Gtk4::AppChooserButton selects the first application in its list, which will either be the most-recently used application or, if show-default-item is True, the default application.

The list of applications shown in a Gnome::Gtk4::AppChooserButton includes the recommended applications for the given content type. When show-default-item is set, the default application is also included. To let the user choose other applications, you can set the show-dialog-item property, which allows to open a full Gnome::Gtk4::AppChooserDialog.

It is possible to add custom items to the list, using .append-custom-item(). These items cause the custom-item-activated signal to be emitted when they are selected.

To track changes in the selected application, use the changed signal.

CSS nodes

Gnome::Gtk4::AppChooserButton has a single CSS node with the name “appchooserbutton”.

Uml Diagram =for image :src<asset_files/images/plantuml/AppChooserButton.png> :width<70%> :class<inline>

#------------------------------------------------------------------------------- #--[Class Initialization]------------------------------------------------------- #-------------------------------------------------------------------------------

Class initialization

Note: The native version of this class is deprecated in gtk4-lib() since version 4.10

new

:native-object

Create an object using a native object from an object of the same type found elsewhere. See also Gnome::N::TopLevelSupportClass.

multi method new ( N-Object() :$native-object! )

#-------------------------------------------------------------------------------

new-appchooserbutton

Note: The native version of this routine is deprecated in gtk4-lib() since version 4.10

Creates a new Gnome::Gtk4::AppChooserButton for applications that can handle content of the given type.

method new-appchooserbutton ( Str $content-type --> Gnome::Gtk4::AppChooserButton )
  • $content-type; the content type to show applications for.

#------------------------------------------------------------------------------- #--[Methods]-------------------------------------------------------------------- #-------------------------------------------------------------------------------

Methods

#-------------------------------------------------------------------------------

append-custom-item

Note: The native version of this routine is deprecated in gtk4-lib() since version 4.10

Appends a custom item to the list of applications that is shown in the popup.

The item name must be unique per-widget. Clients can use the provided name as a detail for the custom-item-activated signal, to add a callback for the activation of a particular custom item in the list.

See also .append-separator().

method append-custom-item ( Str $name, Str $label, N-Object() $icon )
  • $name; the name of the custom item.

  • $label; the label for the custom item.

  • $icon; the icon for the custom item.

#-------------------------------------------------------------------------------

append-separator

Note: The native version of this routine is deprecated in gtk4-lib() since version 4.10

Appends a separator to the list of applications that is shown in the popup.

method append-separator ( )

#-------------------------------------------------------------------------------

get-heading

Note: The native version of this routine is deprecated in gtk4-lib() since version 4.10

Returns the text to display at the top of the dialog.

method get-heading ( --> Str )

Return value; the text to display at the top of the dialog, or undefined, in which case a default text is displayed.

#-------------------------------------------------------------------------------

get-modal

Note: The native version of this routine is deprecated in gtk4-lib() since version 4.10

Gets whether the dialog is modal.

method get-modal ( --> Bool )

Return value; True if the dialog is modal.

#-------------------------------------------------------------------------------

get-show-default-item

Note: The native version of this routine is deprecated in gtk4-lib() since version 4.10

Returns whether the dropdown menu should show the default application at the top.

method get-show-default-item ( --> Bool )

Return value; the value of show-default-item.

#-------------------------------------------------------------------------------

get-show-dialog-item

Note: The native version of this routine is deprecated in gtk4-lib() since version 4.10

Returns whether the dropdown menu shows an item for a Gnome::Gtk4::AppChooserDialog.

method get-show-dialog-item ( --> Bool )

Return value; the value of show-dialog-item.

#-------------------------------------------------------------------------------

set-active-custom-item

Note: The native version of this routine is deprecated in gtk4-lib() since version 4.10

Selects a custom item.

See .append-custom-item().

Use .refresh() in class AppChooser to bring the selection to its initial state.

method set-active-custom-item ( Str $name )
  • $name; the name of the custom item.

#-------------------------------------------------------------------------------

set-heading

Note: The native version of this routine is deprecated in gtk4-lib() since version 4.10

Sets the text to display at the top of the dialog.

If the heading is not set, the dialog displays a default text.

method set-heading ( Str $heading )
  • $heading; a string containing Pango markup.

#-------------------------------------------------------------------------------

set-modal

Note: The native version of this routine is deprecated in gtk4-lib() since version 4.10

Sets whether the dialog should be modal.

method set-modal ( Bool() $modal )
  • $modal; True to make the dialog modal.

#-------------------------------------------------------------------------------

set-show-default-item

Note: The native version of this routine is deprecated in gtk4-lib() since version 4.10

Sets whether the dropdown menu of this button should show the default application for the given content type at top.

method set-show-default-item ( Bool() $setting )
  • $setting; the new value for show-default-item.

#-------------------------------------------------------------------------------

set-show-dialog-item

Note: The native version of this routine is deprecated in gtk4-lib() since version 4.10

Sets whether the dropdown menu of this button should show an entry to trigger a Gnome::Gtk4::AppChooserDialog.

method set-show-dialog-item ( Bool() $setting )
  • $setting; the new value for show-dialog-item.

#------------------------------------------------------------------------------- #--[Signal Documentation]------------------------------------------------------- #-------------------------------------------------------------------------------

Signals

activate

Emitted to when the button is activated.

The `::activate` signal on Gnome::Gtk4::AppChooserButton is an action signal and emitting it causes the button to pop up its dialog.

method handler (
  Int :$_handle_id,
  N-GObject :$_native-object,
  *%user-options
)
  • $_handle_id; The registered event handler id.

  • $_native-object; The native object provided by the Raku object which registered this event. This is a native Gnome::Gtk4::AppChooserButton object.

  • %user-options; A list of named arguments provided by .register-signal() in class Object.

changed

Emitted when the active application changes.

method handler (
  Int :$_handle_id,
  N-GObject :$_native-object,
  *%user-options
)
  • $_handle_id; The registered event handler id.

  • $_native-object; The native object provided by the Raku object which registered this event. This is a native Gnome::Gtk4::AppChooserButton object.

  • %user-options; A list of named arguments provided by .register-signal() in class Object.

custom-item-activated

Emitted when a custom item is activated.

Use .append-custom-item(), to add custom items.

method handler (
  Str $item-name,
  Int :$_handle_id,
  N-GObject :$_native-object,
  *%user-options
)
  • $item-name; the name of the activated item.

  • $_handle_id; The registered event handler id.

  • $_native-object; The native object provided by the Raku object which registered this event. This is a native Gnome::Gtk4::AppChooserButton object.

  • %user-options; A list of named arguments provided by .register-signal() in class Object.

Gnome::Gtk4 v0.2.8

Modules for package Gnome::Gtk4:api<2>. The language binding to GNOME’s user interface toolkit version 4

Authors

    License

    Artistic-2.0

    Dependencies

    CairoXMLXML::XPathGnome::Gio:api<2>Gnome::Gsk4:api<2>Gnome::Gdk4:api<2>Gnome::Graphene:api<2>Gnome::Pango:api<2>Gnome::GObject:api<2>Gnome::Glib:api<2>Gnome::N:api<2>

    Test Dependencies

    Provides

    • Gnome::Gtk4::AboutDialog
    • Gnome::Gtk4::ActionBar
    • Gnome::Gtk4::ActivateAction
    • Gnome::Gtk4::Adjustment
    • Gnome::Gtk4::AlertDialog
    • Gnome::Gtk4::AlternativeTrigger
    • Gnome::Gtk4::AnyFilter
    • Gnome::Gtk4::AppChooserButton
    • Gnome::Gtk4::AppChooserDialog
    • Gnome::Gtk4::AppChooserWidget
    • Gnome::Gtk4::Application
    • Gnome::Gtk4::ApplicationWindow
    • Gnome::Gtk4::AspectFrame
    • Gnome::Gtk4::Assistant
    • Gnome::Gtk4::AssistantPage
    • Gnome::Gtk4::BinLayout
    • Gnome::Gtk4::BoolFilter
    • Gnome::Gtk4::Box
    • Gnome::Gtk4::BoxLayout
    • Gnome::Gtk4::Builder
    • Gnome::Gtk4::BuilderListItemFactory
    • Gnome::Gtk4::Button
    • Gnome::Gtk4::Calendar
    • Gnome::Gtk4::CallbackAction
    • Gnome::Gtk4::CellArea
    • Gnome::Gtk4::CellAreaBox
    • Gnome::Gtk4::CellRenderer
    • Gnome::Gtk4::CellRendererAccel
    • Gnome::Gtk4::CellRendererCombo
    • Gnome::Gtk4::CellRendererPixbuf
    • Gnome::Gtk4::CellRendererProgress
    • Gnome::Gtk4::CellRendererSpin
    • Gnome::Gtk4::CellRendererSpinner
    • Gnome::Gtk4::CellRendererText
    • Gnome::Gtk4::CellRendererToggle
    • Gnome::Gtk4::CellView
    • Gnome::Gtk4::CenterBox
    • Gnome::Gtk4::CenterLayout
    • Gnome::Gtk4::CheckButton
    • Gnome::Gtk4::ColorButton
    • Gnome::Gtk4::ColorChooserDialog
    • Gnome::Gtk4::ColorChooserWidget
    • Gnome::Gtk4::ColumnView
    • Gnome::Gtk4::ComboBox
    • Gnome::Gtk4::ComboBoxText
    • Gnome::Gtk4::Constraint
    • Gnome::Gtk4::ConstraintLayout
    • Gnome::Gtk4::ConstraintLayoutChild
    • Gnome::Gtk4::CssProvider
    • Gnome::Gtk4::CustomLayout
    • Gnome::Gtk4::Dialog
    • Gnome::Gtk4::DragIcon
    • Gnome::Gtk4::DragSource
    • Gnome::Gtk4::DrawingArea
    • Gnome::Gtk4::DropControllerMotion
    • Gnome::Gtk4::DropDown
    • Gnome::Gtk4::DropTarget
    • Gnome::Gtk4::DropTargetAsync
    • Gnome::Gtk4::EditableLabel
    • Gnome::Gtk4::EmojiChooser
    • Gnome::Gtk4::Entry
    • Gnome::Gtk4::EntryBuffer
    • Gnome::Gtk4::EntryCompletion
    • Gnome::Gtk4::EventController
    • Gnome::Gtk4::EveryFilter
    • Gnome::Gtk4::Expander
    • Gnome::Gtk4::Expression
    • Gnome::Gtk4::FileChooserDialog
    • Gnome::Gtk4::FileChooserWidget
    • Gnome::Gtk4::FileFilter
    • Gnome::Gtk4::Filter
    • Gnome::Gtk4::Fixed
    • Gnome::Gtk4::FixedLayout
    • Gnome::Gtk4::FixedLayoutChild
    • Gnome::Gtk4::FlowBox
    • Gnome::Gtk4::FlowBoxChild
    • Gnome::Gtk4::FontButton
    • Gnome::Gtk4::FontChooserDialog
    • Gnome::Gtk4::FontChooserWidget
    • Gnome::Gtk4::Frame
    • Gnome::Gtk4::GLArea
    • Gnome::Gtk4::Gesture
    • Gnome::Gtk4::GestureClick
    • Gnome::Gtk4::GestureDrag
    • Gnome::Gtk4::GestureLongPress
    • Gnome::Gtk4::GesturePan
    • Gnome::Gtk4::GestureRotate
    • Gnome::Gtk4::GestureSingle
    • Gnome::Gtk4::GestureStylus
    • Gnome::Gtk4::GestureSwipe
    • Gnome::Gtk4::GestureZoom
    • Gnome::Gtk4::Grid
    • Gnome::Gtk4::GridLayout
    • Gnome::Gtk4::GridLayoutChild
    • Gnome::Gtk4::GridView
    • Gnome::Gtk4::HeaderBar
    • Gnome::Gtk4::IconPaintable
    • Gnome::Gtk4::IconTheme
    • Gnome::Gtk4::IconView
    • Gnome::Gtk4::Image
    • Gnome::Gtk4::InfoBar
    • Gnome::Gtk4::KeyvalTrigger
    • Gnome::Gtk4::Label
    • Gnome::Gtk4::LayoutChild
    • Gnome::Gtk4::LayoutManager
    • Gnome::Gtk4::LevelBar
    • Gnome::Gtk4::LinkButton
    • Gnome::Gtk4::ListBase
    • Gnome::Gtk4::ListBox
    • Gnome::Gtk4::ListBoxRow
    • Gnome::Gtk4::ListItem
    • Gnome::Gtk4::ListItemFactory
    • Gnome::Gtk4::ListStore
    • Gnome::Gtk4::ListView
    • Gnome::Gtk4::LockButton
    • Gnome::Gtk4::MediaControls
    • Gnome::Gtk4::MenuButton
    • Gnome::Gtk4::MessageDialog
    • Gnome::Gtk4::MnemonicAction
    • Gnome::Gtk4::MnemonicTrigger
    • Gnome::Gtk4::MultiFilter
    • Gnome::Gtk4::MultiSelection
    • Gnome::Gtk4::MultiSorter
    • Gnome::Gtk4::N-AccessibleList
    • Gnome::Gtk4::N-Bitset
    • Gnome::Gtk4::N-BitsetIter
    • Gnome::Gtk4::N-Border
    • Gnome::Gtk4::N-Requisition
    • Gnome::Gtk4::N-ScrollInfo
    • Gnome::Gtk4::N-TextIter
    • Gnome::Gtk4::N-TreeIter
    • Gnome::Gtk4::N-TreePath
    • Gnome::Gtk4::N-TreeRowReference
    • Gnome::Gtk4::NamedAction
    • Gnome::Gtk4::NeverTrigger
    • Gnome::Gtk4::NoSelection
    • Gnome::Gtk4::Notebook
    • Gnome::Gtk4::NotebookPage
    • Gnome::Gtk4::NothingAction
    • Gnome::Gtk4::NumericSorter
    • Gnome::Gtk4::Overlay
    • Gnome::Gtk4::OverlayLayout
    • Gnome::Gtk4::OverlayLayoutChild
    • Gnome::Gtk4::PageSetupUnixDialog
    • Gnome::Gtk4::Paned
    • Gnome::Gtk4::PasswordEntry
    • Gnome::Gtk4::Picture
    • Gnome::Gtk4::Popover
    • Gnome::Gtk4::PopoverMenu
    • Gnome::Gtk4::PopoverMenuBar
    • Gnome::Gtk4::PrintOperation
    • Gnome::Gtk4::PrintUnixDialog
    • Gnome::Gtk4::ProgressBar
    • Gnome::Gtk4::R-Accessible
    • Gnome::Gtk4::R-Actionable
    • Gnome::Gtk4::R-AppChooser
    • Gnome::Gtk4::R-Buildable
    • Gnome::Gtk4::R-BuilderScope
    • Gnome::Gtk4::R-CellEditable
    • Gnome::Gtk4::R-CellLayout
    • Gnome::Gtk4::R-ColorChooser
    • Gnome::Gtk4::R-ConstraintTarget
    • Gnome::Gtk4::R-Editable
    • Gnome::Gtk4::R-FileChooser
    • Gnome::Gtk4::R-FontChooser
    • Gnome::Gtk4::R-Native
    • Gnome::Gtk4::R-Orientable
    • Gnome::Gtk4::R-PrintOperationPreview
    • Gnome::Gtk4::R-Root
    • Gnome::Gtk4::R-Scrollable
    • Gnome::Gtk4::R-SelectionModel
    • Gnome::Gtk4::R-ShortcutManager
    • Gnome::Gtk4::R-StyleProvider
    • Gnome::Gtk4::R-SymbolicPaintable
    • Gnome::Gtk4::R-TreeDragDest
    • Gnome::Gtk4::R-TreeDragSource
    • Gnome::Gtk4::R-TreeModel
    • Gnome::Gtk4::R-TreeSortable
    • Gnome::Gtk4::Range
    • Gnome::Gtk4::Revealer
    • Gnome::Gtk4::Scale
    • Gnome::Gtk4::ScaleButton
    • Gnome::Gtk4::Scrollbar
    • Gnome::Gtk4::ScrolledWindow
    • Gnome::Gtk4::SearchBar
    • Gnome::Gtk4::SearchEntry
    • Gnome::Gtk4::Separator
    • Gnome::Gtk4::Shortcut
    • Gnome::Gtk4::ShortcutAction
    • Gnome::Gtk4::ShortcutController
    • Gnome::Gtk4::ShortcutLabel
    • Gnome::Gtk4::ShortcutTrigger
    • Gnome::Gtk4::ShortcutsGroup
    • Gnome::Gtk4::ShortcutsSection
    • Gnome::Gtk4::ShortcutsShortcut
    • Gnome::Gtk4::ShortcutsWindow
    • Gnome::Gtk4::SignalAction
    • Gnome::Gtk4::SignalListItemFactory
    • Gnome::Gtk4::SingleSelection
    • Gnome::Gtk4::Snapshot
    • Gnome::Gtk4::Sorter
    • Gnome::Gtk4::SpinButton
    • Gnome::Gtk4::Spinner
    • Gnome::Gtk4::Stack
    • Gnome::Gtk4::StackPage
    • Gnome::Gtk4::StackSidebar
    • Gnome::Gtk4::StackSwitcher
    • Gnome::Gtk4::Statusbar
    • Gnome::Gtk4::StringFilter
    • Gnome::Gtk4::StringList
    • Gnome::Gtk4::StringObject
    • Gnome::Gtk4::StringSorter
    • Gnome::Gtk4::StyleContext
    • Gnome::Gtk4::Switch
    • Gnome::Gtk4::T-aboutdialog
    • Gnome::Gtk4::T-accessible
    • Gnome::Gtk4::T-activateaction
    • Gnome::Gtk4::T-application
    • Gnome::Gtk4::T-assistant
    • Gnome::Gtk4::T-bitset
    • Gnome::Gtk4::T-border
    • Gnome::Gtk4::T-builder
    • Gnome::Gtk4::T-builderscope
    • Gnome::Gtk4::T-cellrenderer
    • Gnome::Gtk4::T-cellrendereraccel
    • Gnome::Gtk4::T-dialog
    • Gnome::Gtk4::T-editable
    • Gnome::Gtk4::T-entry
    • Gnome::Gtk4::T-enums
    • Gnome::Gtk4::T-expression
    • Gnome::Gtk4::T-filechooser
    • Gnome::Gtk4::T-filter
    • Gnome::Gtk4::T-fontchooser
    • Gnome::Gtk4::T-iconpaintable
    • Gnome::Gtk4::T-icontheme
    • Gnome::Gtk4::T-iconview
    • Gnome::Gtk4::T-image
    • Gnome::Gtk4::T-levelbar
    • Gnome::Gtk4::T-messagedialog
    • Gnome::Gtk4::T-native
    • Gnome::Gtk4::T-notebook
    • Gnome::Gtk4::T-popovermenu
    • Gnome::Gtk4::T-printoperation
    • Gnome::Gtk4::T-revealer
    • Gnome::Gtk4::T-scrolledwindow
    • Gnome::Gtk4::T-shortcutaction
    • Gnome::Gtk4::T-shortcutsshortcut
    • Gnome::Gtk4::T-show
    • Gnome::Gtk4::T-sorter
    • Gnome::Gtk4::T-spinbutton
    • Gnome::Gtk4::T-stack
    • Gnome::Gtk4::T-stringfilter
    • Gnome::Gtk4::T-stylecontext
    • Gnome::Gtk4::T-styleprovider
    • Gnome::Gtk4::T-textiter
    • Gnome::Gtk4::T-textview
    • Gnome::Gtk4::T-treednd
    • Gnome::Gtk4::T-treedragdest
    • Gnome::Gtk4::T-treemodel
    • Gnome::Gtk4::T-treesortable
    • Gnome::Gtk4::T-treeview
    • Gnome::Gtk4::T-treeviewcolumn
    • Gnome::Gtk4::T-types
    • Gnome::Gtk4::T-widget
    • Gnome::Gtk4::Text
    • Gnome::Gtk4::TextBuffer
    • Gnome::Gtk4::TextChildAnchor
    • Gnome::Gtk4::TextMark
    • Gnome::Gtk4::TextTag
    • Gnome::Gtk4::TextTagTable
    • Gnome::Gtk4::TextView
    • Gnome::Gtk4::ToggleButton
    • Gnome::Gtk4::Tooltip
    • Gnome::Gtk4::TreeExpander
    • Gnome::Gtk4::TreeListModel
    • Gnome::Gtk4::TreeListRow
    • Gnome::Gtk4::TreeListRowSorter
    • Gnome::Gtk4::TreeModelSort
    • Gnome::Gtk4::TreeSelection
    • Gnome::Gtk4::TreeStore
    • Gnome::Gtk4::TreeView
    • Gnome::Gtk4::TreeViewColumn
    • Gnome::Gtk4::Video
    • Gnome::Gtk4::Viewport
    • Gnome::Gtk4::VolumeButton
    • Gnome::Gtk4::Widget
    • Gnome::Gtk4::WidgetPaintable
    • Gnome::Gtk4::Window
    • Gnome::Gtk4::WindowControls
    • Gnome::Gtk4::WindowHandle

    Documentation

    The Camelia image is copyright 2009 by Larry Wall. "Raku" is trademark of the Yet Another Society. All rights reserved.