XfwWorkspaceGroup

XfwWorkspaceGroup — A group of workspaces

Stability Level

Unstable, unless otherwise indicated

Functions

Properties

XfwWorkspace * active-workspace Read
gpointer monitors Read
XfwScreen * screen Read / Write / Construct Only
XfwWorkspaceManager * workspace-manager Read / Write / Construct Only
gpointer workspaces Read

Signals

void active-workspace-changed Run Last
void capabilities-changed Run Last
void monitor-added Run Last
void monitor-removed Run Last
void monitors-changed Run Last
void viewports-changed Run Last
void workspace-added Run Last
void workspace-removed Run Last

Types and Values

Object Hierarchy

    GFlags
    ╰── XfwWorkspaceGroupCapabilities
    GInterface
    ╰── XfwWorkspaceGroup

Prerequisites

XfwWorkspaceGroup requires GObject.

Includes

#include <libxfce4windowing/libxfce4windowing.h>

Description

Workspaces may be arranged in groups, and groups may be present on different monitors. The XfwWorkspaceGroup can create and enumerate workspaces, as well as provide notifications when workspaces are created and destroyed.

Each workspace group may have an active workspace.

Workspace groups are displayed on a list of zero or more monitors, and have viewport coordinates.

Note that XfwWorkspaceGroup is actually an interface; when obtaining an instance, an instance of a windowing-environment-specific object that implements this interface will be returned.

Functions

xfw_workspace_group_get_capabilities ()

XfwWorkspaceGroupCapabilities
xfw_workspace_group_get_capabilities (XfwWorkspaceGroup *group);

Returns a bitfield describing operations allowed on this group .

Parameters

group

an XfwWorkspaceGroup.

 

Returns

an XfwWorkspaceGroupCapabilities bitfield.


xfw_workspace_group_get_workspace_count ()

guint
xfw_workspace_group_get_workspace_count
                               (XfwWorkspaceGroup *group);

Fetches the number of workspaces in group .

Parameters

group

an XfwWorkspaceGroup.

 

Returns

an unsigned integer describing the number of workspaces.


xfw_workspace_group_list_workspaces ()

GList *
xfw_workspace_group_list_workspaces (XfwWorkspaceGroup *group);

Lists the workspaces in group .

Parameters

group

an XfwWorkspaceGroup.

 

Returns

the list of XfwWorkspace in group , or NULL if there are no workspaces. The list and its contents are owned by group .

[nullable][element-type XfwWorkspace][transfer none]


xfw_workspace_group_get_active_workspace ()

XfwWorkspace *
xfw_workspace_group_get_active_workspace
                               (XfwWorkspaceGroup *group);

Gets the active workspace on group , if there is one.

Parameters

group

an XfwWorkspaceGroup.

 

Returns

an XfwWorkspace, or NULL if there is no active workspace.

[nullable][transfer none]


xfw_workspace_group_get_monitors ()

GList *
xfw_workspace_group_get_monitors (XfwWorkspaceGroup *group);

Lists the physical monitors that this workspace group displays on.

Parameters

group

an XfwWorkspaceGroup.

 

Returns

A list of XfwMonitor, or NULL if group is not displayed on any monitors. The list and its contents are owned by group .

[nullable][element-type XfwMonitor][transfer none]


xfw_workspace_group_get_workspace_manager ()

struct _XfwWorkspaceManager *
xfw_workspace_group_get_workspace_manager
                               (XfwWorkspaceGroup *group);

Fetches the XfwWorkspaceManager instance that owns group .

Parameters

group

an XfwWorkspaceGroup.

 

Returns

a XfwWorkspaceManager, owned by group .

[not nullable][transfer none]


xfw_workspace_group_create_workspace ()

gboolean
xfw_workspace_group_create_workspace (XfwWorkspaceGroup *group,
                                      const gchar *name,
                                      GError **error);

Attempts to create a new workspace on group . Typically, the new workspace will be appended to the existing list of workspaces.

On failure, error (if provided) will be set to a description of the error that occurred.

Parameters

group

an XfwWorkspaceGroup.

 

name

a name for the new workspace.

 

error

a location to store a possible error.

[out callee-allocates]

Returns

TRUE if workspace creation succeeded, FALSE otherwise. If FALSE, and error is non-NULL, an error will be returned that must be freed using g_error_free().


xfw_workspace_group_move_viewport ()

gboolean
xfw_workspace_group_move_viewport (XfwWorkspaceGroup *group,
                                   gint x,
                                   gint y,
                                   GError **error);

Moves the workspace group to a new location, and possibly a new monitor.

On failure, error (if provided) will be set to a description of the error that occurred.

Parameters

group

an XfwWorkspaceGroup.

 

x

a coordinate in the horizontal direction.

 

y

a coordinate in the vertical direction.

 

error

a location to store a possible error.

[out callee-allocates]

Returns

TRUE if moving the workspace group succeeded, FALSE otherwise. If FALSE, and error is non-NULL, an error will be returned that must be freed using g_error_free().


