Convenience Functions

## Convenience Functions Convenience Functions — Special purpose widgets and utilities. |

## Synopsis

    GtkWidget*          xfce_create_panel_button            (void);
    GtkWidget*          xfce_create_panel_toggle_button     (void);
    gboolean            xfce_allow_panel_customization      (void);
    #define             panel_slice_alloc                   (block_size)
    #define             panel_slice_alloc0                  (block_size)
    #define             panel_slice_free                    (type, ptr)
    #define             panel_slice_free1                   (block_size, mem_block)
    #define             panel_slice_new                     (type)
    #define             panel_slice_new0                    (type)

## Description

This section describes a number of functions that were created to help developers of Xfce Panel plugins.

## Details

### xfce_create_panel_button ()

    GtkWidget*          xfce_create_panel_button            (void);

Create regular GtkToggleButton with a few properties set to be useful in Xfce panel: Flat (`GTK_RELIEF_NONE`), no focus on click and minimal padding.

Returns : | newly created GtkToggleButton.

### xfce_create_panel_toggle_button ()

    GtkWidget*          xfce_create_panel_toggle_button     (void);

Returns : |

### xfce_allow_panel_customization ()

    gboolean            xfce_allow_panel_customization      (void);

Check if the user is allowed to customize the panel. Uses the kiosk mode implementation from libxfce4util.

Returns : | `TRUE` if the user is allowed to customize the panel, `FALSE` otherwise.

### panel_slice_alloc()

    #define             panel_slice_alloc(block_size)

`block_size` : |

### panel_slice_alloc0()

    #define             panel_slice_alloc0(block_size)

`block_size` : |

### panel_slice_free()

    #define             panel_slice_free(type, ptr)

`type` : |
`ptr` : |

### panel_slice_free1()

    #define             panel_slice_free1(block_size, mem_block)

`block_size` : |
`mem_block` : |

### panel_slice_new()

    #define             panel_slice_new(type)

`type` : |

### panel_slice_new0()

    #define             panel_slice_new0(type)

`type` : |