// This file was generated by gir (https://github.com/gtk-rs/gir)
// from gir-files.gtk (https://github.com/gtk-rs/gir-files)
// from gir-files.xfce
// DO NOT EDIT

#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
#![allow(
    clippy::approx_constant,
    clippy::type_complexity,
    clippy::unreadable_literal,
    clippy::upper_case_acronyms
)]
#![cfg_attr(docsrs, feature(doc_cfg))]

use gdk_sys as gdk;
use gio_sys as gio;
use glib_sys as glib;
use gobject_sys as gobject;
use gtk_sys as gtk;

#[allow(unused_imports)]
use libc::{FILE, intptr_t, off_t, size_t, ssize_t, time_t, uintptr_t};
#[cfg(unix)]
#[allow(unused_imports)]
use libc::{dev_t, gid_t, pid_t, socklen_t, uid_t};
#[allow(unused_imports)]
use std::ffi::{
    c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
};

#[allow(unused_imports)]
use glib::{GType, gboolean, gconstpointer, gpointer};

// Aliases
pub type XfceScreenSaver = XfceScreensaver;

// Enums
pub type XfceGtkMenuItem = c_int;
pub const XFCE_GTK_MENU_ITEM: XfceGtkMenuItem = 0;
pub const XFCE_GTK_IMAGE_MENU_ITEM: XfceGtkMenuItem = 1;
pub const XFCE_GTK_CHECK_MENU_ITEM: XfceGtkMenuItem = 2;
pub const XFCE_GTK_RADIO_MENU_ITEM: XfceGtkMenuItem = 3;

pub type XfceIconViewDropPosition = c_int;
pub const XFCE_ICON_VIEW_NO_DROP: XfceIconViewDropPosition = 0;
pub const XFCE_ICON_VIEW_DROP_INTO: XfceIconViewDropPosition = 1;
pub const XFCE_ICON_VIEW_DROP_LEFT: XfceIconViewDropPosition = 2;
pub const XFCE_ICON_VIEW_DROP_RIGHT: XfceIconViewDropPosition = 3;
pub const XFCE_ICON_VIEW_DROP_ABOVE: XfceIconViewDropPosition = 4;
pub const XFCE_ICON_VIEW_DROP_BELOW: XfceIconViewDropPosition = 5;

pub type XfceIconViewLayoutMode = c_int;
pub const XFCE_ICON_VIEW_LAYOUT_ROWS: XfceIconViewLayoutMode = 0;
pub const XFCE_ICON_VIEW_LAYOUT_COLS: XfceIconViewLayoutMode = 1;

pub type XfceItemListModelColumn = c_int;
pub const XFCE_ITEM_LIST_MODEL_COLUMN_ACTIVE: XfceItemListModelColumn = 0;
pub const XFCE_ITEM_LIST_MODEL_COLUMN_ACTIVABLE: XfceItemListModelColumn = 1;
pub const XFCE_ITEM_LIST_MODEL_COLUMN_ICON: XfceItemListModelColumn = 2;
pub const XFCE_ITEM_LIST_MODEL_COLUMN_NAME: XfceItemListModelColumn = 3;
pub const XFCE_ITEM_LIST_MODEL_COLUMN_TOOLTIP: XfceItemListModelColumn = 4;
pub const XFCE_ITEM_LIST_MODEL_COLUMN_EDITABLE: XfceItemListModelColumn = 5;
pub const XFCE_ITEM_LIST_MODEL_COLUMN_REMOVABLE: XfceItemListModelColumn = 6;
pub const XFCE_ITEM_LIST_MODEL_COLUMN_USER: XfceItemListModelColumn = 7;

pub type XfceItemListViewColumn = c_int;
pub const XFCE_ITEM_LIST_VIEW_COLUMN_ACTIVE: XfceItemListViewColumn = 0;
pub const XFCE_ITEM_LIST_VIEW_COLUMN_ICON: XfceItemListViewColumn = 1;
pub const XFCE_ITEM_LIST_VIEW_COLUMN_NAME: XfceItemListViewColumn = 2;
pub const XFCE_ITEM_LIST_VIEW_COLUMN_USER: XfceItemListViewColumn = 3;

pub type XfceSMClientPriority = c_int;
pub const XFCE_SM_CLIENT_PRIORITY_HIGHEST: XfceSMClientPriority = 0;
pub const XFCE_SM_CLIENT_PRIORITY_WM: XfceSMClientPriority = 15;
pub const XFCE_SM_CLIENT_PRIORITY_CORE: XfceSMClientPriority = 25;
pub const XFCE_SM_CLIENT_PRIORITY_DESKTOP: XfceSMClientPriority = 35;
pub const XFCE_SM_CLIENT_PRIORITY_DEFAULT: XfceSMClientPriority = 50;
pub const XFCE_SM_CLIENT_PRIORITY_LOWEST: XfceSMClientPriority = 255;

pub type XfceSMClientRestartStyle = c_int;
pub const XFCE_SM_CLIENT_RESTART_NORMAL: XfceSMClientRestartStyle = 0;
pub const XFCE_SM_CLIENT_RESTART_IMMEDIATELY: XfceSMClientRestartStyle = 1;

pub type XfceSMClientShutdownHint = c_int;
pub const XFCE_SM_CLIENT_SHUTDOWN_HINT_ASK: XfceSMClientShutdownHint = 0;
pub const XFCE_SM_CLIENT_SHUTDOWN_HINT_LOGOUT: XfceSMClientShutdownHint = 1;
pub const XFCE_SM_CLIENT_SHUTDOWN_HINT_HALT: XfceSMClientShutdownHint = 2;
pub const XFCE_SM_CLIENT_SHUTDOWN_HINT_REBOOT: XfceSMClientShutdownHint = 3;

pub type XfceSmCLientErrorEnum = c_int;
pub const XFCE_SM_CLIENT_ERROR_FAILED: XfceSmCLientErrorEnum = 0;
pub const XFCE_SM_CLIENT_ERROR_INVALID_CLIENT: XfceSmCLientErrorEnum = 1;

// Constants
pub const XFCE_BUTTON_TYPE_MIXED: &[u8] = b"button-mixed\0";
pub const XFCE_BUTTON_TYPE_PIXBUF: &[u8] = b"button-pixbuf\0";
pub const XFCE_MENU_ATTRIBUTE_HIDE_IN_BUTTONS: &[u8] = b"hide-in-buttons\0";
pub const XFCE_MENU_ATTRIBUTE_HIDE_IN_CONTEXT_MENU: &[u8] = b"hide-in-context-menu\0";
pub const XFCE_MENU_ATTRIBUTE_MOVEMENT: &[u8] = b"movement\0";
pub const XFCE_MENU_ATTRIBUTE_TOOLTIP: &[u8] = b"tooltip\0";

// Flags
pub type XfceItemListModelFlags = c_uint;
pub const XFCE_ITEM_LIST_MODEL_NONE: XfceItemListModelFlags = 0;
pub const XFCE_ITEM_LIST_MODEL_REORDERABLE: XfceItemListModelFlags = 1;
pub const XFCE_ITEM_LIST_MODEL_ADDABLE: XfceItemListModelFlags = 2;
pub const XFCE_ITEM_LIST_MODEL_REMOVABLE: XfceItemListModelFlags = 4;
pub const XFCE_ITEM_LIST_MODEL_EDITABLE: XfceItemListModelFlags = 8;
pub const XFCE_ITEM_LIST_MODEL_RESETTABLE: XfceItemListModelFlags = 16;

