Class: Gtk::SearchBar
- Defined in:
- (unknown)
Overview
GtkSearchBar is a container made to have a search entry.

It can also contain additional widgets, such as drop-down menus, or buttons. The search bar would appear when a search is started through typing on the keyboard, or the application’s search mode is toggled on.
For keyboard presses to start a search, the search bar must be told of a widget to capture key events from through [methodGtk.SearchBar.set_key_capture_widget]. This widget will typically be the top-level window, or a parent container of the search bar. Common shortcuts such as Ctrl+F should be handled as an application action, or through the menu items.
You will also need to tell the search bar about which entry you are using as your search entry using [methodGtk.SearchBar.connect_entry].
Creating a search bar
The following example shows you how to create a more complex search entry.
CSS nodes
╰── revealer
╰── box
├── [child]
╰── [.close]
GtkSearchBar has a main CSS node with name searchbar. It has a child
node with name revealer that contains a node with name box. The box node
contains both the CSS node of the child widget as well as an optional button
node which gets the .close style class applied.
Accessibility
GtkSearchBar uses the %GTK_ACCESSIBLE_ROLE_SEARCH role.
Instance Method Summary collapse
-
#child ⇒ Gtk::Widget
The child widget.
-
#child=(child) ⇒ Gtk::Widget
The child widget.
-
#connect_entry(entry) ⇒ nil
Connects the
GtkEditablewidget passed as the one to be used in this search bar. -
#initialize ⇒ Gtk::Widget
constructor
Creates a
GtkSearchBar. -
#key_capture_widget ⇒ Gtk::Widget
The key capture widget.
-
#key_capture_widget=(key_capture_widget) ⇒ Gtk::Widget
The key capture widget.
-
#search_mode ⇒ Boolean
Returns whether the search mode is on or off.
-
#search_mode=(search_mode) ⇒ nil
Switches the search mode on or off.
-
#search_mode_enabled=(search_mode_enabled) ⇒ Boolean
Whether the search mode is on and the search bar shown.
-
#search_mode_enabled? ⇒ Boolean
Whether the search mode is on and the search bar shown.
-
#show_close_button ⇒ Boolean
Returns whether the close button is shown.
-
#show_close_button=(show_close_button) ⇒ Boolean
Whether to show the close button in the search bar.
-
#show_close_button? ⇒ Boolean
Whether to show the close button in the search bar.
Methods inherited from Widget
#accessible_role, #accessible_role=, #action_set_enabled, #activate, #activate_action, #activate_action_variant, #activate_default, #activate_signal, #activate_signal=, #activate_signal_from_name=, #add_binding, #add_binding_action, #add_binding_signal, #add_controller, #add_css_class, #add_mnemonic_label, #add_shortcut, #add_tick_callback, #allocate, #allocated_baseline, #allocated_height, #allocated_width, #baseline, #bind_template_callback_full, #bind_template_child_full, #can_focus, #can_focus=, #can_focus?, #can_target, #can_target=, #can_target?, #child_focus, #child_visible, #child_visible=, #clipboard, #compute_bounds, #compute_expand, #compute_point, #compute_transform, #contains, #create_pango_context, #create_pango_layout, #css_classes, #css_classes=, #css_name, #css_name=, #cursor, #cursor=, #cursor_from_name=, default_direction, default_direction=, #direction, #direction=, #display, #dispose_template, #drag_check_threshold, #error_bell, #first_child, #focus_child, #focus_child=, #focus_on_click, #focus_on_click=, #focus_on_click?, #focusable, #focusable=, #focusable?, #font_map, #font_map=, #font_options, #font_options=, #frame_clock, #get_allocation, #get_ancestor, #get_color, #get_preferred_size, #get_size, #get_size_request, #get_template_child, #grab_focus, #halign, #halign=, #has_css_class, #has_default, #has_default=, #has_default?, #has_focus, #has_focus=, #has_focus?, #has_tooltip, #has_tooltip=, #has_tooltip?, #has_visible_focus, #height, #height_request, #height_request=, #hexpand, #hexpand=, #hexpand?, #hexpand_set, #hexpand_set=, #hexpand_set?, #hide, #in_destruction, #init_template, #insert_action_group, #insert_after, #insert_before, #install_action, #install_property_action, #is_ancestor, #is_drawable, #is_focus, #is_sensitive, #is_visible, #keynav_failed, #last_child, #layout_manager, #layout_manager=, #layout_manager_type, #layout_manager_type=, #list_mnemonic_labels, #map, #mapped, #margin_bottom, #margin_bottom=, #margin_end, #margin_end=, #margin_start, #margin_start=, #margin_top, #margin_top=, #measure, #mnemonic_activate, #name, #name=, #native, #next_sibling, #observe_children, #observe_controllers, #opacity, #opacity=, #overflow, #overflow=, #pango_context, #parent, #parent=, #pick, #prev_sibling, #primary_clipboard, #query_action, #queue_allocate, #queue_draw, #queue_resize, #realize, #realized, #receives_default, #receives_default=, #receives_default?, #remove_controller, #remove_css_class, #remove_mnemonic_label, #remove_tick_callback, #request_mode, #root, #root=, #scale_factor, #scale_factor=, #sensitive, #sensitive=, #sensitive?, #set_size_request, #set_state_flags, #settings, #should_layout, #show, #size_allocate, #snapshot_child, #state_flags, #style_context, #template=, #template_from_resource=, #template_scope=, #tooltip_markup, #tooltip_markup=, #tooltip_text, #tooltip_text=, #translate_coordinates, #trigger_tooltip_query, #unmap, #unparent, #unrealize, #unset_state_flags, #valign, #valign=, #vexpand, #vexpand=, #vexpand?, #vexpand_set, #vexpand_set=, #vexpand_set?, #visible, #visible=, #visible?, #width, #width_request, #width_request=
Constructor Details
#initialize ⇒ Gtk::Widget
Creates a GtkSearchBar.
You will need to tell it about which widget is going to be your text entry using [methodGtk.SearchBar.connect_entry].
Instance Method Details
#child ⇒ Gtk::Widget
The child widget.
#child=(child) ⇒ Gtk::Widget
The child widget.
#connect_entry(entry) ⇒ nil
Connects the GtkEditable widget passed as the one to be used in
this search bar.
The entry should be a descendant of the search bar. Calling this function manually is only required if the entry isn’t the direct child of the search bar (as in our main example).
#key_capture_widget ⇒ Gtk::Widget
The key capture widget.
#key_capture_widget=(key_capture_widget) ⇒ Gtk::Widget
The key capture widget.
#search_mode ⇒ Boolean
Returns whether the search mode is on or off.
#search_mode=(search_mode) ⇒ nil
Switches the search mode on or off.
#search_mode_enabled=(search_mode_enabled) ⇒ Boolean
Whether the search mode is on and the search bar shown.
#search_mode_enabled? ⇒ Boolean
Whether the search mode is on and the search bar shown.
#show_close_button ⇒ Boolean
Returns whether the close button is shown.
#show_close_button=(show_close_button) ⇒ Boolean
Whether to show the close button in the search bar.
#show_close_button? ⇒ Boolean
Whether to show the close button in the search bar.