GObject Oriented Panel Plugin Registers Macros

GObject Oriented Panel Plugin Registers Macros — Macros to register panel plugins, written as GObjects.

Functions

Types and Values

Includes

#include <libxfce4panel/libxfce4panel.h>

Description

Macros to register panel plugin types and custom types inside panel plugins.

Functions

XFCE_PANEL_DEFINE_PLUGIN()

#define             XFCE_PANEL_DEFINE_PLUGIN(TypeName, type_name, args...)

Define a new (resident) GObject panel plugin, the parent type of the object should be XFCE_TYPE_PANEL_PLUGIN.

Parameters

TypeName

The name of the new type, in Camel case.

 

type_name

The name of the new type, in lowercase, with words separated by '_'.

 

...

Optional list of *_register_type() function from other objects in the plugin created with XFCE_PANEL_DEFINE_TYPE.

 

Since: 4.8


XFCE_PANEL_DEFINE_PLUGIN_RESIDENT()

#define             XFCE_PANEL_DEFINE_PLUGIN_RESIDENT(TypeName, type_name, args...)

Same as XFCE_PANEL_DEFINE_PLUGIN, but if you use special libraries or objects, it is possible the plugin will give problems when unloading the library, a resident plugin will never be unloaded after the first load, avoiding those issues.

Parameters

TypeName

The name of the new type, in Camel case.

 

type_name

The name of the new type, in lowercase, with words separated by '_'.

 

...

Optional list of *_register_type() function from other objects in the plugin created with XFCE_PANEL_DEFINE_TYPE.

 

Since: 4.8


XFCE_PANEL_DEFINE_TYPE()

#define             XFCE_PANEL_DEFINE_TYPE(TypeName, type_name, TYPE_PARENT)

A convenient macro of G_DEFINE_DYNAMIC_TYPE for panel plugins. Only difference with G_DEFINE_DYNAMIC_TYPE is that the type name send to g_type_module_register_type() is prefixed with "Xfce". This allows you use use shorted structure names in the code, while the real name of the object is a full "Xfce" name.

The _register_type function should be added to the args in XFCE_PANEL_DEFINE_PLUGIN.

Parameters

TypeName

The name of the new type, in Camel case.

 

type_name

The name of the new type, in lowercase, with words separated by '_'.

 

TYPE_PARENT

The GType of the parent type.

 

Since: 4.8


XFCE_PANEL_DEFINE_PREINIT_FUNC()

#define             XFCE_PANEL_DEFINE_PREINIT_FUNC(preinit_func)

Registers a pre-init function in the plugin module. This function is called before gtk_init() and can be used to initialize special libaries. Downside of this that the plugin cannot run internal. Even if you set X-XFCE-Interal=TRUE in the desktop file, the panel will force the plugin to run inside a wrapper (this because the panel called gtk_init() long before it starts to load the plugins).

Note that you can only use this once and it only works in combination with the plugins register/define functions added in 4.8.

Parameters

preinit_func

name of the function that points to an XfcePanelPluginPreInit function.

 

Since: 4.8

Types and Values

XfcePanelTypeModule

typedef GTypeModule XfcePanelTypeModule;

Typedef for GTypeModule for possible future expansion.

Since: 4.8