// Callbacks
pub type XfceIconViewForeachFunc =
    Option<unsafe extern "C" fn(*mut XfceIconView, *mut gtk::GtkTreePath, gpointer)>;
pub type XfceIconViewSearchEqualFunc = Option<
    unsafe extern "C" fn(
        *mut gtk::GtkTreeModel,
        c_int,
        *const c_char,
        *mut gtk::GtkTreeIter,
        gpointer,
    ) -> gboolean,
>;
pub type XfceIconViewSearchPositionFunc =
    Option<unsafe extern "C" fn(*mut XfceIconView, *mut gtk::GtkWidget, gpointer)>;

// Records
#[derive(Copy, Clone)]
#[repr(C)]
pub struct XfceCellRendererIconClass {
    pub parent_class: gtk::GtkCellRendererClass,
}

impl ::std::fmt::Debug for XfceCellRendererIconClass {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("XfceCellRendererIconClass @ {self:p}"))
            .field("parent_class", &self.parent_class)
            .finish()
    }
}

#[derive(Copy, Clone)]
#[repr(C)]
pub struct XfceClipboardManagerClass {
    pub parent_class: gobject::GObjectClass,
}

impl ::std::fmt::Debug for XfceClipboardManagerClass {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("XfceClipboardManagerClass @ {self:p}"))
            .field("parent_class", &self.parent_class)
            .finish()
    }
}

#[repr(C)]
#[allow(dead_code)]
pub struct _XfceFilenameInputClass {
    _data: [u8; 0],
    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
}

pub type XfceFilenameInputClass = _XfceFilenameInputClass;

#[derive(Copy, Clone)]
#[repr(C)]
pub struct XfceGtkActionEntry {
    pub id: c_uint,
    pub accel_path: *const c_char,
    pub default_accelerator: *const c_char,
    pub menu_item_type: XfceGtkMenuItem,
    pub menu_item_label_text: *mut c_char,
    pub menu_item_tooltip_text: *mut c_char,
    pub menu_item_icon_name: *const c_char,
    pub callback: gobject::GCallback,
}

impl ::std::fmt::Debug for XfceGtkActionEntry {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("XfceGtkActionEntry @ {self:p}"))
            .field("id", &self.id)
            .field("accel_path", &self.accel_path)
            .field("default_accelerator", &self.default_accelerator)
            .field("menu_item_type", &self.menu_item_type)
            .field("menu_item_label_text", &self.menu_item_label_text)
            .field("menu_item_tooltip_text", &self.menu_item_tooltip_text)
            .field("menu_item_icon_name", &self.menu_item_icon_name)
            .field("callback", &self.callback)
            .finish()
    }
}

#[derive(Copy, Clone)]
#[repr(C)]
pub struct XfceIconChooserDialogClass {
    pub parent_class: gtk::GtkDialogClass,
}

impl ::std::fmt::Debug for XfceIconChooserDialogClass {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("XfceIconChooserDialogClass @ {self:p}"))
            .field("parent_class", &self.parent_class)
            .finish()
    }
}

#[derive(Copy, Clone)]
#[repr(C)]
pub struct XfceIconViewClass {
    pub __parent__: gtk::GtkContainerClass,
    pub set_scroll_adjustments: Option<
        unsafe extern "C" fn(*mut XfceIconView, *mut gtk::GtkAdjustment, *mut gtk::GtkAdjustment),
    >,
    pub item_activated: Option<unsafe extern "C" fn(*mut XfceIconView, *mut gtk::GtkTreePath)>,
    pub selection_changed: Option<unsafe extern "C" fn(*mut XfceIconView)>,
    pub select_all: Option<unsafe extern "C" fn(*mut XfceIconView)>,
    pub unselect_all: Option<unsafe extern "C" fn(*mut XfceIconView)>,
    pub select_cursor_item: Option<unsafe extern "C" fn(*mut XfceIconView)>,
    pub toggle_cursor_item: Option<unsafe extern "C" fn(*mut XfceIconView)>,
    pub move_cursor:
        Option<unsafe extern "C" fn(*mut XfceIconView, gtk::GtkMovementStep, c_int) -> gboolean>,
    pub activate_cursor_item: Option<unsafe extern "C" fn(*mut XfceIconView) -> gboolean>,
    pub start_interactive_search: Option<unsafe extern "C" fn(*mut XfceIconView) -> gboolean>,
    pub reserved0: Option<unsafe extern "C" fn()>,
    pub reserved1: Option<unsafe extern "C" fn()>,
    pub reserved2: Option<unsafe extern "C" fn()>,
    pub reserved3: Option<unsafe extern "C" fn()>,
    pub reserved4: Option<unsafe extern "C" fn()>,
    pub reserved5: Option<unsafe extern "C" fn()>,
    pub reserved6: Option<unsafe extern "C" fn()>,
    pub reserved7: Option<unsafe extern "C" fn()>,
    pub reserved8: Option<unsafe extern "C" fn()>,
    pub reserved9: Option<unsafe extern "C" fn()>,
}

impl ::std::fmt::Debug for XfceIconViewClass {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("XfceIconViewClass @ {self:p}"))
            .field("__parent__", &self.__parent__)
            .field("set_scroll_adjustments", &self.set_scroll_adjustments)
            .field("item_activated", &self.item_activated)
            .field("selection_changed", &self.selection_changed)
            .field("select_all", &self.select_all)
            .field("unselect_all", &self.unselect_all)
            .field("select_cursor_item", &self.select_cursor_item)
            .field("toggle_cursor_item", &self.toggle_cursor_item)
            .field("move_cursor", &self.move_cursor)
            .field("activate_cursor_item", &self.activate_cursor_item)
            .field("start_interactive_search", &self.start_interactive_search)
            .field("reserved0", &self.reserved0)
            .field("reserved1", &self.reserved1)
            .field("reserved2", &self.reserved2)
            .field("reserved3", &self.reserved3)
            .field("reserved4", &self.reserved4)
            .field("reserved5", &self.reserved5)
            .field("reserved6", &self.reserved6)
            .field("reserved7", &self.reserved7)
            .field("reserved8", &self.reserved8)
            .field("reserved9", &self.reserved9)
            .finish()
    }
}

#[derive(Copy, Clone)]
#[repr(C)]
pub struct XfceItemListModelClass {
    pub __parent__: gobject::GObjectClass,
    pub get_list_n_columns: Option<unsafe extern "C" fn(*mut XfceItemListModel) -> c_int>,
    pub get_list_column_type: Option<unsafe extern "C" fn(*mut XfceItemListModel, c_int) -> GType>,
    pub get_n_items: Option<unsafe extern "C" fn(*mut XfceItemListModel) -> c_int>,
    pub get_item_value:
        Option<unsafe extern "C" fn(*mut XfceItemListModel, c_int, c_int, *mut gobject::GValue)>,
    pub move_: Option<unsafe extern "C" fn(*mut XfceItemListModel, c_int, c_int)>,
    pub set_activity: Option<unsafe extern "C" fn(*mut XfceItemListModel, c_int, gboolean)>,
    pub remove: Option<unsafe extern "C" fn(*mut XfceItemListModel, c_int) -> gboolean>,
    pub reset: Option<unsafe extern "C" fn(*mut XfceItemListModel)>,
}

