## GtkShortcutManager GtkShortcutManager — Interface for managing shortcuts |

## Types and Values

| GtkShortcutManager
struct | GtkShortcutManagerInterface

## Object Hierarchy

        GInterface
        ╰── GtkShortcutManager

## Prerequisites

GtkShortcutManager requires GObject.

## Known Implementations

GtkShortcutManager is implemented by GtkAboutDialog, GtkAppChooserDialog, GtkApplicationWindow, GtkAssistant, GtkColorChooserDialog, GtkDialog, GtkEmojiChooser, GtkFileChooserDialog, GtkFontChooserDialog, GtkMessageDialog, GtkPageSetupUnixDialog, GtkPopover, GtkPopoverMenu, GtkPrintUnixDialog, GtkShortcutsWindow and GtkWindow.

## Includes

    #include <gtk/gtk.h>

## Description

The GtkShortcutManager interface is used to implement shortcut scopes.

This is important for GtkNative widgets that have their own surface, since the event controllers that are used to implement managed and global scopes are limited to the same native.

Examples for widgets implementing GtkShortcutManager are GtkWindow and GtkPopover.

## Functions

## Types and Values

### GtkShortcutManager

    typedef struct _GtkShortcutManager GtkShortcutManager;

This object is used to implement support for GtkShortcutScopes. Every widget that implements GtkShortcutManager will be used as a `GTK_SHORTCUT_SCOPE_MANAGED`.

### struct GtkShortcutManagerInterface

    struct GtkShortcutManagerInterface {
      void                  (* add_controller)              (GtkShortcutManager           *self,
                                                             GtkShortcutController        *controller);
      void                  (* remove_controller)           (GtkShortcutManager           *self,
                                                             GtkShortcutController        *controller);
    };

The list of functions that can be implemented for the GtkShortcutManager interface.

Note that no function is mandatory to implement, the default implementation will work fine.

#### Members

`add_controller` () | Add a GtkShortcutController to be managed. |
`remove_controller` () | Remove a GtkShortcutController that had previously been added. |