Panel – 1
Description: Reference for Panel-1

### Namespace

# Panel – 1

A dock/panel library for GTK 4

Version | 1.4.0
Authors | Christian Hergert
License | LGPL
Website |
Source | https://gitlab.gnome.org/GNOME/libpanel

#### Build

C headers | `libpanel.h`
pkg-config files | `libpanel-1`

#### Dependencies

GObject—2.0 | The base type system library
| Browse documentation

#### Additional documentation

- Introduction
- Classes Hierarchy

#### Classes

ActionMuxer |
Application |
Dock | The `PanelDock` is a widget designed to contain widgets that can be docked. Use the `PanelDock` as the top widget of your dockable UI.
DocumentWorkspace |
Frame | The `PanelFrame` is a widget containing panels to display in an area. The widgets are added internally in an `AdwTabView` to display them one at a time like in a stack.
FrameHeaderBar | A header bar for `PanelFrame`. It can optionally show an icon, it can have a popover to be displace, and it can also have prefix and suffix widgets.
FrameSwitcher | A `PanelFrameSwitcher` is a `PanelFrameHeader` that shows a row of buttons to switch between `GtkStack` pages, not disimilar to a `GtkStackSwitcher`.
FrameTabBar | A `PanelFrameHeader` that implements switching between tab views in a `PanelFrame`.
Grid | The `PanelGrid` is a widget used to layout the dock item in the center area.
GridColumn |
GSettingsActionGroup |
Inhibitor |
LayeredSettings |
MenuManager | The goal of `PanelMenuManager` is to simplify the process of merging multiple GtkBuilder .ui files containing menus into a single representation of the application menus. Additionally, it provides the ability to “unmerge” previously merged menus.
OmniBar | A multi-use widget for user interaction in the window header bar. You can add widgets, a popover to provide action items, an icon, updates on progress and pulse the main widget.
Paned | A `PanelPaned` is the concrete widget for a panel area.
Position | Specifies a position in the dock. You receive a `PanelPosition` in the handler to `PanelDock::create-frame`.
SaveDelegate |
SaveDialog |
Session |
SessionItem |
Settings |
Statusbar | A panel status bar is meant to be displayed at the bottom of the window. It can contain widgets in the prefix and in the suffix.
ThemeSelector | A widget that allow selecting theme preference between “dark”, “light” and “follow” the system preference.
ToggleButton | The `PanelToggleButton` is a button used to toggle the visibility of a `PanelDock` area.
Widget | PanelWidget is the base widget class for widgets added to a `PanelFrame`. It can be use as-is or you can subclass it.
Workbench |
Workspace |

#### Interfaces

FrameHeader | An interface implemented by the header of a `PanelFrame`.

#### Structs

Action |

#### Enumerations

Area | The area of the panel.

#### Callbacks

ActionActivateFunc |
FrameCallback | Callback passed to “foreach frame” functions.
WorkspaceForeach | This function is called for each workspace window within a `PanelWorkbench` when using panel_workbench_foreach_workspace(). since: 1.4

#### Functions

check_version |
finalize |
get_major_version |
get_micro_version |
get_minor_version |
get_resource |
init |
marshal_BOOLEAN__OBJECT_OBJECT |
marshal_BOOLEAN__OBJECT_OBJECTv |
marshal_OBJECT__OBJECT |
marshal_OBJECT__OBJECTv |

#### Function Macros

CHECK_VERSION | Compile-time version checking. Evaluates to `TRUE` if the version of libpanel is greater than the required one.
DEFINE_ACTION_GROUP | Use this to define a type that will implement GActionGroup.
ENCODE_VERSION |

#### Constants

MAJOR_VERSION | Libpanel major version component (e.g. 1 if `PANEL_VERSION` is 1.2.3)
MICRO_VERSION | Libpanel micro version component (e.g. 3 if `PANEL_VERSION` is 1.2.3)
MINOR_VERSION | Libpanel minor version component (e.g. 2 if `PANEL_VERSION` is 1.2.3)
VERSION_S | Libpanel version, encoded as a string, useful for printing and concatenation.
WIDGET_KIND_ANY |
WIDGET_KIND_DOCUMENT |
WIDGET_KIND_UNKNOWN |
WIDGET_KIND_UTILITY |