impl ::std::fmt::Debug for XfceItemListModelClass {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("XfceItemListModelClass @ {self:p}"))
            .field("get_list_n_columns", &self.get_list_n_columns)
            .field("get_list_column_type", &self.get_list_column_type)
            .field("get_n_items", &self.get_n_items)
            .field("get_item_value", &self.get_item_value)
            .field("move_", &self.move_)
            .field("set_activity", &self.set_activity)
            .field("remove", &self.remove)
            .field("reset", &self.reset)
            .finish()
    }
}

#[derive(Copy, Clone)]
#[repr(C)]
pub struct XfceItemListStoreClass {
    pub parent_class: XfceItemListModelClass,
}

impl ::std::fmt::Debug for XfceItemListStoreClass {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("XfceItemListStoreClass @ {self:p}"))
            .field("parent_class", &self.parent_class)
            .finish()
    }
}

#[derive(Copy, Clone)]
#[repr(C)]
pub struct XfceItemListViewClass {
    pub parent_class: gtk::GtkBoxClass,
}

impl ::std::fmt::Debug for XfceItemListViewClass {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("XfceItemListViewClass @ {self:p}"))
            .field("parent_class", &self.parent_class)
            .finish()
    }
}

#[derive(Copy, Clone)]
#[repr(C)]
pub struct XfceNotebookClass {
    pub parent_class: gtk::GtkNotebookClass,
}

impl ::std::fmt::Debug for XfceNotebookClass {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("XfceNotebookClass @ {self:p}"))
            .field("parent_class", &self.parent_class)
            .finish()
    }
}

#[derive(Copy, Clone)]
#[repr(C)]
pub struct XfceScreensaverClass {
    pub parent_class: gobject::GObjectClass,
}

impl ::std::fmt::Debug for XfceScreensaverClass {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("XfceScreensaverClass @ {self:p}"))
            .field("parent_class", &self.parent_class)
            .finish()
    }
}

#[derive(Copy, Clone)]
#[repr(C)]
pub struct XfceTitledDialogClass {
    pub __parent__: gtk::GtkDialogClass,
    pub reserved0: Option<unsafe extern "C" fn()>,
    pub reserved1: Option<unsafe extern "C" fn()>,
    pub reserved2: Option<unsafe extern "C" fn()>,
    pub reserved3: Option<unsafe extern "C" fn()>,
    pub reserved4: Option<unsafe extern "C" fn()>,
    pub reserved5: Option<unsafe extern "C" fn()>,
}

impl ::std::fmt::Debug for XfceTitledDialogClass {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("XfceTitledDialogClass @ {self:p}"))
            .field("reserved0", &self.reserved0)
            .field("reserved1", &self.reserved1)
            .field("reserved2", &self.reserved2)
            .field("reserved3", &self.reserved3)
            .field("reserved4", &self.reserved4)
            .field("reserved5", &self.reserved5)
            .finish()
    }
}

#[repr(C)]
#[allow(dead_code)]
pub struct _XfceTitledDialogPrivate {
    _data: [u8; 0],
    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
}

pub type XfceTitledDialogPrivate = _XfceTitledDialogPrivate;

#[derive(Copy, Clone)]
#[repr(C)]
pub struct XfceTreeViewClass {
    pub parent_class: gtk::GtkTreeViewClass,
}

impl ::std::fmt::Debug for XfceTreeViewClass {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("XfceTreeViewClass @ {self:p}"))
            .field("parent_class", &self.parent_class)
            .finish()
    }
}

// Classes
#[repr(C)]
#[allow(dead_code)]
pub struct XfceCellRendererIcon {
    _data: [u8; 0],
    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
}

impl ::std::fmt::Debug for XfceCellRendererIcon {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("XfceCellRendererIcon @ {self:p}"))
            .finish()
    }
}

#[repr(C)]
#[allow(dead_code)]
pub struct XfceClipboardManager {
    _data: [u8; 0],
    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
}

impl ::std::fmt::Debug for XfceClipboardManager {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("XfceClipboardManager @ {self:p}"))
            .finish()
    }
}

#[repr(C)]
#[allow(dead_code)]
pub struct XfceFilenameInput {
    _data: [u8; 0],
    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
}

impl ::std::fmt::Debug for XfceFilenameInput {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("XfceFilenameInput @ {self:p}"))
            .finish()
    }
}

#[repr(C)]
#[allow(dead_code)]
pub struct XfceIconChooserDialog {
    _data: [u8; 0],
    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
}

impl ::std::fmt::Debug for XfceIconChooserDialog {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("XfceIconChooserDialog @ {self:p}"))
            .finish()
    }
}

#[derive(Copy, Clone)]
#[repr(C)]
pub struct XfceIconView {
    pub parent_instance: gtk::GtkContainer,
}

impl ::std::fmt::Debug for XfceIconView {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("XfceIconView @ {self:p}"))
            .field("parent_instance", &self.parent_instance)
            .finish()
    }
}

#[derive(Copy, Clone)]
#[repr(C)]
pub struct XfceItemListModel {
    pub parent_instance: gobject::GObject,
}

impl ::std::fmt::Debug for XfceItemListModel {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("XfceItemListModel @ {self:p}"))
            .field("parent_instance", &self.parent_instance)
            .finish()
    }
}

#[repr(C)]
#[allow(dead_code)]
pub struct XfceItemListStore {
    _data: [u8; 0],
    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
}

impl ::std::fmt::Debug for XfceItemListStore {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("XfceItemListStore @ {self:p}"))
            .finish()
    }
}

#[repr(C)]
#[allow(dead_code)]
pub struct XfceItemListView {
    _data: [u8; 0],
    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
}

impl ::std::fmt::Debug for XfceItemListView {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("XfceItemListView @ {self:p}"))
            .finish()
    }
}

#[repr(C)]
#[allow(dead_code)]
pub struct XfceNotebook {
    _data: [u8; 0],
    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
}

impl ::std::fmt::Debug for XfceNotebook {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("XfceNotebook @ {self:p}")).finish()
    }
}

#[repr(C)]
#[allow(dead_code)]
pub struct XfceSMClient {
    _data: [u8; 0],
    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
}

impl ::std::fmt::Debug for XfceSMClient {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("XfceSMClient @ {self:p}")).finish()
    }
}

#[repr(C)]
#[allow(dead_code)]
pub struct XfceScreensaver {
    _data: [u8; 0],
    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
}

impl ::std::fmt::Debug for XfceScreensaver {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("XfceScreensaver @ {self:p}"))
            .finish()
    }
}

#[derive(Copy, Clone)]
#[repr(C)]
pub struct XfceTitledDialog {
    pub __parent__: gtk::GtkDialog,
    pub priv_: *mut XfceTitledDialogPrivate,
}

impl ::std::fmt::Debug for XfceTitledDialog {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("XfceTitledDialog @ {self:p}"))
            .finish()
    }
}

#[repr(C)]
#[allow(dead_code)]
pub struct XfceTreeView {
    _data: [u8; 0],
    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
}

impl ::std::fmt::Debug for XfceTreeView {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("XfceTreeView @ {self:p}")).finish()
    }
}

