## IdeGreeterWorkspace IdeGreeterWorkspace — The greeter upon starting Builder |

## Functions

IdeGreeterWorkspace * | ide_greeter_workspace_new ()
void | ide_greeter_workspace_add_section ()
void | ide_greeter_workspace_remove_section ()
void | ide_greeter_workspace_add_button ()
void | ide_greeter_workspace_begin ()
void | ide_greeter_workspace_end ()
gboolean | ide_greeter_workspace_get_selection_mode ()
void | ide_greeter_workspace_set_selection_mode ()
void | ide_greeter_workspace_open_project ()

## Properties

gboolean | selection-mode | Read / Write

## Types and Values

#define | IDE_TYPE_GREETER_WORKSPACE
| IdeGreeterWorkspace

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkWidget
                ╰── GtkContainer
                    ╰── GtkBin
                        ╰── GtkWindow
                            ╰── GtkApplicationWindow
                                ╰── DzlApplicationWindow
                                    ╰── IdeWorkspace
                                        ╰── IdeGreeterWorkspace

## Implemented Interfaces

IdeGreeterWorkspace implements AtkImplementorIface, GtkBuildable, GActionGroup and GActionMap.

## Description

Use the IdeWorkspace APIs to add surfaces for user guides such as the git workflow or project creation wizard.

You can add buttons to the headerbar and use actions to change surfaces such as "win.surface::'surface-name'".

## Functions

### ide_greeter_workspace_new ()

    IdeGreeterWorkspace *
    ide_greeter_workspace_new (IdeApplication *app);

### ide_greeter_workspace_add_section ()

    void
    ide_greeter_workspace_add_section (IdeGreeterWorkspace *self,
                                       IdeGreeterSection *section);

Adds the IdeGreeterSection to the display.

#### Parameters

self | a IdeGreeterWorkspace |
section | an IdeGreeterSection based GtkWidget |

Since: 3.32

### ide_greeter_workspace_remove_section ()

    void
    ide_greeter_workspace_remove_section (IdeGreeterWorkspace *self,
                                          IdeGreeterSection *section);

Remvoes the IdeGreeterSection from the display. This should be a section that was previously added with `ide_greeter_workspace_add_section()`.

Plugins should clean up after themselves when they are unloaded, which may include calling this function.

#### Parameters

self | a IdeGreeterWorkspace |
section | an IdeGreeterSection based GtkWidget |

Since: 3.32

### ide_greeter_workspace_add_button ()

    void
    ide_greeter_workspace_add_button (IdeGreeterWorkspace *self,
                                      GtkWidget *button,
                                      gint priority);

### ide_greeter_workspace_begin ()

    void
    ide_greeter_workspace_begin (IdeGreeterWorkspace *self);

This function will disable various actions and should be called before an IdeGreeterAddin begins doing work that cannot be undone except to cancel the operation.

Actions such as switching guides will be disabled during this process.

See `ide_greeter_workspace_end()` to restore actions.

#### Parameters

self | a IdeGreeterWorkspace |

Since: 3.32

### ide_greeter_workspace_end ()

    void
    ide_greeter_workspace_end (IdeGreeterWorkspace *self);

Restores actions after a call to `ide_greeter_workspace_begin()`.

#### Parameters

self | a IdeGreeterWorkspace |

Since: 3.32

### ide_greeter_workspace_get_selection_mode ()

    gboolean
    ide_greeter_workspace_get_selection_mode
                                   (IdeGreeterWorkspace *self);

Gets if the greeter is in selection mode, which means that the workspace allows selecting projects for removal.

#### Parameters

self | a IdeGreeterWorkspace |

#### Returns

`TRUE` if in selection mode, otherwise `FALSE`

Since: 3.32

### ide_greeter_workspace_set_selection_mode ()

    void
    ide_greeter_workspace_set_selection_mode
                                   (IdeGreeterWorkspace *self,
                                    gboolean selection_mode);

Sets the workspace in selection mode.

#### Parameters

self | a IdeGreeterWorkspace |
selection_mode | if the workspace should be in selection mode |

Since: 3.32

### ide_greeter_workspace_open_project ()

    void
    ide_greeter_workspace_open_project (IdeGreeterWorkspace *self,
                                        IdeProjectInfo *project_info);

Opens the project described by `project_info` .

This is useful by greeter workspace extensions that add new surfaces which may not have other means to activate a project.

#### Parameters

self | an IdeGreeterWorkspace |
project_info | an IdeProjectInfo |

Since: 3.32

## Types and Values

### IDE_TYPE_GREETER_WORKSPACE

    #define IDE_TYPE_GREETER_WORKSPACE (ide_greeter_workspace_get_type())

### IdeGreeterWorkspace

    typedef struct _IdeGreeterWorkspace IdeGreeterWorkspace;

## Property Details

### The `“selection-mode”` property

      “selection-mode”           gboolean

The "selection-mode" property indicates if the workspace allows selecting existing projects and removing them, including source files and cached data.

This is usually used by the checkmark button to toggle selections.

Owner: IdeGreeterWorkspace

Flags: Read / Write

Default value: FALSE

Since: 3.32