Skip to content

Gtk.ShortcutsWindow

class — extends Window, Accessible, Buildable, ConstraintTarget, Native, Root, ShortcutManager

:::warning Deprecated since 4.18 This API is deprecated. :::

A GtkShortcutsWindow shows information about the keyboard shortcuts and gestures of an application.

The shortcuts can be grouped, and you can have multiple sections in this window, corresponding to the major modes of your application.

Additionally, the shortcuts can be filtered by the current view, to avoid showing information that is not relevant in the current application context.

The recommended way to construct a GtkShortcutsWindow is with Builder, by using the <child> tag to populate a GtkShortcutsWindow with one or more ShortcutsSection objects, which contain one or more ShortcutsGroup instances, which, in turn, contain ShortcutsShortcut instances.

If you need to add a section programmatically, use ShortcutsWindow.add_section instead of Window.set_child, as the shortcuts window manages its children directly.

A simple example:

<picture> <source srcset="gedit-shortcuts-dark.png" media="(prefers-color-scheme: dark)"> <img alt="A simple example" src="gedit-shortcuts.png"> </picture>

This example has as single section. As you can see, the shortcut groups are arranged in columns, and spread across several pages if there are too many to find on a single page.

The .ui file for this example can be found here.

An example with multiple views:

<picture> <source srcset="clocks-shortcuts-dark.png" media="(prefers-color-scheme: dark)"> <img alt="An example with multiple views" src="clocks-shortcuts.png"> </picture>

This example shows a GtkShortcutsWindow that has been configured to show only the shortcuts relevant to the “Stopwatch” view.

The .ui file for this example can be found here.

An example with multiple sections:

<picture> <source srcset="builder-shortcuts-dark.png" media="(prefers-color-scheme: dark)"> <img alt="An example with multiple sections" src="builder-shortcuts.png"> </picture>

This example shows a GtkShortcutsWindow with two sections, “Editor Shortcuts” and “Terminal Shortcuts”.

The .ui file for this example can be found here.

Shortcuts and Gestures

The following signals have default keybindings:

CSS nodes

GtkShortcutsWindow has a single CSS node with the name window and style class .shortcuts.

Methods

add_section

def add_section(self, section: ShortcutsSection) -> None

:::warning Deprecated since 4.18 This API is deprecated. :::

Adds a section to the shortcuts window.

This is the programmatic equivalent to using Builder and a <child> tag to add the child.

Using Window.set_child is not appropriate as the shortcuts window manages its children internally.

Parameters:

  • section — the GtkShortcutsSection to add

Properties

section_name

section_name: str  # read/write

:::warning Deprecated since 4.18 This API is deprecated. :::

The name of the section to show.

This should be the section-name of one of the GtkShortcutsSection objects that are in this shortcuts window.

view_name

view_name: str  # read/write

:::warning Deprecated since 4.18 This API is deprecated. :::

The view name by which to filter the contents.

This should correspond to the ShortcutsGroup.view property of some of the ShortcutsGroup objects that are inside this shortcuts window.

Set this to None to show all groups.

Signals

close

def on_close(self) -> None: ...

:::warning Deprecated since 4.18 This API is deprecated. :::

Emitted when the user uses a keybinding to close the window.

This is a keybinding signal.

The default binding for this signal is the <kbd>Escape</kbd> key.

def on_search(self) -> None: ...

:::warning Deprecated since 4.18 This API is deprecated. :::

Emitted when the user uses a keybinding to start a search.

This is a keybinding signal.

The default binding for this signal is <kbd>Control</kbd>+<kbd>F</kbd>.