unsafe extern "C" {

    //=========================================================================
    // XfceIconViewDropPosition
    //=========================================================================
    pub fn xfce_icon_view_drop_position_get_type() -> GType;

    //=========================================================================
    // XfceIconViewLayoutMode
    //=========================================================================
    pub fn xfce_icon_view_layout_mode_get_type() -> GType;

    //=========================================================================
    // XfceItemListModelColumn
    //=========================================================================
    #[cfg(feature = "v4_21_3")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21_3")))]
    pub fn xfce_item_list_model_column_get_type() -> GType;

    //=========================================================================
    // XfceItemListViewColumn
    //=========================================================================
    #[cfg(feature = "v4_21_3")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21_3")))]
    pub fn xfce_item_list_view_column_get_type() -> GType;

    //=========================================================================
    // XfceSMClientRestartStyle
    //=========================================================================
    pub fn xfce_sm_client_restart_style_get_type() -> GType;

    //=========================================================================
    // XfceSMClientShutdownHint
    //=========================================================================
    pub fn xfce_sm_client_shutdown_hint_get_type() -> GType;

    //=========================================================================
    // XfceSmCLientErrorEnum
    //=========================================================================
    pub fn xfce_sm_client_error_enum_get_type() -> GType;

    //=========================================================================
    // XfceItemListModelFlags
    //=========================================================================
    #[cfg(feature = "v4_21_3")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21_3")))]
    pub fn xfce_item_list_model_flags_get_type() -> GType;

    //=========================================================================
    // XfceCellRendererIcon
    //=========================================================================
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_cell_renderer_icon_get_type() -> GType;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_cell_renderer_icon_new() -> *mut gtk::GtkCellRenderer;

    //=========================================================================
    // XfceClipboardManager
    //=========================================================================
    pub fn xfce_clipboard_manager_get_type() -> GType;
    pub fn xfce_clipboard_manager_new(replace: gboolean) -> *mut XfceClipboardManager;

    //=========================================================================
    // XfceFilenameInput
    //=========================================================================
    pub fn xfce_filename_input_get_type() -> GType;
    pub fn xfce_filename_input_desensitise_widget(widget: *mut gtk::GtkWidget);
    pub fn xfce_filename_input_sensitise_widget(widget: *mut gtk::GtkWidget);
    pub fn xfce_filename_input_check(filename_input: *mut XfceFilenameInput);
    pub fn xfce_filename_input_get_entry(
        filename_input: *mut XfceFilenameInput,
    ) -> *mut gtk::GtkEntry;
    pub fn xfce_filename_input_get_text(filename_input: *mut XfceFilenameInput) -> *const c_char;

    //=========================================================================
    // XfceIconChooserDialog
    //=========================================================================
    pub fn xfce_icon_chooser_dialog_get_type() -> GType;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_chooser_dialog_new(
        title: *const c_char,
        parent: *mut gtk::GtkWindow,
        first_button_text: *const c_char,
        ...
    ) -> *mut gtk::GtkWidget;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_chooser_dialog_get_icon(dialog: *mut XfceIconChooserDialog) -> *mut c_char;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_chooser_dialog_set_icon(
        dialog: *mut XfceIconChooserDialog,
        icon: *const c_char,
    ) -> gboolean;

    //=========================================================================
    // XfceIconView
    //=========================================================================
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_get_type() -> GType;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_new() -> *mut gtk::GtkWidget;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_new_with_model(model: *mut gtk::GtkTreeModel) -> *mut gtk::GtkWidget;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_create_drag_icon(
        icon_view: *mut XfceIconView,
        path: *mut gtk::GtkTreePath,
    ) -> *mut cairo::cairo_surface_t;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_enable_model_drag_dest(
        icon_view: *mut XfceIconView,
        targets: *const gtk::GtkTargetEntry,
        n_targets: c_int,
        actions: gdk::GdkDragAction,
    );
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_enable_model_drag_source(
        icon_view: *mut XfceIconView,
        start_button_mask: gdk::GdkModifierType,
        targets: *const gtk::GtkTargetEntry,
        n_targets: c_int,
        actions: gdk::GdkDragAction,
    );
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_get_column_spacing(icon_view: *mut XfceIconView) -> c_int;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_get_columns(icon_view: *mut XfceIconView) -> c_int;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_get_cursor(
        icon_view: *mut XfceIconView,
        path: *mut *mut gtk::GtkTreePath,
        cell: *mut *mut gtk::GtkCellRenderer,
    ) -> gboolean;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_get_dest_item_at_pos(
        icon_view: *mut XfceIconView,
        drag_x: c_int,
        drag_y: c_int,
        path: *mut *mut gtk::GtkTreePath,
        pos: *mut XfceIconViewDropPosition,
    ) -> gboolean;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_get_drag_dest_item(
        icon_view: *mut XfceIconView,
        path: *mut *mut gtk::GtkTreePath,
        pos: *mut XfceIconViewDropPosition,
    );
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_get_enable_search(icon_view: *mut XfceIconView) -> gboolean;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_get_item_at_pos(
        icon_view: *mut XfceIconView,
        x: c_int,
        y: c_int,
        path: *mut *mut gtk::GtkTreePath,
        cell: *mut *mut gtk::GtkCellRenderer,
    ) -> gboolean;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_get_item_column(
        icon_view: *mut XfceIconView,
        path: *mut gtk::GtkTreePath,
    ) -> c_int;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_get_item_row(
        icon_view: *mut XfceIconView,
        path: *mut gtk::GtkTreePath,
    ) -> c_int;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_get_item_width(icon_view: *mut XfceIconView) -> c_int;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_get_layout_mode(icon_view: *mut XfceIconView) -> XfceIconViewLayoutMode;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_get_margin(icon_view: *mut XfceIconView) -> c_int;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_get_model(icon_view: *mut XfceIconView) -> *mut gtk::GtkTreeModel;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_get_orientation(icon_view: *mut XfceIconView) -> gtk::GtkOrientation;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_get_path_at_pos(
        icon_view: *mut XfceIconView,
        x: c_int,
        y: c_int,
    ) -> *mut gtk::GtkTreePath;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_get_reorderable(icon_view: *mut XfceIconView) -> gboolean;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_get_row_spacing(icon_view: *mut XfceIconView) -> c_int;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_get_search_column(icon_view: *mut XfceIconView) -> c_int;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_get_search_equal_func(
        icon_view: *mut XfceIconView,
    ) -> XfceIconViewSearchEqualFunc;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_get_search_position_func(
        icon_view: *mut XfceIconView,
    ) -> XfceIconViewSearchPositionFunc;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_get_selected_items(icon_view: *mut XfceIconView) -> *mut glib::GList;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_get_selection_mode(icon_view: *mut XfceIconView)
    -> gtk::GtkSelectionMode;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_get_single_click(icon_view: *mut XfceIconView) -> gboolean;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_get_single_click_timeout(icon_view: *mut XfceIconView) -> c_uint;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_get_spacing(icon_view: *mut XfceIconView) -> c_int;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_get_visible_range(
        icon_view: *mut XfceIconView,
        start_path: *mut *mut gtk::GtkTreePath,
        end_path: *mut *mut gtk::GtkTreePath,
    ) -> gboolean;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_icon_to_widget_coords(
        icon_view: *mut XfceIconView,
        ix: c_int,
        iy: c_int,
        wx: *mut c_int,
        wy: *mut c_int,
    );
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_item_activated(icon_view: *mut XfceIconView, path: *mut gtk::GtkTreePath);
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_path_is_selected(
        icon_view: *mut XfceIconView,
        path: *mut gtk::GtkTreePath,
    ) -> gboolean;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_scroll_to_path(
        icon_view: *mut XfceIconView,
        path: *mut gtk::GtkTreePath,
        use_align: gboolean,
        row_align: c_float,
        col_align: c_float,
    );
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_select_all(icon_view: *mut XfceIconView);
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_select_path(icon_view: *mut XfceIconView, path: *mut gtk::GtkTreePath);
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_selected_foreach(
        icon_view: *mut XfceIconView,
        func: XfceIconViewForeachFunc,
        data: gpointer,
    );
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_selection_invert(icon_view: *mut XfceIconView);
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_set_column_spacing(icon_view: *mut XfceIconView, column_spacing: c_int);
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_set_columns(icon_view: *mut XfceIconView, columns: c_int);
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_set_cursor(
        icon_view: *mut XfceIconView,
        path: *mut gtk::GtkTreePath,
        cell: *mut gtk::GtkCellRenderer,
        start_editing: gboolean,
    );
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_set_drag_dest_item(
        icon_view: *mut XfceIconView,
        path: *mut gtk::GtkTreePath,
        pos: XfceIconViewDropPosition,
    );
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_set_enable_search(icon_view: *mut XfceIconView, enable_search: gboolean);
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_set_item_width(icon_view: *mut XfceIconView, item_width: c_int);
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_set_layout_mode(
        icon_view: *mut XfceIconView,
        layout_mode: XfceIconViewLayoutMode,
    );
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_set_margin(icon_view: *mut XfceIconView, margin: c_int);
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_set_model(icon_view: *mut XfceIconView, model: *mut gtk::GtkTreeModel);
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_set_orientation(
        icon_view: *mut XfceIconView,
        orientation: gtk::GtkOrientation,
    );
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_set_reorderable(icon_view: *mut XfceIconView, reorderable: gboolean);
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_set_row_spacing(icon_view: *mut XfceIconView, row_spacing: c_int);
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_set_search_column(icon_view: *mut XfceIconView, search_column: c_int);
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_set_search_equal_func(
        icon_view: *mut XfceIconView,
        search_equal_func: XfceIconViewSearchEqualFunc,
        search_equal_data: gpointer,
        search_equal_destroy: glib::GDestroyNotify,
    );
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_set_search_position_func(
        icon_view: *mut XfceIconView,
        search_position_func: XfceIconViewSearchPositionFunc,
        search_position_data: gpointer,
        search_position_destroy: glib::GDestroyNotify,
    );
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_set_selection_mode(
        icon_view: *mut XfceIconView,
        mode: gtk::GtkSelectionMode,
    );
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_set_single_click(icon_view: *mut XfceIconView, single_click: gboolean);
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_set_single_click_timeout(
        icon_view: *mut XfceIconView,
        single_click_timeout: c_uint,
    );
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_set_spacing(icon_view: *mut XfceIconView, spacing: c_int);
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_unselect_all(icon_view: *mut XfceIconView);
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_unselect_path(icon_view: *mut XfceIconView, path: *mut gtk::GtkTreePath);
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_unset_model_drag_dest(icon_view: *mut XfceIconView);
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_unset_model_drag_source(icon_view: *mut XfceIconView);
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_icon_view_widget_to_icon_coords(
        icon_view: *mut XfceIconView,
        wx: c_int,
        wy: c_int,
        ix: *mut c_int,
        iy: *mut c_int,
    );

    //=========================================================================
    // XfceItemListModel
    //=========================================================================
    pub fn xfce_item_list_model_get_type() -> GType;
    #[cfg(feature = "v4_21_3")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21_3")))]
    pub fn xfce_item_list_model_changed(model: *mut XfceItemListModel);
    #[cfg(feature = "v4_21_3")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21_3")))]
    pub fn xfce_item_list_model_get_index(
        model: *mut XfceItemListModel,
        iter: *mut gtk::GtkTreeIter,
    ) -> c_int;
    #[cfg(feature = "v4_21_3")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21_3")))]
    pub fn xfce_item_list_model_get_item_value(
        model: *mut XfceItemListModel,
        index: c_int,
        column: c_int,
        value: *mut gobject::GValue,
    );
    #[cfg(feature = "v4_21_3")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21_3")))]
    pub fn xfce_item_list_model_get_list_column_type(
        model: *mut XfceItemListModel,
        column: c_int,
    ) -> GType;
    #[cfg(feature = "v4_21_3")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21_3")))]
    pub fn xfce_item_list_model_get_list_flags(
        model: *mut XfceItemListModel,
    ) -> XfceItemListModelFlags;
    #[cfg(feature = "v4_21_3")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21_3")))]
    pub fn xfce_item_list_model_get_list_n_columns(model: *mut XfceItemListModel) -> c_int;
    #[cfg(feature = "v4_21_3")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21_3")))]
    pub fn xfce_item_list_model_get_n_items(model: *mut XfceItemListModel) -> c_int;
    #[cfg(feature = "v4_21_3")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21_3")))]
    pub fn xfce_item_list_model_move(
        model: *mut XfceItemListModel,
        source_index: c_int,
        dest_index: c_int,
    );
    #[cfg(feature = "v4_21_3")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21_3")))]
    pub fn xfce_item_list_model_reloaded(model: *mut XfceItemListModel);
    #[cfg(feature = "v4_21_3")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21_3")))]
    pub fn xfce_item_list_model_remove(model: *mut XfceItemListModel, index: c_int) -> gboolean;
    #[cfg(feature = "v4_21_3")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21_3")))]
    pub fn xfce_item_list_model_reset(model: *mut XfceItemListModel);
    #[cfg(feature = "v4_21_3")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21_3")))]
    pub fn xfce_item_list_model_set_activity(
        model: *mut XfceItemListModel,
        index: c_int,
        value: gboolean,
    );
    #[cfg(feature = "v4_21_3")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21_3")))]
    pub fn xfce_item_list_model_set_index(
        model: *mut XfceItemListModel,
        iter: *mut gtk::GtkTreeIter,
        index: c_int,
    );
    #[cfg(feature = "v4_21_3")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21_3")))]
    pub fn xfce_item_list_model_test(
        model: *mut XfceItemListModel,
        index: c_int,
        column: c_int,
    ) -> gboolean;
    #[cfg(feature = "v4_21_3")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21_3")))]
    pub fn xfce_item_list_model_test_all(
        model: *mut XfceItemListModel,
        indexes: *const c_int,
        n_indexes: c_int,
        column: c_int,
    ) -> gboolean;
    #[cfg(feature = "v4_21_3")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21_3")))]
    pub fn xfce_item_list_model_test_any(
        model: *mut XfceItemListModel,
        indexes: *const c_int,
        n_indexes: c_int,
        column: c_int,
    ) -> gboolean;

    //=========================================================================
    // XfceItemListStore
    //=========================================================================
    pub fn xfce_item_list_store_get_type() -> GType;
    #[cfg(feature = "v4_21_3")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21_3")))]
    pub fn xfce_item_list_store_new(n_columns: c_int, ...) -> *mut XfceItemListStore;
    #[cfg(feature = "v4_21_3")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21_3")))]
    pub fn xfce_item_list_store_clear(store: *mut XfceItemListStore);
    #[cfg(feature = "v4_21_3")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21_3")))]
    pub fn xfce_item_list_store_insert(store: *mut XfceItemListStore, index: c_int) -> c_int;
    #[cfg(feature = "v4_21_3")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21_3")))]
    pub fn xfce_item_list_store_insert_with_values(
        store: *mut XfceItemListStore,
        index: c_int,
        ...
    ) -> c_int;
    #[cfg(feature = "v4_21_3")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21_3")))]
    pub fn xfce_item_list_store_set(store: *mut XfceItemListStore, index: c_int, ...);

    //=========================================================================
    // XfceItemListView
    //=========================================================================
    pub fn xfce_item_list_view_get_type() -> GType;
    #[cfg(feature = "v4_21_3")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21_3")))]
    pub fn xfce_item_list_view_new(model: *mut XfceItemListModel) -> *mut gtk::GtkWidget;
    #[cfg(feature = "v4_21_3")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21_3")))]
    pub fn xfce_item_list_view_get_menu(view: *mut XfceItemListView) -> *mut gio::GMenu;
    #[cfg(feature = "v4_21_3")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21_3")))]
    pub fn xfce_item_list_view_get_model(view: *mut XfceItemListView) -> *mut XfceItemListModel;
    #[cfg(feature = "v4_21_3")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21_3")))]
    pub fn xfce_item_list_view_get_selected_items(
        view: *mut XfceItemListView,
        items: *mut *mut c_int,
    ) -> c_int;
    #[cfg(feature = "v4_21_3")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21_3")))]
    pub fn xfce_item_list_view_get_tree_view(view: *mut XfceItemListView) -> *mut gtk::GtkWidget;
    #[cfg(feature = "v4_21_3")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21_3")))]
    pub fn xfce_item_list_view_set_label_visibility(
        view: *mut XfceItemListView,
        visibility: gboolean,
    );
    #[cfg(feature = "v4_21_3")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21_3")))]
    pub fn xfce_item_list_view_set_model(
        view: *mut XfceItemListView,
        model: *mut XfceItemListModel,
    );

    //=========================================================================
    // XfceNotebook
    //=========================================================================
    pub fn xfce_notebook_get_type() -> GType;
    #[cfg(feature = "v4_21_1")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21_1")))]
    pub fn xfce_notebook_new() -> *mut gtk::GtkWidget;

    //=========================================================================
    // XfceSMClient
    //=========================================================================
    pub fn xfce_sm_client_get_type() -> GType;
    pub fn xfce_sm_client_get() -> *mut XfceSMClient;
    pub fn xfce_sm_client_get_full(
        restart_style: XfceSMClientRestartStyle,
        priority: c_uchar,
        resumed_client_id: *const c_char,
        current_directory: *const c_char,
        restart_command: *mut *const c_char,
        desktop_file: *const c_char,
    ) -> *mut XfceSMClient;
    pub fn xfce_sm_client_get_with_argv(
        argc: c_int,
        argv: *mut *mut c_char,
        restart_style: XfceSMClientRestartStyle,
        priority: c_uchar,
    ) -> *mut XfceSMClient;
    pub fn xfce_sm_client_error_quark() -> glib::GQuark;
    pub fn xfce_sm_client_get_option_group(
        argc: c_int,
        argv: *mut *mut c_char,
    ) -> *mut glib::GOptionGroup;
    pub fn xfce_sm_client_connect(
        sm_client: *mut XfceSMClient,
        error: *mut *mut glib::GError,
    ) -> gboolean;
    pub fn xfce_sm_client_disconnect(sm_client: *mut XfceSMClient);
    pub fn xfce_sm_client_get_client_id(sm_client: *mut XfceSMClient) -> *const c_char;
    pub fn xfce_sm_client_get_current_directory(sm_client: *mut XfceSMClient) -> *const c_char;
    pub fn xfce_sm_client_get_priority(sm_client: *mut XfceSMClient) -> u8;
    pub fn xfce_sm_client_get_restart_command(sm_client: *mut XfceSMClient)
    -> *const *const c_char;
    pub fn xfce_sm_client_get_restart_style(
        sm_client: *mut XfceSMClient,
    ) -> XfceSMClientRestartStyle;
    pub fn xfce_sm_client_get_state_file(sm_client: *mut XfceSMClient) -> *const c_char;
    pub fn xfce_sm_client_is_connected(sm_client: *mut XfceSMClient) -> gboolean;
    pub fn xfce_sm_client_is_resumed(sm_client: *mut XfceSMClient) -> gboolean;
    pub fn xfce_sm_client_request_shutdown(
        sm_client: *mut XfceSMClient,
        shutdown_hint: XfceSMClientShutdownHint,
    );
    pub fn xfce_sm_client_set_current_directory(
        sm_client: *mut XfceSMClient,
        current_directory: *const c_char,
    );
    pub fn xfce_sm_client_set_desktop_file(
        sm_client: *mut XfceSMClient,
        desktop_file: *const c_char,
    );
    pub fn xfce_sm_client_set_priority(sm_client: *mut XfceSMClient, priority: u8);
    pub fn xfce_sm_client_set_restart_command(
        sm_client: *mut XfceSMClient,
        restart_command: *mut *mut c_char,
    );
    pub fn xfce_sm_client_set_restart_style(
        sm_client: *mut XfceSMClient,
        restart_style: XfceSMClientRestartStyle,
    );

    //=========================================================================
    // XfceScreensaver
    //=========================================================================
    pub fn xfce_screensaver_get_type() -> GType;
    pub fn xfce_screensaver_new() -> *mut XfceScreensaver;
    pub fn xfce_screensaver_inhibit(saver: *mut XfceScreensaver, inhibit: gboolean);
    pub fn xfce_screensaver_lock(saver: *mut XfceScreensaver) -> gboolean;

    //=========================================================================
    // XfceTitledDialog
    //=========================================================================
    pub fn xfce_titled_dialog_get_type() -> GType;
    pub fn xfce_titled_dialog_new() -> *mut gtk::GtkWidget;
    pub fn xfce_titled_dialog_new_with_buttons(
        title: *const c_char,
        parent: *mut gtk::GtkWindow,
        flags: gtk::GtkDialogFlags,
        first_button_text: *const c_char,
        ...
    ) -> *mut gtk::GtkWidget;
    pub fn xfce_titled_dialog_new_with_mixed_buttons(
        title: *const c_char,
        parent: *mut gtk::GtkWindow,
        flags: gtk::GtkDialogFlags,
        first_button_icon_name: *const c_char,
        first_button_text: *const c_char,
        ...
    ) -> *mut gtk::GtkWidget;
    pub fn xfce_titled_dialog_add_action_widget(
        titled_dialog: *mut XfceTitledDialog,
        child: *mut gtk::GtkWidget,
        response_id: c_int,
    );
    pub fn xfce_titled_dialog_add_button(
        titled_dialog: *mut XfceTitledDialog,
        button_text: *const c_char,
        response_id: c_int,
    ) -> *mut gtk::GtkWidget;
    pub fn xfce_titled_dialog_create_action_area(titled_dialog: *mut XfceTitledDialog);
    pub fn xfce_titled_dialog_get_subtitle(titled_dialog: *mut XfceTitledDialog) -> *const c_char;
    pub fn xfce_titled_dialog_set_default_response(
        titled_dialog: *mut XfceTitledDialog,
        response_id: c_int,
    );
    pub fn xfce_titled_dialog_set_subtitle(
        titled_dialog: *mut XfceTitledDialog,
        subtitle: *const c_char,
    );

    //=========================================================================
    // XfceTreeView
    //=========================================================================
    pub fn xfce_tree_view_get_type() -> GType;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_tree_view_new() -> *mut gtk::GtkWidget;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_tree_view_get_single_click(tree_view: *mut XfceTreeView) -> gboolean;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_tree_view_get_single_click_timeout(tree_view: *mut XfceTreeView) -> c_uint;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_tree_view_set_single_click(tree_view: *mut XfceTreeView, single_click: gboolean);
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_tree_view_set_single_click_timeout(
        tree_view: *mut XfceTreeView,
        single_click_timeout: c_uint,
    );

    //=========================================================================
    // Other functions
    //=========================================================================
    pub fn xfce_dialog_confirm(
        parent: *mut gtk::GtkWindow,
        stock_id: *const c_char,
        confirm_label: *const c_char,
        secondary_text: *const c_char,
        primary_format: *const c_char,
        ...
    ) -> gboolean;
    pub fn xfce_dialog_confirm_close_tabs(
        parent: *mut gtk::GtkWindow,
        num_tabs: c_int,
        show_confirm_box: gboolean,
        confirm_box_checked: *mut gboolean,
    ) -> c_int;
    pub fn xfce_dialog_show_error(
        parent: *mut gtk::GtkWindow,
        error: *const glib::GError,
        primary_format: *const c_char,
        ...
    );
    pub fn xfce_dialog_show_help(
        parent: *mut gtk::GtkWindow,
        component: *const c_char,
        page: *const c_char,
        offset: *const c_char,
    );
    pub fn xfce_dialog_show_help_with_version(
        parent: *mut gtk::GtkWindow,
        component: *const c_char,
        page: *const c_char,
        offset: *const c_char,
        version: *const c_char,
    );
    pub fn xfce_dialog_show_info(
        parent: *mut gtk::GtkWindow,
        secondary_text: *const c_char,
        primary_format: *const c_char,
        ...
    );
    pub fn xfce_dialog_show_warning(
        parent: *mut gtk::GtkWindow,
        secondary_text: *const c_char,
        primary_format: *const c_char,
        ...
    );
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_execute_preferred_application(
        category: *const c_char,
        parameter: *const c_char,
        working_directory: *const c_char,
        envp: *mut *mut c_char,
        error: *mut *mut glib::GError,
    ) -> gboolean;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_execute_terminal_shell(
        command_line: *const c_char,
        working_directory: *const c_char,
        envp: *mut *mut c_char,
        error: *mut *mut glib::GError,
    ) -> gboolean;
    pub fn xfce_gdk_device_grab(
        seat: *mut gdk::GdkSeat,
        window: *mut gdk::GdkWindow,
        capabilities: gdk::GdkSeatCapabilities,
        cursor: *mut gdk::GdkCursor,
    ) -> gboolean;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_gdk_pixbuf_frame(
        source: *const gdk_pixbuf::GdkPixbuf,
        frame: *const gdk_pixbuf::GdkPixbuf,
        left_offset: c_int,
        top_offset: c_int,
        right_offset: c_int,
        bottom_offset: c_int,
    ) -> *mut gdk_pixbuf::GdkPixbuf;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_gdk_pixbuf_lucent(
        source: *const gdk_pixbuf::GdkPixbuf,
        percent: c_uint,
    ) -> *mut gdk_pixbuf::GdkPixbuf;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_gdk_pixbuf_new_from_file_at_max_size(
        filename: *const c_char,
        max_width: c_int,
        max_height: c_int,
        preserve_aspect_ratio: gboolean,
        error: *mut *mut glib::GError,
    ) -> *mut gdk_pixbuf::GdkPixbuf;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_gdk_pixbuf_scale_down(
        source: *mut gdk_pixbuf::GdkPixbuf,
        preserve_aspect_ratio: gboolean,
        dest_width: c_int,
        dest_height: c_int,
    ) -> *mut gdk_pixbuf::GdkPixbuf;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_gdk_pixbuf_scale_ratio(
        source: *mut gdk_pixbuf::GdkPixbuf,
        dest_size: c_int,
    ) -> *mut gdk_pixbuf::GdkPixbuf;
    pub fn xfce_gdk_screen_get_active(monitor_return: *mut c_int) -> *mut gdk::GdkScreen;
    pub fn xfce_gdk_screen_get_geometry() -> *mut gdk::GdkRectangle;
    pub fn xfce_gicon_from_name(name: *const c_char) -> *mut gio::GIcon;
    pub fn xfce_gtk_accel_group_connect_action_entries(
        accel_group: *mut gtk::GtkAccelGroup,
        action_entries: *const XfceGtkActionEntry,
        n_action_entries: c_uint,
        callback_data: gpointer,
    );
    pub fn xfce_gtk_accel_group_disconnect_action_entries(
        accel_group: *mut gtk::GtkAccelGroup,
        action_entries: *const XfceGtkActionEntry,
        n_action_entries: c_uint,
    );
    pub fn xfce_gtk_accel_map_add_entries(
        action_entries: *const XfceGtkActionEntry,
        n_action_entries: c_uint,
    );
    pub fn xfce_gtk_button_new_mixed(
        stock_id: *const c_char,
        label: *const c_char,
    ) -> *mut gtk::GtkWidget;
    pub fn xfce_gtk_check_menu_item_new(
        label_text: *const c_char,
        tooltip_text: *const c_char,
        accel_path: *const c_char,
        callback: gobject::GCallback,
        callback_param: *mut gobject::GObject,
        active: gboolean,
        menu_to_append_item: *mut gtk::GtkMenuShell,
    ) -> *mut gtk::GtkWidget;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_gtk_dialog_get_action_area(dialog: *mut gtk::GtkDialog) -> *mut gtk::GtkWidget;
    pub fn xfce_gtk_execute_tab_accel(
        accel_path: *const c_char,
        data: gpointer,
        entries: *mut XfceGtkActionEntry,
        entry_count: size_t,
    ) -> gboolean;
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_gtk_file_chooser_add_thumbnail_preview(chooser: *mut gtk::GtkFileChooser);
    pub fn xfce_gtk_frame_box_new(
        label: *const c_char,
        container_return: *mut *mut gtk::GtkWidget,
    ) -> *mut gtk::GtkWidget;
    pub fn xfce_gtk_frame_box_new_with_content(
        label: *const c_char,
        content: *mut gtk::GtkWidget,
    ) -> *mut gtk::GtkWidget;
    pub fn xfce_gtk_get_action_entry_by_id(
        action_entries: *const XfceGtkActionEntry,
        n_action_entries: c_uint,
        id: c_uint,
    ) -> *const XfceGtkActionEntry;
    pub fn xfce_gtk_handle_tab_accels(
        key_event: *mut gdk::GdkEventKey,
        accel_group: *mut gtk::GtkAccelGroup,
        data: gpointer,
        entries: *mut XfceGtkActionEntry,
        entry_count: size_t,
    ) -> gboolean;
    pub fn xfce_gtk_image_menu_item_new(
        label_text: *const c_char,
        tooltip_text: *const c_char,
        accel_path: *const c_char,
        callback: gobject::GCallback,
        callback_param: *mut gobject::GObject,
        image: *mut gtk::GtkWidget,
        menu_to_append_item: *mut gtk::GtkMenuShell,
    ) -> *mut gtk::GtkWidget;
    pub fn xfce_gtk_image_menu_item_new_from_icon_name(
        label_text: *const c_char,
        tooltip_text: *const c_char,
        accel_path: *const c_char,
        callback: gobject::GCallback,
        callback_param: *mut gobject::GObject,
        icon_name: *const c_char,
        menu_to_append_item: *mut gtk::GtkMenuShell,
    ) -> *mut gtk::GtkWidget;
    pub fn xfce_gtk_label_set_a11y_relation(label: *mut gtk::GtkLabel, widget: *mut gtk::GtkWidget);
    pub fn xfce_gtk_menu_append_separator(menu: *mut gtk::GtkMenuShell);
    pub fn xfce_gtk_menu_append_seperator(menu: *mut gtk::GtkMenuShell);
    pub fn xfce_gtk_menu_item_new(
        label_text: *const c_char,
        tooltip_text: *const c_char,
        accel_path: *const c_char,
        callback: gobject::GCallback,
        callback_param: *mut gobject::GObject,
        menu_to_append_item: *mut gtk::GtkMenuShell,
    ) -> *mut gtk::GtkWidget;
    pub fn xfce_gtk_menu_item_new_from_action_entry(
        action_entry: *const XfceGtkActionEntry,
        callback_param: *mut gobject::GObject,
        menu_to_append_item: *mut gtk::GtkMenuShell,
    ) -> *mut gtk::GtkWidget;
    pub fn xfce_gtk_menu_item_set_accel_label(
        menu_item: *mut gtk::GtkMenuItem,
        accel_path: *const c_char,
    );
    pub fn xfce_gtk_menu_popup_until_mapped(
        menu: *mut gtk::GtkMenu,
        parent_menu_shell: *mut gtk::GtkWidget,
        parent_menu_item: *mut gtk::GtkWidget,
        func: gtk::GtkMenuPositionFunc,
        data: gpointer,
        button: c_uint,
        activate_time: u32,
    ) -> gboolean;
    pub fn xfce_gtk_radio_menu_item_new(
        label_text: *const c_char,
        tooltip_text: *const c_char,
        accel_path: *const c_char,
        callback: gobject::GCallback,
        callback_param: *mut gobject::GObject,
        active: gboolean,
        menu_to_append_item: *mut gtk::GtkMenuShell,
    ) -> *mut gtk::GtkWidget;
    pub fn xfce_gtk_toggle_menu_item_new_from_action_entry(
        action_entry: *const XfceGtkActionEntry,
        callback_param: *mut gobject::GObject,
        active: gboolean,
        menu_to_append_item: *mut gtk::GtkMenuShell,
    ) -> *mut gtk::GtkWidget;
    pub fn xfce_gtk_toggle_tool_button_new_from_action_entry(
        action_entry: *const XfceGtkActionEntry,
        callback_param: *mut gobject::GObject,
        active: gboolean,
        toolbar_to_append_item: *mut gtk::GtkToolbar,
    ) -> *mut gtk::GtkWidget;
    pub fn xfce_gtk_tool_button_new_from_action_entry(
        action_entry: *const XfceGtkActionEntry,
        callback_param: *mut gobject::GObject,
        toolbar_to_append_item: *mut gtk::GtkToolbar,
    ) -> *mut gtk::GtkWidget;
    pub fn xfce_gtk_translate_action_entries(
        action_entries: *mut XfceGtkActionEntry,
        n_action_entries: c_uint,
    );
    #[cfg(feature = "v4_21")]
    #[cfg_attr(docsrs, doc(cfg(feature = "v4_21")))]
    pub fn xfce_gtk_url_about_dialog_hook(
        about_dialog: *mut gtk::GtkAboutDialog,
        address: *const c_char,
        user_data: gpointer,
    );
    pub fn xfce_gtk_window_center_on_active_screen(window: *mut gtk::GtkWindow);
    pub fn xfce_has_gtk_frame_extents(
        window: *mut gdk::GdkWindow,
        extents: *mut gtk::GtkBorder,
    ) -> gboolean;
    pub fn xfce_icon_name_from_desktop_id(desktop_id: *const c_char) -> *mut c_char;
    pub fn xfce_message_dialog(
        parent: *mut gtk::GtkWindow,
        title: *const c_char,
        stock_id: *const c_char,
        primary_text: *const c_char,
        secondary_text: *const c_char,
        first_button_text: *const c_char,
        ...
    ) -> c_int;
    pub fn xfce_message_dialog_new(
        parent: *mut gtk::GtkWindow,
        title: *const c_char,
        stock_id: *const c_char,
        primary_text: *const c_char,
        secondary_text: *const c_char,
        first_button_text: *const c_char,
        ...
    ) -> *mut gtk::GtkWidget;
    //pub fn xfce_message_dialog_new_valist(parent: *mut gtk::GtkWindow, title: *const c_char, icon_stock_id: *const c_char, primary_text: *const c_char, secondary_text: *const c_char, first_button_text: *const c_char, args: /*Unimplemented*/va_list) -> *mut gtk::GtkWidget;
    pub fn xfce_spawn(
        screen: *mut gdk::GdkScreen,
        working_directory: *const c_char,
        argv: *mut *mut c_char,
        envp: *mut *mut c_char,
        flags: glib::GSpawnFlags,
        startup_notify: gboolean,
        startup_timestamp: u32,
        startup_icon_name: *const c_char,
        child_process: gboolean,
        error: *mut *mut glib::GError,
    ) -> gboolean;
    pub fn xfce_spawn_command_line(
        screen: *mut gdk::GdkScreen,
        command_line: *const c_char,
        in_terminal: gboolean,
        startup_notify: gboolean,
        child_process: gboolean,
        error: *mut *mut glib::GError,
    ) -> gboolean;
    pub fn xfce_spawn_command_line_on_screen(
        screen: *mut gdk::GdkScreen,
        command_line: *const c_char,
        in_terminal: gboolean,
        startup_notify: gboolean,
        error: *mut *mut glib::GError,
    ) -> gboolean;
    pub fn xfce_spawn_on_screen(
        screen: *mut gdk::GdkScreen,
        working_directory: *const c_char,
        argv: *mut *mut c_char,
        envp: *mut *mut c_char,
        flags: glib::GSpawnFlags,
        startup_notify: gboolean,
        startup_timestamp: u32,
        startup_icon_name: *const c_char,
        error: *mut *mut glib::GError,
    ) -> gboolean;
    pub fn xfce_spawn_on_screen_with_child_watch(
        screen: *mut gdk::GdkScreen,
        working_directory: *const c_char,
        argv: *mut *mut c_char,
        envp: *mut *mut c_char,
        flags: glib::GSpawnFlags,
        startup_notify: gboolean,
        startup_timestamp: u32,
        startup_icon_name: *const c_char,
        child_watch_closure: *mut gobject::GClosure,
        error: *mut *mut glib::GError,
    ) -> gboolean;
    pub fn xfce_widget_reparent(
        widget: *mut gtk::GtkWidget,
        new_parent: *mut gtk::GtkWidget,
    ) -> gboolean;

}