xfw_workspace_group_set_layout ()

gboolean
xfw_workspace_group_set_layout (XfwWorkspaceGroup *group,
                                gint rows,
                                gint columns,
                                GError **error);

Sets the layout of group to rows by columns .

Note that this will not change the number of workspaces if the new layout implies a larger number of workspaces than currently exists.

On failure, error (if provided) will be set to a description of the error that occurred.

Parameters

group

an XfwWorkspaceGroup.

 

rows

the new numbers of rows.

 

columns

the new number of columns.

 

error

a location to store a possible error.

[out callee-allocates]

Returns

TRUE if changing the layout of group succeede, FALSE otherwise. If FALSE, and error is non-NULL, an error will be returned that must be freed using g_error_free().

Types and Values

XfwWorkspaceGroup

typedef struct _XfwWorkspaceGroup XfwWorkspaceGroup;

enum XfwWorkspaceGroupCapabilities

Flags enum representing a bitfield of actions that can be performed on this workspace group.

Members

XFW_WORKSPACE_GROUP_CAPABILITIES_NONE

group has no capabilities.

 

XFW_WORKSPACE_GROUP_CAPABILITIES_CREATE_WORKSPACE

new workspaces can be created in this group.

 

XFW_WORKSPACE_GROUP_CAPABILITIES_MOVE_VIEWPORT

the viewport coordinates for this group can be changed.

 

XFW_WORKSPACE_GROUP_CAPABILITIES_SET_LAYOUT

the number of rows and columns for this group can be changed.

 

XfwWorkspaceGroupIface

typedef struct _XfwWorkspaceGroupInterface XfwWorkspaceGroupIface;

Property Details

The “active-workspace” property

  “active-workspace”         XfwWorkspace *

The active XfwWorkspace on this XfwWorkspaceGroup, or NULL.

Owner: XfwWorkspaceGroup

Flags: Read


The “monitors” property

  “monitors”                 gpointer

The list of XfwMonitor this XfwWorkspaceGroup is displayed on.

Owner: XfwWorkspaceGroup

Flags: Read


The “screen” property

  “screen”                   XfwScreen *

The XfwScreen that owns this XfwWorkspaceGroup.

Owner: XfwWorkspaceGroup

Flags: Read / Write / Construct Only


The “workspace-manager” property

  “workspace-manager”        XfwWorkspaceManager *

The XfwWorkspaceManager instance that manages this XfwWorkspaceGroup.

Owner: XfwWorkspaceGroup

Flags: Read / Write / Construct Only


The “workspaces” property

  “workspaces”               gpointer

The list of XfwWorkspace in this XfwWorkspaceGroup.

Owner: XfwWorkspaceGroup

Flags: Read

Signal Details

The “active-workspace-changed” signal

void
user_function (XfwWorkspaceGroup *group,
               XfwWorkspace      *previously_active_workspace,
               gpointer           user_data)

Emitted when the active workspace of group changes.

Parameters

group

the object which received the signal.

 

previously_active_workspace

the previously active XfwWorkspace, or NULL.

[nullable]

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “capabilities-changed” signal

void
user_function (XfwWorkspaceGroup            *group,
               XfwWorkspaceGroupCapabilities changed_mask,
               XfwWorkspaceGroupCapabilities new_capabilities,
               gpointer                      user_data)

Emitted when capabilities have changed on group .

Parameters

group

the object which received the signal.

 

changed_mask

a bitfield representing the capabilities that have changed.

 

new_capabilities

a bitfield of the new capabilities.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “monitor-added” signal

void
user_function (XfwWorkspaceGroup *group,
               XfwMonitor        *monitor,
               gpointer           user_data)

Emitted when group is added to a new monitor.

Parameters

group

the object which received the signal.

 

monitor

a XfwMonitor.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “monitor-removed” signal

void
user_function (XfwWorkspaceGroup *group,
               XfwMonitor        *monitor,
               gpointer           user_data)

Emitted when group is removed from a monitor.

Parameters

group

the object which received the signal.

 

monitor

a XfwMonitor.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “monitors-changed” signal

void
user_function (XfwWorkspaceGroup *group,
               gpointer           user_data)

Emitted when group moves to a new set of monitors.

Parameters

group

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “viewports-changed” signal

void
user_function (XfwWorkspaceGroup *group,
               gpointer           user_data)

Emitted when group 's viewport coordinates have changed.

Parameters

group

the object which recieved the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “workspace-added” signal

void
user_function (XfwWorkspaceGroup *group,
               XfwWorkspace      *workspace,
               gpointer           user_data)

Emitted when workspace joins group .

Parameters

group

the object which received the signal.

 

workspace

the XfwWorkspace added to the group.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “workspace-removed” signal

void
user_function (XfwWorkspaceGroup *group,
               XfwWorkspace      *workspace,
               gpointer           user_data)

Emitted when workspace leaves group .

Parameters

group

the object which received the signal.

 

workspace

the XfwWorkspace removed from the group.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last