libpanel_sys/
lib.rs

1// Generated by gir (https://github.com/gtk-rs/gir @ 9eb6e0c1e572)
2// from
3// from gir-files (https://github.com/gtk-rs/gir-files.git @ 5c1e490fe50a)
4// DO NOT EDIT
5
6#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
7#![allow(
8    clippy::approx_constant,
9    clippy::type_complexity,
10    clippy::unreadable_literal,
11    clippy::upper_case_acronyms
12)]
13#![cfg_attr(docsrs, feature(doc_cfg))]
14
15use adw_sys as adw;
16use gio_sys as gio;
17use glib_sys as glib;
18use gobject_sys as gobject;
19use gtk_sys as gtk;
20
21#[cfg(unix)]
22#[allow(unused_imports)]
23use libc::{dev_t, gid_t, pid_t, socklen_t, uid_t};
24#[allow(unused_imports)]
25use libc::{intptr_t, off_t, size_t, ssize_t, time_t, uintptr_t, FILE};
26#[allow(unused_imports)]
27use std::ffi::{
28    c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
29};
30
31#[allow(unused_imports)]
32use glib::{gboolean, gconstpointer, gpointer, GType};
33
34// Enums
35pub type PanelArea = c_int;
36pub const PANEL_AREA_START: PanelArea = 0;
37pub const PANEL_AREA_END: PanelArea = 1;
38pub const PANEL_AREA_TOP: PanelArea = 2;
39pub const PANEL_AREA_BOTTOM: PanelArea = 3;
40pub const PANEL_AREA_CENTER: PanelArea = 4;
41
42// Constants
43pub const PANEL_MAJOR_VERSION: c_int = 1;
44pub const PANEL_MICRO_VERSION: c_int = 1;
45pub const PANEL_MINOR_VERSION: c_int = 10;
46pub const PANEL_VERSION_S: &[u8] = b"1.10.1\0";
47pub const PANEL_WIDGET_KIND_ANY: &[u8] = b"*\0";
48pub const PANEL_WIDGET_KIND_DOCUMENT: &[u8] = b"document\0";
49pub const PANEL_WIDGET_KIND_UNKNOWN: &[u8] = b"unknown\0";
50pub const PANEL_WIDGET_KIND_UTILITY: &[u8] = b"utility\0";
51
52// Callbacks
53pub type PanelActionActivateFunc =
54    Option<unsafe extern "C" fn(gpointer, *const c_char, *mut glib::GVariant)>;
55pub type PanelFrameCallback = Option<unsafe extern "C" fn(*mut PanelFrame, gpointer)>;
56pub type PanelWorkspaceForeach = Option<unsafe extern "C" fn(*mut PanelWorkspace, gpointer)>;
57
58// Records
59#[repr(C)]
60#[allow(dead_code)]
61pub struct _PanelAction {
62    _data: [u8; 0],
63    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
64}
65
66pub type PanelAction = _PanelAction;
67
68#[derive(Copy, Clone)]
69#[repr(C)]
70pub struct PanelActionMuxerClass {
71    pub parent_class: gobject::GObjectClass,
72}
73
74impl ::std::fmt::Debug for PanelActionMuxerClass {
75    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
76        f.debug_struct(&format!("PanelActionMuxerClass @ {self:p}"))
77            .field("parent_class", &self.parent_class)
78            .finish()
79    }
80}
81
82#[derive(Copy, Clone)]
83#[repr(C)]
84pub struct PanelApplicationClass {
85    pub parent_class: adw::AdwApplicationClass,
86    pub _reserved: [gpointer; 8],
87}
88
89impl ::std::fmt::Debug for PanelApplicationClass {
90    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
91        f.debug_struct(&format!("PanelApplicationClass @ {self:p}"))
92            .field("parent_class", &self.parent_class)
93            .finish()
94    }
95}
96
97#[derive(Copy, Clone)]
98#[repr(C)]
99pub struct PanelChangesDialogClass {
100    pub parent_class: adw::AdwAlertDialogClass,
101}
102
103impl ::std::fmt::Debug for PanelChangesDialogClass {
104    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
105        f.debug_struct(&format!("PanelChangesDialogClass @ {self:p}"))
106            .field("parent_class", &self.parent_class)
107            .finish()
108    }
109}
110
111#[derive(Copy, Clone)]
112#[repr(C)]
113pub struct PanelDockClass {
114    pub parent_class: gtk::GtkWidgetClass,
115    pub panel_drag_begin: Option<unsafe extern "C" fn(*mut PanelDock, *mut PanelWidget)>,
116    pub panel_drag_end: Option<unsafe extern "C" fn(*mut PanelDock, *mut PanelWidget)>,
117}
118
119impl ::std::fmt::Debug for PanelDockClass {
120    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
121        f.debug_struct(&format!("PanelDockClass @ {self:p}"))
122            .field("parent_class", &self.parent_class)
123            .field("panel_drag_begin", &self.panel_drag_begin)
124            .field("panel_drag_end", &self.panel_drag_end)
125            .finish()
126    }
127}
128
129#[derive(Copy, Clone)]
130#[repr(C)]
131pub struct PanelDocumentWorkspaceClass {
132    pub parent_class: PanelWorkspaceClass,
133    pub create_frame: Option<
134        unsafe extern "C" fn(*mut PanelDocumentWorkspace, *mut PanelPosition) -> *mut PanelFrame,
135    >,
136    pub add_widget: Option<
137        unsafe extern "C" fn(
138            *mut PanelDocumentWorkspace,
139            *mut PanelWidget,
140            *mut PanelPosition,
141        ) -> gboolean,
142    >,
143    pub _reserved: [gpointer; 16],
144}
145
146impl ::std::fmt::Debug for PanelDocumentWorkspaceClass {
147    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
148        f.debug_struct(&format!("PanelDocumentWorkspaceClass @ {self:p}"))
149            .field("parent_class", &self.parent_class)
150            .field("create_frame", &self.create_frame)
151            .field("add_widget", &self.add_widget)
152            .finish()
153    }
154}
155
156#[derive(Copy, Clone)]
157#[repr(C)]
158pub struct PanelFrameClass {
159    pub parent_class: gtk::GtkWidgetClass,
160    pub page_closed: Option<unsafe extern "C" fn(*mut PanelFrame, *mut PanelWidget)>,
161    pub adopt_widget: Option<unsafe extern "C" fn(*mut PanelFrame, *mut PanelWidget) -> gboolean>,
162    pub _reserved: [gpointer; 6],
163}
164
165impl ::std::fmt::Debug for PanelFrameClass {
166    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
167        f.debug_struct(&format!("PanelFrameClass @ {self:p}"))
168            .field("parent_class", &self.parent_class)
169            .field("page_closed", &self.page_closed)
170            .field("adopt_widget", &self.adopt_widget)
171            .finish()
172    }
173}
174
175#[derive(Copy, Clone)]
176#[repr(C)]
177pub struct PanelFrameHeaderBarClass {
178    pub parent_class: gtk::GtkWidgetClass,
179}
180
181impl ::std::fmt::Debug for PanelFrameHeaderBarClass {
182    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
183        f.debug_struct(&format!("PanelFrameHeaderBarClass @ {self:p}"))
184            .field("parent_class", &self.parent_class)
185            .finish()
186    }
187}
188
189#[derive(Copy, Clone)]
190#[repr(C)]
191pub struct PanelFrameHeaderInterface {
192    pub parent_iface: gobject::GTypeInterface,
193    pub page_changed: Option<unsafe extern "C" fn(*mut PanelFrameHeader, *mut PanelWidget)>,
194    pub can_drop: Option<unsafe extern "C" fn(*mut PanelFrameHeader, *mut PanelWidget) -> gboolean>,
195    pub add_prefix: Option<unsafe extern "C" fn(*mut PanelFrameHeader, c_int, *mut gtk::GtkWidget)>,
196    pub add_suffix: Option<unsafe extern "C" fn(*mut PanelFrameHeader, c_int, *mut gtk::GtkWidget)>,
197}
198
199impl ::std::fmt::Debug for PanelFrameHeaderInterface {
200    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
201        f.debug_struct(&format!("PanelFrameHeaderInterface @ {self:p}"))
202            .field("parent_iface", &self.parent_iface)
203            .field("page_changed", &self.page_changed)
204            .field("can_drop", &self.can_drop)
205            .field("add_prefix", &self.add_prefix)
206            .field("add_suffix", &self.add_suffix)
207            .finish()
208    }
209}
210
211#[derive(Copy, Clone)]
212#[repr(C)]
213pub struct PanelFrameSwitcherClass {
214    pub parent_class: gtk::GtkWidgetClass,
215}
216
217impl ::std::fmt::Debug for PanelFrameSwitcherClass {
218    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
219        f.debug_struct(&format!("PanelFrameSwitcherClass @ {self:p}"))
220            .field("parent_class", &self.parent_class)
221            .finish()
222    }
223}
224
225#[derive(Copy, Clone)]
226#[repr(C)]
227pub struct PanelFrameTabBarClass {
228    pub parent_class: gtk::GtkWidgetClass,
229}
230
231impl ::std::fmt::Debug for PanelFrameTabBarClass {
232    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
233        f.debug_struct(&format!("PanelFrameTabBarClass @ {self:p}"))
234            .field("parent_class", &self.parent_class)
235            .finish()
236    }
237}
238
239#[derive(Copy, Clone)]
240#[repr(C)]
241pub struct PanelGSettingsActionGroupClass {
242    pub parent_class: gobject::GObjectClass,
243}
244
245impl ::std::fmt::Debug for PanelGSettingsActionGroupClass {
246    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
247        f.debug_struct(&format!("PanelGSettingsActionGroupClass @ {self:p}"))
248            .field("parent_class", &self.parent_class)
249            .finish()
250    }
251}
252
253#[derive(Copy, Clone)]
254#[repr(C)]
255pub struct PanelGridClass {
256    pub parent_class: gtk::GtkWidgetClass,
257    pub create_frame: Option<unsafe extern "C" fn(*mut PanelGrid) -> *mut PanelFrame>,
258    pub _reserved: [gpointer; 12],
259}
260
261impl ::std::fmt::Debug for PanelGridClass {
262    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
263        f.debug_struct(&format!("PanelGridClass @ {self:p}"))
264            .field("parent_class", &self.parent_class)
265            .field("create_frame", &self.create_frame)
266            .finish()
267    }
268}
269
270#[derive(Copy, Clone)]
271#[repr(C)]
272pub struct PanelGridColumnClass {
273    pub parent_class: gtk::GtkWidgetClass,
274}
275
276impl ::std::fmt::Debug for PanelGridColumnClass {
277    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
278        f.debug_struct(&format!("PanelGridColumnClass @ {self:p}"))
279            .field("parent_class", &self.parent_class)
280            .finish()
281    }
282}
283
284#[derive(Copy, Clone)]
285#[repr(C)]
286pub struct PanelInhibitorClass {
287    pub parent_class: gobject::GObjectClass,
288}
289
290impl ::std::fmt::Debug for PanelInhibitorClass {
291    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
292        f.debug_struct(&format!("PanelInhibitorClass @ {self:p}"))
293            .field("parent_class", &self.parent_class)
294            .finish()
295    }
296}
297
298#[derive(Copy, Clone)]
299#[repr(C)]
300pub struct PanelLayeredSettingsClass {
301    pub parent_class: gobject::GObjectClass,
302}
303
304impl ::std::fmt::Debug for PanelLayeredSettingsClass {
305    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
306        f.debug_struct(&format!("PanelLayeredSettingsClass @ {self:p}"))
307            .field("parent_class", &self.parent_class)
308            .finish()
309    }
310}
311
312#[derive(Copy, Clone)]
313#[repr(C)]
314pub struct PanelMenuManagerClass {
315    pub parent_class: gobject::GObjectClass,
316}
317
318impl ::std::fmt::Debug for PanelMenuManagerClass {
319    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
320        f.debug_struct(&format!("PanelMenuManagerClass @ {self:p}"))
321            .field("parent_class", &self.parent_class)
322            .finish()
323    }
324}
325
326#[derive(Copy, Clone)]
327#[repr(C)]
328pub struct PanelOmniBarClass {
329    pub parent_class: gtk::GtkWidgetClass,
330    pub _reserved: [gpointer; 8],
331}
332
333impl ::std::fmt::Debug for PanelOmniBarClass {
334    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
335        f.debug_struct(&format!("PanelOmniBarClass @ {self:p}"))
336            .field("parent_class", &self.parent_class)
337            .finish()
338    }
339}
340
341#[derive(Copy, Clone)]
342#[repr(C)]
343pub struct PanelPanedClass {
344    pub parent_class: gtk::GtkWidgetClass,
345}
346
347impl ::std::fmt::Debug for PanelPanedClass {
348    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
349        f.debug_struct(&format!("PanelPanedClass @ {self:p}"))
350            .field("parent_class", &self.parent_class)
351            .finish()
352    }
353}
354
355#[derive(Copy, Clone)]
356#[repr(C)]
357pub struct PanelPositionClass {
358    pub parent_class: gobject::GObjectClass,
359}
360
361impl ::std::fmt::Debug for PanelPositionClass {
362    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
363        f.debug_struct(&format!("PanelPositionClass @ {self:p}"))
364            .field("parent_class", &self.parent_class)
365            .finish()
366    }
367}
368
369#[derive(Copy, Clone)]
370#[repr(C)]
371pub struct PanelSaveDelegateClass {
372    pub parent_class: gobject::GObjectClass,
373    pub save_async: Option<
374        unsafe extern "C" fn(
375            *mut PanelSaveDelegate,
376            *mut gio::GCancellable,
377            gio::GAsyncReadyCallback,
378            gpointer,
379        ),
380    >,
381    pub save_finish: Option<
382        unsafe extern "C" fn(
383            *mut PanelSaveDelegate,
384            *mut gio::GAsyncResult,
385            *mut *mut glib::GError,
386        ) -> gboolean,
387    >,
388    pub save: Option<unsafe extern "C" fn(*mut PanelSaveDelegate, *mut gio::GTask) -> gboolean>,
389    pub discard: Option<unsafe extern "C" fn(*mut PanelSaveDelegate)>,
390    pub close: Option<unsafe extern "C" fn(*mut PanelSaveDelegate)>,
391    pub _reserved: [gpointer; 8],
392}
393
394impl ::std::fmt::Debug for PanelSaveDelegateClass {
395    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
396        f.debug_struct(&format!("PanelSaveDelegateClass @ {self:p}"))
397            .field("parent_class", &self.parent_class)
398            .field("save_async", &self.save_async)
399            .field("save_finish", &self.save_finish)
400            .field("save", &self.save)
401            .field("discard", &self.discard)
402            .field("close", &self.close)
403            .finish()
404    }
405}
406
407#[derive(Copy, Clone)]
408#[repr(C)]
409pub struct PanelSaveDialogClass {
410    pub parent_class: adw::AdwMessageDialogClass,
411}
412
413impl ::std::fmt::Debug for PanelSaveDialogClass {
414    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
415        f.debug_struct(&format!("PanelSaveDialogClass @ {self:p}"))
416            .field("parent_class", &self.parent_class)
417            .finish()
418    }
419}
420
421#[derive(Copy, Clone)]
422#[repr(C)]
423pub struct PanelSessionClass {
424    pub parent_class: gobject::GObjectClass,
425}
426
427impl ::std::fmt::Debug for PanelSessionClass {
428    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
429        f.debug_struct(&format!("PanelSessionClass @ {self:p}"))
430            .field("parent_class", &self.parent_class)
431            .finish()
432    }
433}
434
435#[derive(Copy, Clone)]
436#[repr(C)]
437pub struct PanelSessionItemClass {
438    pub parent_class: gobject::GObjectClass,
439}
440
441impl ::std::fmt::Debug for PanelSessionItemClass {
442    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
443        f.debug_struct(&format!("PanelSessionItemClass @ {self:p}"))
444            .field("parent_class", &self.parent_class)
445            .finish()
446    }
447}
448
449#[derive(Copy, Clone)]
450#[repr(C)]
451pub struct PanelSettingsClass {
452    pub parent_class: gobject::GObjectClass,
453}
454
455impl ::std::fmt::Debug for PanelSettingsClass {
456    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
457        f.debug_struct(&format!("PanelSettingsClass @ {self:p}"))
458            .field("parent_class", &self.parent_class)
459            .finish()
460    }
461}
462
463#[derive(Copy, Clone)]
464#[repr(C)]
465pub struct PanelStatusbarClass {
466    pub parent_class: gtk::GtkWidgetClass,
467}
468
469impl ::std::fmt::Debug for PanelStatusbarClass {
470    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
471        f.debug_struct(&format!("PanelStatusbarClass @ {self:p}"))
472            .field("parent_class", &self.parent_class)
473            .finish()
474    }
475}
476
477#[derive(Copy, Clone)]
478#[repr(C)]
479pub struct PanelThemeSelectorClass {
480    pub parent_class: gtk::GtkWidgetClass,
481}
482
483impl ::std::fmt::Debug for PanelThemeSelectorClass {
484    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
485        f.debug_struct(&format!("PanelThemeSelectorClass @ {self:p}"))
486            .field("parent_class", &self.parent_class)
487            .finish()
488    }
489}
490
491#[derive(Copy, Clone)]
492#[repr(C)]
493pub struct PanelToggleButtonClass {
494    pub parent_class: gtk::GtkWidgetClass,
495}
496
497impl ::std::fmt::Debug for PanelToggleButtonClass {
498    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
499        f.debug_struct(&format!("PanelToggleButtonClass @ {self:p}"))
500            .field("parent_class", &self.parent_class)
501            .finish()
502    }
503}
504
505#[derive(Copy, Clone)]
506#[repr(C)]
507pub struct PanelWidgetClass {
508    pub parent_instance: gtk::GtkWidgetClass,
509    pub get_default_focus: Option<unsafe extern "C" fn(*mut PanelWidget) -> *mut gtk::GtkWidget>,
510    pub presented: Option<unsafe extern "C" fn(*mut PanelWidget)>,
511    pub _reserved: [gpointer; 8],
512}
513
514impl ::std::fmt::Debug for PanelWidgetClass {
515    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
516        f.debug_struct(&format!("PanelWidgetClass @ {self:p}"))
517            .field("parent_instance", &self.parent_instance)
518            .field("get_default_focus", &self.get_default_focus)
519            .field("presented", &self.presented)
520            .finish()
521    }
522}
523
524#[derive(Copy, Clone)]
525#[repr(C)]
526pub struct PanelWorkbenchClass {
527    pub parent_class: gtk::GtkWindowGroupClass,
528    pub activate: Option<unsafe extern "C" fn(*mut PanelWorkbench)>,
529    pub unload_async: Option<
530        unsafe extern "C" fn(
531            *mut PanelWorkbench,
532            *mut gio::GCancellable,
533            gio::GAsyncReadyCallback,
534            gpointer,
535        ),
536    >,
537    pub unload_finish: Option<
538        unsafe extern "C" fn(
539            *mut PanelWorkbench,
540            *mut gio::GAsyncResult,
541            *mut *mut glib::GError,
542        ) -> gboolean,
543    >,
544    pub _reserved: [gpointer; 8],
545}
546
547impl ::std::fmt::Debug for PanelWorkbenchClass {
548    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
549        f.debug_struct(&format!("PanelWorkbenchClass @ {self:p}"))
550            .field("parent_class", &self.parent_class)
551            .field("activate", &self.activate)
552            .field("unload_async", &self.unload_async)
553            .field("unload_finish", &self.unload_finish)
554            .finish()
555    }
556}
557
558#[derive(Copy, Clone)]
559#[repr(C)]
560pub struct PanelWorkspaceClass {
561    pub parent_class: adw::AdwApplicationWindowClass,
562    pub _reserved: [gpointer; 8],
563}
564
565impl ::std::fmt::Debug for PanelWorkspaceClass {
566    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
567        f.debug_struct(&format!("PanelWorkspaceClass @ {self:p}"))
568            .field("parent_class", &self.parent_class)
569            .finish()
570    }
571}
572
573// Classes
574#[repr(C)]
575#[allow(dead_code)]
576pub struct PanelActionMuxer {
577    _data: [u8; 0],
578    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
579}
580
581impl ::std::fmt::Debug for PanelActionMuxer {
582    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
583        f.debug_struct(&format!("PanelActionMuxer @ {self:p}"))
584            .finish()
585    }
586}
587
588#[derive(Copy, Clone)]
589#[repr(C)]
590pub struct PanelApplication {
591    pub parent_instance: adw::AdwApplication,
592}
593
594impl ::std::fmt::Debug for PanelApplication {
595    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
596        f.debug_struct(&format!("PanelApplication @ {self:p}"))
597            .field("parent_instance", &self.parent_instance)
598            .finish()
599    }
600}
601
602#[repr(C)]
603#[allow(dead_code)]
604pub struct PanelChangesDialog {
605    _data: [u8; 0],
606    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
607}
608
609impl ::std::fmt::Debug for PanelChangesDialog {
610    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
611        f.debug_struct(&format!("PanelChangesDialog @ {self:p}"))
612            .finish()
613    }
614}
615
616#[derive(Copy, Clone)]
617#[repr(C)]
618pub struct PanelDock {
619    pub parent_instance: gtk::GtkWidget,
620}
621
622impl ::std::fmt::Debug for PanelDock {
623    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
624        f.debug_struct(&format!("PanelDock @ {self:p}"))
625            .field("parent_instance", &self.parent_instance)
626            .finish()
627    }
628}
629
630#[derive(Copy, Clone)]
631#[repr(C)]
632pub struct PanelDocumentWorkspace {
633    pub parent_instance: PanelWorkspace,
634}
635
636impl ::std::fmt::Debug for PanelDocumentWorkspace {
637    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
638        f.debug_struct(&format!("PanelDocumentWorkspace @ {self:p}"))
639            .field("parent_instance", &self.parent_instance)
640            .finish()
641    }
642}
643
644#[derive(Copy, Clone)]
645#[repr(C)]
646pub struct PanelFrame {
647    pub parent_instance: gtk::GtkWidget,
648}
649
650impl ::std::fmt::Debug for PanelFrame {
651    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
652        f.debug_struct(&format!("PanelFrame @ {self:p}"))
653            .field("parent_instance", &self.parent_instance)
654            .finish()
655    }
656}
657
658#[repr(C)]
659#[allow(dead_code)]
660pub struct PanelFrameHeaderBar {
661    _data: [u8; 0],
662    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
663}
664
665impl ::std::fmt::Debug for PanelFrameHeaderBar {
666    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
667        f.debug_struct(&format!("PanelFrameHeaderBar @ {self:p}"))
668            .finish()
669    }
670}
671
672#[repr(C)]
673#[allow(dead_code)]
674pub struct PanelFrameSwitcher {
675    _data: [u8; 0],
676    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
677}
678
679impl ::std::fmt::Debug for PanelFrameSwitcher {
680    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
681        f.debug_struct(&format!("PanelFrameSwitcher @ {self:p}"))
682            .finish()
683    }
684}
685
686#[repr(C)]
687#[allow(dead_code)]
688pub struct PanelFrameTabBar {
689    _data: [u8; 0],
690    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
691}
692
693impl ::std::fmt::Debug for PanelFrameTabBar {
694    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
695        f.debug_struct(&format!("PanelFrameTabBar @ {self:p}"))
696            .finish()
697    }
698}
699
700#[repr(C)]
701#[allow(dead_code)]
702pub struct PanelGSettingsActionGroup {
703    _data: [u8; 0],
704    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
705}
706
707impl ::std::fmt::Debug for PanelGSettingsActionGroup {
708    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
709        f.debug_struct(&format!("PanelGSettingsActionGroup @ {self:p}"))
710            .finish()
711    }
712}
713
714#[derive(Copy, Clone)]
715#[repr(C)]
716pub struct PanelGrid {
717    pub parent_instance: gtk::GtkWidget,
718}
719
720impl ::std::fmt::Debug for PanelGrid {
721    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
722        f.debug_struct(&format!("PanelGrid @ {self:p}"))
723            .field("parent_instance", &self.parent_instance)
724            .finish()
725    }
726}
727
728#[repr(C)]
729#[allow(dead_code)]
730pub struct PanelGridColumn {
731    _data: [u8; 0],
732    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
733}
734
735impl ::std::fmt::Debug for PanelGridColumn {
736    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
737        f.debug_struct(&format!("PanelGridColumn @ {self:p}"))
738            .finish()
739    }
740}
741
742#[repr(C)]
743#[allow(dead_code)]
744pub struct PanelInhibitor {
745    _data: [u8; 0],
746    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
747}
748
749impl ::std::fmt::Debug for PanelInhibitor {
750    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
751        f.debug_struct(&format!("PanelInhibitor @ {self:p}"))
752            .finish()
753    }
754}
755
756#[repr(C)]
757#[allow(dead_code)]
758pub struct PanelLayeredSettings {
759    _data: [u8; 0],
760    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
761}
762
763impl ::std::fmt::Debug for PanelLayeredSettings {
764    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
765        f.debug_struct(&format!("PanelLayeredSettings @ {self:p}"))
766            .finish()
767    }
768}
769
770#[repr(C)]
771#[allow(dead_code)]
772pub struct PanelMenuManager {
773    _data: [u8; 0],
774    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
775}
776
777impl ::std::fmt::Debug for PanelMenuManager {
778    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
779        f.debug_struct(&format!("PanelMenuManager @ {self:p}"))
780            .finish()
781    }
782}
783
784#[derive(Copy, Clone)]
785#[repr(C)]
786pub struct PanelOmniBar {
787    pub parent_instance: gtk::GtkWidget,
788}
789
790impl ::std::fmt::Debug for PanelOmniBar {
791    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
792        f.debug_struct(&format!("PanelOmniBar @ {self:p}"))
793            .field("parent_instance", &self.parent_instance)
794            .finish()
795    }
796}
797
798#[repr(C)]
799#[allow(dead_code)]
800pub struct PanelPaned {
801    _data: [u8; 0],
802    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
803}
804
805impl ::std::fmt::Debug for PanelPaned {
806    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
807        f.debug_struct(&format!("PanelPaned @ {self:p}")).finish()
808    }
809}
810
811#[repr(C)]
812#[allow(dead_code)]
813pub struct PanelPosition {
814    _data: [u8; 0],
815    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
816}
817
818impl ::std::fmt::Debug for PanelPosition {
819    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
820        f.debug_struct(&format!("PanelPosition @ {self:p}"))
821            .finish()
822    }
823}
824
825#[derive(Copy, Clone)]
826#[repr(C)]
827pub struct PanelSaveDelegate {
828    pub parent_instance: gobject::GObject,
829}
830
831impl ::std::fmt::Debug for PanelSaveDelegate {
832    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
833        f.debug_struct(&format!("PanelSaveDelegate @ {self:p}"))
834            .field("parent_instance", &self.parent_instance)
835            .finish()
836    }
837}
838
839#[repr(C)]
840#[allow(dead_code)]
841pub struct PanelSaveDialog {
842    _data: [u8; 0],
843    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
844}
845
846impl ::std::fmt::Debug for PanelSaveDialog {
847    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
848        f.debug_struct(&format!("PanelSaveDialog @ {self:p}"))
849            .finish()
850    }
851}
852
853#[repr(C)]
854#[allow(dead_code)]
855pub struct PanelSession {
856    _data: [u8; 0],
857    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
858}
859
860impl ::std::fmt::Debug for PanelSession {
861    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
862        f.debug_struct(&format!("PanelSession @ {self:p}")).finish()
863    }
864}
865
866#[repr(C)]
867#[allow(dead_code)]
868pub struct PanelSessionItem {
869    _data: [u8; 0],
870    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
871}
872
873impl ::std::fmt::Debug for PanelSessionItem {
874    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
875        f.debug_struct(&format!("PanelSessionItem @ {self:p}"))
876            .finish()
877    }
878}
879
880#[repr(C)]
881#[allow(dead_code)]
882pub struct PanelSettings {
883    _data: [u8; 0],
884    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
885}
886
887impl ::std::fmt::Debug for PanelSettings {
888    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
889        f.debug_struct(&format!("PanelSettings @ {self:p}"))
890            .finish()
891    }
892}
893
894#[repr(C)]
895#[allow(dead_code)]
896pub struct PanelStatusbar {
897    _data: [u8; 0],
898    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
899}
900
901impl ::std::fmt::Debug for PanelStatusbar {
902    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
903        f.debug_struct(&format!("PanelStatusbar @ {self:p}"))
904            .finish()
905    }
906}
907
908#[repr(C)]
909#[allow(dead_code)]
910pub struct PanelThemeSelector {
911    _data: [u8; 0],
912    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
913}
914
915impl ::std::fmt::Debug for PanelThemeSelector {
916    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
917        f.debug_struct(&format!("PanelThemeSelector @ {self:p}"))
918            .finish()
919    }
920}
921
922#[repr(C)]
923#[allow(dead_code)]
924pub struct PanelToggleButton {
925    _data: [u8; 0],
926    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
927}
928
929impl ::std::fmt::Debug for PanelToggleButton {
930    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
931        f.debug_struct(&format!("PanelToggleButton @ {self:p}"))
932            .finish()
933    }
934}
935
936#[derive(Copy, Clone)]
937#[repr(C)]
938pub struct PanelWidget {
939    pub parent_instance: gtk::GtkWidget,
940}
941
942impl ::std::fmt::Debug for PanelWidget {
943    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
944        f.debug_struct(&format!("PanelWidget @ {self:p}"))
945            .field("parent_instance", &self.parent_instance)
946            .finish()
947    }
948}
949
950#[derive(Copy, Clone)]
951#[repr(C)]
952pub struct PanelWorkbench {
953    pub parent_instance: gtk::GtkWindowGroup,
954}
955
956impl ::std::fmt::Debug for PanelWorkbench {
957    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
958        f.debug_struct(&format!("PanelWorkbench @ {self:p}"))
959            .field("parent_instance", &self.parent_instance)
960            .finish()
961    }
962}
963
964#[derive(Copy, Clone)]
965#[repr(C)]
966pub struct PanelWorkspace {
967    pub parent_instance: adw::AdwApplicationWindow,
968}
969
970impl ::std::fmt::Debug for PanelWorkspace {
971    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
972        f.debug_struct(&format!("PanelWorkspace @ {self:p}"))
973            .field("parent_instance", &self.parent_instance)
974            .finish()
975    }
976}
977
978// Interfaces
979#[repr(C)]
980#[allow(dead_code)]
981pub struct PanelFrameHeader {
982    _data: [u8; 0],
983    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
984}
985
986impl ::std::fmt::Debug for PanelFrameHeader {
987    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
988        write!(f, "PanelFrameHeader @ {self:p}")
989    }
990}
991
992extern "C" {
993
994    //=========================================================================
995    // PanelArea
996    //=========================================================================
997    pub fn panel_area_get_type() -> GType;
998
999    //=========================================================================
1000    // PanelWidgetClass
1001    //=========================================================================
1002    pub fn panel_widget_class_install_action(
1003        widget_class: *mut PanelWidgetClass,
1004        action_name: *const c_char,
1005        parameter_type: *const c_char,
1006        activate: gtk::GtkWidgetActionActivateFunc,
1007    );
1008    pub fn panel_widget_class_install_property_action(
1009        widget_class: *mut PanelWidgetClass,
1010        action_name: *const c_char,
1011        property_name: *const c_char,
1012    );
1013
1014    //=========================================================================
1015    // PanelWorkbenchClass
1016    //=========================================================================
1017    pub fn panel_workbench_class_install_action(
1018        workbench_class: *mut PanelWorkbenchClass,
1019        action_name: *const c_char,
1020        parameter_type: *const c_char,
1021        activate: PanelActionActivateFunc,
1022    );
1023    #[cfg(feature = "v1_4")]
1024    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1025    pub fn panel_workbench_class_install_property_action(
1026        workbench_class: *mut PanelWorkbenchClass,
1027        action_name: *const c_char,
1028        property_name: *const c_char,
1029    );
1030
1031    //=========================================================================
1032    // PanelWorkspaceClass
1033    //=========================================================================
1034    pub fn panel_workspace_class_install_action(
1035        workspace_class: *mut PanelWorkspaceClass,
1036        action_name: *const c_char,
1037        parameter_type: *const c_char,
1038        activate: PanelActionActivateFunc,
1039    );
1040    #[cfg(feature = "v1_4")]
1041    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1042    pub fn panel_workspace_class_install_property_action(
1043        workspace_class: *mut PanelWorkspaceClass,
1044        action_name: *const c_char,
1045        property_name: *const c_char,
1046    );
1047
1048    //=========================================================================
1049    // PanelActionMuxer
1050    //=========================================================================
1051    pub fn panel_action_muxer_get_type() -> GType;
1052    pub fn panel_action_muxer_new() -> *mut PanelActionMuxer;
1053    pub fn panel_action_muxer_get_action_group(
1054        self_: *mut PanelActionMuxer,
1055        prefix: *const c_char,
1056    ) -> *mut gio::GActionGroup;
1057    pub fn panel_action_muxer_insert_action_group(
1058        self_: *mut PanelActionMuxer,
1059        prefix: *const c_char,
1060        action_group: *mut gio::GActionGroup,
1061    );
1062    pub fn panel_action_muxer_list_groups(self_: *mut PanelActionMuxer) -> *mut *mut c_char;
1063    pub fn panel_action_muxer_remove_action_group(
1064        self_: *mut PanelActionMuxer,
1065        prefix: *const c_char,
1066    );
1067    pub fn panel_action_muxer_remove_all(self_: *mut PanelActionMuxer);
1068
1069    //=========================================================================
1070    // PanelApplication
1071    //=========================================================================
1072    pub fn panel_application_get_type() -> GType;
1073    pub fn panel_application_new(
1074        application_id: *const c_char,
1075        flags: gio::GApplicationFlags,
1076    ) -> *mut PanelApplication;
1077
1078    //=========================================================================
1079    // PanelChangesDialog
1080    //=========================================================================
1081    #[cfg(feature = "v1_8")]
1082    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
1083    pub fn panel_changes_dialog_get_type() -> GType;
1084    #[cfg(feature = "v1_8")]
1085    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
1086    pub fn panel_changes_dialog_new() -> *mut gtk::GtkWidget;
1087    #[cfg(feature = "v1_8")]
1088    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
1089    pub fn panel_changes_dialog_add_delegate(
1090        self_: *mut PanelChangesDialog,
1091        delegate: *mut PanelSaveDelegate,
1092    );
1093    #[cfg(feature = "v1_8")]
1094    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
1095    pub fn panel_changes_dialog_get_close_after_save(self_: *mut PanelChangesDialog) -> gboolean;
1096    #[cfg(feature = "v1_8")]
1097    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
1098    pub fn panel_changes_dialog_run_async(
1099        self_: *mut PanelChangesDialog,
1100        parent: *mut gtk::GtkWidget,
1101        cancellable: *mut gio::GCancellable,
1102        callback: gio::GAsyncReadyCallback,
1103        user_data: gpointer,
1104    );
1105    #[cfg(feature = "v1_8")]
1106    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
1107    pub fn panel_changes_dialog_run_finish(
1108        self_: *mut PanelChangesDialog,
1109        result: *mut gio::GAsyncResult,
1110        error: *mut *mut glib::GError,
1111    ) -> gboolean;
1112    #[cfg(feature = "v1_8")]
1113    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
1114    pub fn panel_changes_dialog_set_close_after_save(
1115        self_: *mut PanelChangesDialog,
1116        close_after_save: gboolean,
1117    );
1118
1119    //=========================================================================
1120    // PanelDock
1121    //=========================================================================
1122    pub fn panel_dock_get_type() -> GType;
1123    pub fn panel_dock_new() -> *mut gtk::GtkWidget;
1124    pub fn panel_dock_foreach_frame(
1125        self_: *mut PanelDock,
1126        callback: PanelFrameCallback,
1127        user_data: gpointer,
1128    );
1129    pub fn panel_dock_get_can_reveal_area(self_: *mut PanelDock, area: PanelArea) -> gboolean;
1130    pub fn panel_dock_get_can_reveal_bottom(self_: *mut PanelDock) -> gboolean;
1131    pub fn panel_dock_get_can_reveal_end(self_: *mut PanelDock) -> gboolean;
1132    pub fn panel_dock_get_can_reveal_start(self_: *mut PanelDock) -> gboolean;
1133    pub fn panel_dock_get_can_reveal_top(self_: *mut PanelDock) -> gboolean;
1134    pub fn panel_dock_get_reveal_area(self_: *mut PanelDock, area: PanelArea) -> gboolean;
1135    pub fn panel_dock_get_reveal_bottom(self_: *mut PanelDock) -> gboolean;
1136    pub fn panel_dock_get_reveal_end(self_: *mut PanelDock) -> gboolean;
1137    pub fn panel_dock_get_reveal_start(self_: *mut PanelDock) -> gboolean;
1138    pub fn panel_dock_get_reveal_top(self_: *mut PanelDock) -> gboolean;
1139    pub fn panel_dock_remove(self_: *mut PanelDock, widget: *mut gtk::GtkWidget);
1140    pub fn panel_dock_set_bottom_height(self_: *mut PanelDock, height: c_int);
1141    pub fn panel_dock_set_end_width(self_: *mut PanelDock, width: c_int);
1142    pub fn panel_dock_set_reveal_area(self_: *mut PanelDock, area: PanelArea, reveal: gboolean);
1143    pub fn panel_dock_set_reveal_bottom(self_: *mut PanelDock, reveal_bottom: gboolean);
1144    pub fn panel_dock_set_reveal_end(self_: *mut PanelDock, reveal_end: gboolean);
1145    pub fn panel_dock_set_reveal_start(self_: *mut PanelDock, reveal_start: gboolean);
1146    pub fn panel_dock_set_reveal_top(self_: *mut PanelDock, reveal_top: gboolean);
1147    pub fn panel_dock_set_start_width(self_: *mut PanelDock, width: c_int);
1148    pub fn panel_dock_set_top_height(self_: *mut PanelDock, height: c_int);
1149
1150    //=========================================================================
1151    // PanelDocumentWorkspace
1152    //=========================================================================
1153    pub fn panel_document_workspace_get_type() -> GType;
1154    #[cfg(feature = "v1_4")]
1155    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1156    pub fn panel_document_workspace_new() -> *mut PanelDocumentWorkspace;
1157    #[cfg(feature = "v1_4")]
1158    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1159    pub fn panel_document_workspace_add_widget(
1160        self_: *mut PanelDocumentWorkspace,
1161        widget: *mut PanelWidget,
1162        position: *mut PanelPosition,
1163    ) -> gboolean;
1164    #[cfg(feature = "v1_4")]
1165    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1166    pub fn panel_document_workspace_get_dock(self_: *mut PanelDocumentWorkspace) -> *mut PanelDock;
1167    #[cfg(feature = "v1_4")]
1168    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1169    pub fn panel_document_workspace_get_grid(self_: *mut PanelDocumentWorkspace) -> *mut PanelGrid;
1170    #[cfg(feature = "v1_4")]
1171    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1172    pub fn panel_document_workspace_get_statusbar(
1173        self_: *mut PanelDocumentWorkspace,
1174    ) -> *mut PanelStatusbar;
1175    #[cfg(feature = "v1_4")]
1176    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1177    pub fn panel_document_workspace_get_titlebar(
1178        self_: *mut PanelDocumentWorkspace,
1179    ) -> *mut gtk::GtkWidget;
1180    pub fn panel_document_workspace_set_titlebar(
1181        self_: *mut PanelDocumentWorkspace,
1182        titlebar: *mut gtk::GtkWidget,
1183    );
1184
1185    //=========================================================================
1186    // PanelFrame
1187    //=========================================================================
1188    pub fn panel_frame_get_type() -> GType;
1189    pub fn panel_frame_new() -> *mut gtk::GtkWidget;
1190    pub fn panel_frame_add(self_: *mut PanelFrame, panel: *mut PanelWidget);
1191    pub fn panel_frame_add_before(
1192        self_: *mut PanelFrame,
1193        panel: *mut PanelWidget,
1194        sibling: *mut PanelWidget,
1195    );
1196    pub fn panel_frame_get_closeable(self_: *mut PanelFrame) -> gboolean;
1197    pub fn panel_frame_get_empty(self_: *mut PanelFrame) -> gboolean;
1198    pub fn panel_frame_get_header(self_: *mut PanelFrame) -> *mut PanelFrameHeader;
1199    pub fn panel_frame_get_n_pages(self_: *mut PanelFrame) -> c_uint;
1200    pub fn panel_frame_get_page(self_: *mut PanelFrame, n: c_uint) -> *mut PanelWidget;
1201    pub fn panel_frame_get_pages(self_: *mut PanelFrame) -> *mut gtk::GtkSelectionModel;
1202    pub fn panel_frame_get_placeholder(self_: *mut PanelFrame) -> *mut gtk::GtkWidget;
1203    pub fn panel_frame_get_position(self_: *mut PanelFrame) -> *mut PanelPosition;
1204    pub fn panel_frame_get_requested_size(self_: *mut PanelFrame) -> c_int;
1205    pub fn panel_frame_get_visible_child(self_: *mut PanelFrame) -> *mut PanelWidget;
1206    pub fn panel_frame_remove(self_: *mut PanelFrame, panel: *mut PanelWidget);
1207    #[cfg(feature = "v1_2")]
1208    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
1209    pub fn panel_frame_set_child_pinned(
1210        self_: *mut PanelFrame,
1211        child: *mut PanelWidget,
1212        pinned: gboolean,
1213    );
1214    pub fn panel_frame_set_header(self_: *mut PanelFrame, header: *mut PanelFrameHeader);
1215    pub fn panel_frame_set_placeholder(self_: *mut PanelFrame, placeholder: *mut gtk::GtkWidget);
1216    pub fn panel_frame_set_requested_size(self_: *mut PanelFrame, requested_size: c_int);
1217    pub fn panel_frame_set_visible_child(self_: *mut PanelFrame, widget: *mut PanelWidget);
1218
1219    //=========================================================================
1220    // PanelFrameHeaderBar
1221    //=========================================================================
1222    pub fn panel_frame_header_bar_get_type() -> GType;
1223    pub fn panel_frame_header_bar_new() -> *mut gtk::GtkWidget;
1224    pub fn panel_frame_header_bar_get_menu_popover(
1225        self_: *mut PanelFrameHeaderBar,
1226    ) -> *mut gtk::GtkPopoverMenu;
1227    pub fn panel_frame_header_bar_get_show_icon(self_: *mut PanelFrameHeaderBar) -> gboolean;
1228    pub fn panel_frame_header_bar_set_show_icon(
1229        self_: *mut PanelFrameHeaderBar,
1230        show_icon: gboolean,
1231    );
1232
1233    //=========================================================================
1234    // PanelFrameSwitcher
1235    //=========================================================================
1236    pub fn panel_frame_switcher_get_type() -> GType;
1237    pub fn panel_frame_switcher_new() -> *mut gtk::GtkWidget;
1238
1239    //=========================================================================
1240    // PanelFrameTabBar
1241    //=========================================================================
1242    pub fn panel_frame_tab_bar_get_type() -> GType;
1243    pub fn panel_frame_tab_bar_new() -> *mut gtk::GtkWidget;
1244    pub fn panel_frame_tab_bar_get_autohide(self_: *mut PanelFrameTabBar) -> gboolean;
1245    pub fn panel_frame_tab_bar_get_expand_tabs(self_: *mut PanelFrameTabBar) -> gboolean;
1246    pub fn panel_frame_tab_bar_get_inverted(self_: *mut PanelFrameTabBar) -> gboolean;
1247    pub fn panel_frame_tab_bar_set_autohide(self_: *mut PanelFrameTabBar, autohide: gboolean);
1248    pub fn panel_frame_tab_bar_set_expand_tabs(self_: *mut PanelFrameTabBar, expand_tabs: gboolean);
1249    pub fn panel_frame_tab_bar_set_inverted(self_: *mut PanelFrameTabBar, inverted: gboolean);
1250
1251    //=========================================================================
1252    // PanelGSettingsActionGroup
1253    //=========================================================================
1254    pub fn panel_gsettings_action_group_get_type() -> GType;
1255    pub fn panel_gsettings_action_group_new(
1256        settings: *mut gio::GSettings,
1257    ) -> *mut gio::GActionGroup;
1258
1259    //=========================================================================
1260    // PanelGrid
1261    //=========================================================================
1262    pub fn panel_grid_get_type() -> GType;
1263    pub fn panel_grid_new() -> *mut gtk::GtkWidget;
1264    pub fn panel_grid_add(self_: *mut PanelGrid, widget: *mut PanelWidget);
1265    pub fn panel_grid_agree_to_close_async(
1266        self_: *mut PanelGrid,
1267        cancellable: *mut gio::GCancellable,
1268        callback: gio::GAsyncReadyCallback,
1269        user_data: gpointer,
1270    );
1271    pub fn panel_grid_agree_to_close_finish(
1272        self_: *mut PanelGrid,
1273        result: *mut gio::GAsyncResult,
1274        error: *mut *mut glib::GError,
1275    ) -> gboolean;
1276    pub fn panel_grid_foreach_frame(
1277        self_: *mut PanelGrid,
1278        callback: PanelFrameCallback,
1279        user_data: gpointer,
1280    );
1281    pub fn panel_grid_get_column(self_: *mut PanelGrid, column: c_uint) -> *mut PanelGridColumn;
1282    pub fn panel_grid_get_most_recent_column(self_: *mut PanelGrid) -> *mut PanelGridColumn;
1283    pub fn panel_grid_get_most_recent_frame(self_: *mut PanelGrid) -> *mut PanelFrame;
1284    pub fn panel_grid_get_n_columns(self_: *mut PanelGrid) -> c_uint;
1285    pub fn panel_grid_insert_column(self_: *mut PanelGrid, position: c_uint);
1286
1287    //=========================================================================
1288    // PanelGridColumn
1289    //=========================================================================
1290    pub fn panel_grid_column_get_type() -> GType;
1291    pub fn panel_grid_column_new() -> *mut gtk::GtkWidget;
1292    pub fn panel_grid_column_foreach_frame(
1293        self_: *mut PanelGridColumn,
1294        callback: PanelFrameCallback,
1295        user_data: gpointer,
1296    );
1297    pub fn panel_grid_column_get_empty(self_: *mut PanelGridColumn) -> gboolean;
1298    pub fn panel_grid_column_get_most_recent_frame(self_: *mut PanelGridColumn) -> *mut PanelFrame;
1299    pub fn panel_grid_column_get_n_rows(self_: *mut PanelGridColumn) -> c_uint;
1300    pub fn panel_grid_column_get_row(self_: *mut PanelGridColumn, row: c_uint) -> *mut PanelFrame;
1301
1302    //=========================================================================
1303    // PanelInhibitor
1304    //=========================================================================
1305    pub fn panel_inhibitor_get_type() -> GType;
1306    pub fn panel_inhibitor_uninhibit(self_: *mut PanelInhibitor);
1307
1308    //=========================================================================
1309    // PanelLayeredSettings
1310    //=========================================================================
1311    pub fn panel_layered_settings_get_type() -> GType;
1312    pub fn panel_layered_settings_new(
1313        schema_id: *const c_char,
1314        path: *const c_char,
1315    ) -> *mut PanelLayeredSettings;
1316    pub fn panel_layered_settings_append(
1317        self_: *mut PanelLayeredSettings,
1318        settings: *mut gio::GSettings,
1319    );
1320    pub fn panel_layered_settings_bind(
1321        self_: *mut PanelLayeredSettings,
1322        key: *const c_char,
1323        object: gpointer,
1324        property: *const c_char,
1325        flags: gio::GSettingsBindFlags,
1326    );
1327    pub fn panel_layered_settings_bind_with_mapping(
1328        self_: *mut PanelLayeredSettings,
1329        key: *const c_char,
1330        object: gpointer,
1331        property: *const c_char,
1332        flags: gio::GSettingsBindFlags,
1333        get_mapping: gio::GSettingsBindGetMapping,
1334        set_mapping: gio::GSettingsBindSetMapping,
1335        user_data: gpointer,
1336        destroy: glib::GDestroyNotify,
1337    );
1338    pub fn panel_layered_settings_get_boolean(
1339        self_: *mut PanelLayeredSettings,
1340        key: *const c_char,
1341    ) -> gboolean;
1342    pub fn panel_layered_settings_get_default_value(
1343        self_: *mut PanelLayeredSettings,
1344        key: *const c_char,
1345    ) -> *mut glib::GVariant;
1346    pub fn panel_layered_settings_get_double(
1347        self_: *mut PanelLayeredSettings,
1348        key: *const c_char,
1349    ) -> c_double;
1350    pub fn panel_layered_settings_get_int(
1351        self_: *mut PanelLayeredSettings,
1352        key: *const c_char,
1353    ) -> c_int;
1354    pub fn panel_layered_settings_get_key(
1355        self_: *mut PanelLayeredSettings,
1356        key: *const c_char,
1357    ) -> *mut gio::GSettingsSchemaKey;
1358    pub fn panel_layered_settings_get_string(
1359        self_: *mut PanelLayeredSettings,
1360        key: *const c_char,
1361    ) -> *mut c_char;
1362    pub fn panel_layered_settings_get_uint(
1363        self_: *mut PanelLayeredSettings,
1364        key: *const c_char,
1365    ) -> c_uint;
1366    pub fn panel_layered_settings_get_user_value(
1367        self_: *mut PanelLayeredSettings,
1368        key: *const c_char,
1369    ) -> *mut glib::GVariant;
1370    pub fn panel_layered_settings_get_value(
1371        self_: *mut PanelLayeredSettings,
1372        key: *const c_char,
1373    ) -> *mut glib::GVariant;
1374    pub fn panel_layered_settings_list_keys(self_: *mut PanelLayeredSettings) -> *mut *mut c_char;
1375    pub fn panel_layered_settings_set_boolean(
1376        self_: *mut PanelLayeredSettings,
1377        key: *const c_char,
1378        val: gboolean,
1379    );
1380    pub fn panel_layered_settings_set_double(
1381        self_: *mut PanelLayeredSettings,
1382        key: *const c_char,
1383        val: c_double,
1384    );
1385    pub fn panel_layered_settings_set_int(
1386        self_: *mut PanelLayeredSettings,
1387        key: *const c_char,
1388        val: c_int,
1389    );
1390    pub fn panel_layered_settings_set_string(
1391        self_: *mut PanelLayeredSettings,
1392        key: *const c_char,
1393        val: *const c_char,
1394    );
1395    pub fn panel_layered_settings_set_uint(
1396        self_: *mut PanelLayeredSettings,
1397        key: *const c_char,
1398        val: c_uint,
1399    );
1400    pub fn panel_layered_settings_set_value(
1401        self_: *mut PanelLayeredSettings,
1402        key: *const c_char,
1403        value: *mut glib::GVariant,
1404    );
1405    pub fn panel_layered_settings_unbind(self_: *mut PanelLayeredSettings, property: *const c_char);
1406
1407    //=========================================================================
1408    // PanelMenuManager
1409    //=========================================================================
1410    pub fn panel_menu_manager_get_type() -> GType;
1411    pub fn panel_menu_manager_new() -> *mut PanelMenuManager;
1412    pub fn panel_menu_manager_add_filename(
1413        self_: *mut PanelMenuManager,
1414        filename: *const c_char,
1415        error: *mut *mut glib::GError,
1416    ) -> c_uint;
1417    #[cfg(feature = "v1_4")]
1418    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1419    pub fn panel_menu_manager_add_resource(
1420        self_: *mut PanelMenuManager,
1421        resource: *const c_char,
1422        error: *mut *mut glib::GError,
1423    ) -> c_uint;
1424    #[cfg(feature = "v1_4")]
1425    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1426    pub fn panel_menu_manager_find_item_by_id(
1427        self_: *mut PanelMenuManager,
1428        id: *const c_char,
1429        position: *mut c_uint,
1430    ) -> *mut gio::GMenu;
1431    #[cfg(feature = "v1_4")]
1432    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1433    pub fn panel_menu_manager_get_menu_by_id(
1434        self_: *mut PanelMenuManager,
1435        menu_id: *const c_char,
1436    ) -> *mut gio::GMenu;
1437    #[cfg(feature = "v1_4")]
1438    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1439    pub fn panel_menu_manager_get_menu_ids(self_: *mut PanelMenuManager) -> *const *const c_char;
1440    #[cfg(feature = "v1_4")]
1441    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1442    pub fn panel_menu_manager_merge(
1443        self_: *mut PanelMenuManager,
1444        menu_id: *const c_char,
1445        menu_model: *mut gio::GMenuModel,
1446    ) -> c_uint;
1447    #[cfg(feature = "v1_4")]
1448    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1449    pub fn panel_menu_manager_remove(self_: *mut PanelMenuManager, merge_id: c_uint);
1450    #[cfg(feature = "v1_4")]
1451    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1452    pub fn panel_menu_manager_set_attribute_string(
1453        self_: *mut PanelMenuManager,
1454        menu: *mut gio::GMenu,
1455        position: c_uint,
1456        attribute: *const c_char,
1457        value: *const c_char,
1458    );
1459
1460    //=========================================================================
1461    // PanelOmniBar
1462    //=========================================================================
1463    pub fn panel_omni_bar_get_type() -> GType;
1464    pub fn panel_omni_bar_new() -> *mut gtk::GtkWidget;
1465    pub fn panel_omni_bar_add_prefix(
1466        self_: *mut PanelOmniBar,
1467        priority: c_int,
1468        widget: *mut gtk::GtkWidget,
1469    );
1470    pub fn panel_omni_bar_add_suffix(
1471        self_: *mut PanelOmniBar,
1472        priority: c_int,
1473        widget: *mut gtk::GtkWidget,
1474    );
1475    pub fn panel_omni_bar_get_popover(self_: *mut PanelOmniBar) -> *mut gtk::GtkPopover;
1476    pub fn panel_omni_bar_get_progress(self_: *mut PanelOmniBar) -> c_double;
1477    pub fn panel_omni_bar_remove(self_: *mut PanelOmniBar, widget: *mut gtk::GtkWidget);
1478    pub fn panel_omni_bar_set_popover(self_: *mut PanelOmniBar, popover: *mut gtk::GtkPopover);
1479    pub fn panel_omni_bar_set_progress(self_: *mut PanelOmniBar, progress: c_double);
1480    pub fn panel_omni_bar_start_pulsing(self_: *mut PanelOmniBar);
1481    pub fn panel_omni_bar_stop_pulsing(self_: *mut PanelOmniBar);
1482
1483    //=========================================================================
1484    // PanelPaned
1485    //=========================================================================
1486    pub fn panel_paned_get_type() -> GType;
1487    pub fn panel_paned_new() -> *mut gtk::GtkWidget;
1488    pub fn panel_paned_append(self_: *mut PanelPaned, child: *mut gtk::GtkWidget);
1489    pub fn panel_paned_get_n_children(self_: *mut PanelPaned) -> c_uint;
1490    pub fn panel_paned_get_nth_child(self_: *mut PanelPaned, nth: c_uint) -> *mut gtk::GtkWidget;
1491    pub fn panel_paned_insert(self_: *mut PanelPaned, position: c_int, child: *mut gtk::GtkWidget);
1492    pub fn panel_paned_insert_after(
1493        self_: *mut PanelPaned,
1494        child: *mut gtk::GtkWidget,
1495        sibling: *mut gtk::GtkWidget,
1496    );
1497    pub fn panel_paned_prepend(self_: *mut PanelPaned, child: *mut gtk::GtkWidget);
1498    pub fn panel_paned_remove(self_: *mut PanelPaned, child: *mut gtk::GtkWidget);
1499
1500    //=========================================================================
1501    // PanelPosition
1502    //=========================================================================
1503    pub fn panel_position_get_type() -> GType;
1504    pub fn panel_position_new() -> *mut PanelPosition;
1505    pub fn panel_position_new_from_variant(variant: *mut glib::GVariant) -> *mut PanelPosition;
1506    pub fn panel_position_equal(a: *mut PanelPosition, b: *mut PanelPosition) -> gboolean;
1507    pub fn panel_position_get_area(self_: *mut PanelPosition) -> PanelArea;
1508    pub fn panel_position_get_area_set(self_: *mut PanelPosition) -> gboolean;
1509    pub fn panel_position_get_column(self_: *mut PanelPosition) -> c_uint;
1510    pub fn panel_position_get_column_set(self_: *mut PanelPosition) -> gboolean;
1511    pub fn panel_position_get_depth(self_: *mut PanelPosition) -> c_uint;
1512    pub fn panel_position_get_depth_set(self_: *mut PanelPosition) -> gboolean;
1513    pub fn panel_position_get_row(self_: *mut PanelPosition) -> c_uint;
1514    pub fn panel_position_get_row_set(self_: *mut PanelPosition) -> gboolean;
1515    pub fn panel_position_is_indeterminate(self_: *mut PanelPosition) -> gboolean;
1516    pub fn panel_position_set_area(self_: *mut PanelPosition, area: PanelArea);
1517    pub fn panel_position_set_area_set(self_: *mut PanelPosition, area_set: gboolean);
1518    pub fn panel_position_set_column(self_: *mut PanelPosition, column: c_uint);
1519    pub fn panel_position_set_column_set(self_: *mut PanelPosition, column_set: gboolean);
1520    pub fn panel_position_set_depth(self_: *mut PanelPosition, depth: c_uint);
1521    pub fn panel_position_set_depth_set(self_: *mut PanelPosition, depth_set: gboolean);
1522    pub fn panel_position_set_row(self_: *mut PanelPosition, row: c_uint);
1523    pub fn panel_position_set_row_set(self_: *mut PanelPosition, row_set: gboolean);
1524    pub fn panel_position_to_variant(self_: *mut PanelPosition) -> *mut glib::GVariant;
1525
1526    //=========================================================================
1527    // PanelSaveDelegate
1528    //=========================================================================
1529    pub fn panel_save_delegate_get_type() -> GType;
1530    pub fn panel_save_delegate_new() -> *mut PanelSaveDelegate;
1531    pub fn panel_save_delegate_close(self_: *mut PanelSaveDelegate);
1532    pub fn panel_save_delegate_discard(self_: *mut PanelSaveDelegate);
1533    pub fn panel_save_delegate_get_icon(self_: *mut PanelSaveDelegate) -> *mut gio::GIcon;
1534    pub fn panel_save_delegate_get_icon_name(self_: *mut PanelSaveDelegate) -> *const c_char;
1535    pub fn panel_save_delegate_get_is_draft(self_: *mut PanelSaveDelegate) -> gboolean;
1536    pub fn panel_save_delegate_get_progress(self_: *mut PanelSaveDelegate) -> c_double;
1537    pub fn panel_save_delegate_get_subtitle(self_: *mut PanelSaveDelegate) -> *const c_char;
1538    pub fn panel_save_delegate_get_title(self_: *mut PanelSaveDelegate) -> *const c_char;
1539    pub fn panel_save_delegate_save_async(
1540        self_: *mut PanelSaveDelegate,
1541        cancellable: *mut gio::GCancellable,
1542        callback: gio::GAsyncReadyCallback,
1543        user_data: gpointer,
1544    );
1545    pub fn panel_save_delegate_save_finish(
1546        self_: *mut PanelSaveDelegate,
1547        result: *mut gio::GAsyncResult,
1548        error: *mut *mut glib::GError,
1549    ) -> gboolean;
1550    pub fn panel_save_delegate_set_icon(self_: *mut PanelSaveDelegate, icon: *mut gio::GIcon);
1551    pub fn panel_save_delegate_set_icon_name(self_: *mut PanelSaveDelegate, icon: *const c_char);
1552    pub fn panel_save_delegate_set_is_draft(self_: *mut PanelSaveDelegate, is_draft: gboolean);
1553    pub fn panel_save_delegate_set_progress(self_: *mut PanelSaveDelegate, progress: c_double);
1554    pub fn panel_save_delegate_set_subtitle(self_: *mut PanelSaveDelegate, subtitle: *const c_char);
1555    pub fn panel_save_delegate_set_title(self_: *mut PanelSaveDelegate, title: *const c_char);
1556
1557    //=========================================================================
1558    // PanelSaveDialog
1559    //=========================================================================
1560    pub fn panel_save_dialog_get_type() -> GType;
1561    pub fn panel_save_dialog_new() -> *mut gtk::GtkWidget;
1562    pub fn panel_save_dialog_add_delegate(
1563        self_: *mut PanelSaveDialog,
1564        delegate: *mut PanelSaveDelegate,
1565    );
1566    pub fn panel_save_dialog_get_close_after_save(self_: *mut PanelSaveDialog) -> gboolean;
1567    pub fn panel_save_dialog_run_async(
1568        self_: *mut PanelSaveDialog,
1569        cancellable: *mut gio::GCancellable,
1570        callback: gio::GAsyncReadyCallback,
1571        user_data: gpointer,
1572    );
1573    pub fn panel_save_dialog_run_finish(
1574        self_: *mut PanelSaveDialog,
1575        result: *mut gio::GAsyncResult,
1576        error: *mut *mut glib::GError,
1577    ) -> gboolean;
1578    pub fn panel_save_dialog_set_close_after_save(
1579        self_: *mut PanelSaveDialog,
1580        close_after_save: gboolean,
1581    );
1582
1583    //=========================================================================
1584    // PanelSession
1585    //=========================================================================
1586    pub fn panel_session_get_type() -> GType;
1587    pub fn panel_session_new() -> *mut PanelSession;
1588    #[cfg(feature = "v1_4")]
1589    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1590    pub fn panel_session_new_from_variant(
1591        variant: *mut glib::GVariant,
1592        error: *mut *mut glib::GError,
1593    ) -> *mut PanelSession;
1594    pub fn panel_session_append(self_: *mut PanelSession, item: *mut PanelSessionItem);
1595    #[cfg(feature = "v1_4")]
1596    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1597    pub fn panel_session_get_item(
1598        self_: *mut PanelSession,
1599        position: c_uint,
1600    ) -> *mut PanelSessionItem;
1601    pub fn panel_session_get_n_items(self_: *mut PanelSession) -> c_uint;
1602    pub fn panel_session_insert(
1603        self_: *mut PanelSession,
1604        position: c_uint,
1605        item: *mut PanelSessionItem,
1606    );
1607    #[cfg(feature = "v1_4")]
1608    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1609    pub fn panel_session_lookup_by_id(
1610        self_: *mut PanelSession,
1611        id: *const c_char,
1612    ) -> *mut PanelSessionItem;
1613    pub fn panel_session_prepend(self_: *mut PanelSession, item: *mut PanelSessionItem);
1614    pub fn panel_session_remove(self_: *mut PanelSession, item: *mut PanelSessionItem);
1615    pub fn panel_session_remove_at(self_: *mut PanelSession, position: c_uint);
1616    pub fn panel_session_to_variant(self_: *mut PanelSession) -> *mut glib::GVariant;
1617
1618    //=========================================================================
1619    // PanelSessionItem
1620    //=========================================================================
1621    pub fn panel_session_item_get_type() -> GType;
1622    pub fn panel_session_item_new() -> *mut PanelSessionItem;
1623    pub fn panel_session_item_get_id(self_: *mut PanelSessionItem) -> *const c_char;
1624    pub fn panel_session_item_get_metadata(
1625        self_: *mut PanelSessionItem,
1626        key: *const c_char,
1627        format: *const c_char,
1628        ...
1629    ) -> gboolean;
1630    pub fn panel_session_item_get_metadata_value(
1631        self_: *mut PanelSessionItem,
1632        key: *const c_char,
1633        expected_type: *const glib::GVariantType,
1634    ) -> *mut glib::GVariant;
1635    pub fn panel_session_item_get_module_name(self_: *mut PanelSessionItem) -> *const c_char;
1636    pub fn panel_session_item_get_position(self_: *mut PanelSessionItem) -> *mut PanelPosition;
1637    pub fn panel_session_item_get_type_hint(self_: *mut PanelSessionItem) -> *const c_char;
1638    pub fn panel_session_item_get_workspace(self_: *mut PanelSessionItem) -> *const c_char;
1639    pub fn panel_session_item_has_metadata(
1640        self_: *mut PanelSessionItem,
1641        key: *const c_char,
1642        value_type: *mut *const glib::GVariantType,
1643    ) -> gboolean;
1644    pub fn panel_session_item_has_metadata_with_type(
1645        self_: *mut PanelSessionItem,
1646        key: *const c_char,
1647        expected_type: *const glib::GVariantType,
1648    ) -> gboolean;
1649    pub fn panel_session_item_set_id(self_: *mut PanelSessionItem, id: *const c_char);
1650    pub fn panel_session_item_set_metadata(
1651        self_: *mut PanelSessionItem,
1652        key: *const c_char,
1653        format: *const c_char,
1654        ...
1655    );
1656    pub fn panel_session_item_set_metadata_value(
1657        self_: *mut PanelSessionItem,
1658        key: *const c_char,
1659        value: *mut glib::GVariant,
1660    );
1661    pub fn panel_session_item_set_module_name(
1662        self_: *mut PanelSessionItem,
1663        module_name: *const c_char,
1664    );
1665    pub fn panel_session_item_set_position(
1666        self_: *mut PanelSessionItem,
1667        position: *mut PanelPosition,
1668    );
1669    pub fn panel_session_item_set_type_hint(self_: *mut PanelSessionItem, type_hint: *const c_char);
1670    pub fn panel_session_item_set_workspace(self_: *mut PanelSessionItem, workspace: *const c_char);
1671
1672    //=========================================================================
1673    // PanelSettings
1674    //=========================================================================
1675    pub fn panel_settings_get_type() -> GType;
1676    pub fn panel_settings_new(
1677        identifier: *const c_char,
1678        schema_id: *const c_char,
1679    ) -> *mut PanelSettings;
1680    pub fn panel_settings_new_relocatable(
1681        identifier: *const c_char,
1682        schema_id: *const c_char,
1683        schema_id_prefix: *const c_char,
1684        path_prefix: *const c_char,
1685        path_suffix: *const c_char,
1686    ) -> *mut PanelSettings;
1687    pub fn panel_settings_new_with_path(
1688        identifier: *const c_char,
1689        schema_id: *const c_char,
1690        path: *const c_char,
1691    ) -> *mut PanelSettings;
1692    pub fn panel_settings_resolve_schema_path(
1693        schema_id_prefix: *const c_char,
1694        schema_id: *const c_char,
1695        identifier: *const c_char,
1696        path_prefix: *const c_char,
1697        path_suffix: *const c_char,
1698    ) -> *mut c_char;
1699    pub fn panel_settings_bind(
1700        self_: *mut PanelSettings,
1701        key: *const c_char,
1702        object: gpointer,
1703        property: *const c_char,
1704        flags: gio::GSettingsBindFlags,
1705    );
1706    pub fn panel_settings_bind_with_mapping(
1707        self_: *mut PanelSettings,
1708        key: *const c_char,
1709        object: gpointer,
1710        property: *const c_char,
1711        flags: gio::GSettingsBindFlags,
1712        get_mapping: gio::GSettingsBindGetMapping,
1713        set_mapping: gio::GSettingsBindSetMapping,
1714        user_data: gpointer,
1715        destroy: glib::GDestroyNotify,
1716    );
1717    pub fn panel_settings_get_boolean(self_: *mut PanelSettings, key: *const c_char) -> gboolean;
1718    pub fn panel_settings_get_default_value(
1719        self_: *mut PanelSettings,
1720        key: *const c_char,
1721    ) -> *mut glib::GVariant;
1722    pub fn panel_settings_get_double(self_: *mut PanelSettings, key: *const c_char) -> c_double;
1723    pub fn panel_settings_get_int(self_: *mut PanelSettings, key: *const c_char) -> c_int;
1724    pub fn panel_settings_get_schema_id(self_: *mut PanelSettings) -> *const c_char;
1725    pub fn panel_settings_get_string(self_: *mut PanelSettings, key: *const c_char) -> *mut c_char;
1726    pub fn panel_settings_get_uint(self_: *mut PanelSettings, key: *const c_char) -> c_uint;
1727    pub fn panel_settings_get_user_value(
1728        self_: *mut PanelSettings,
1729        key: *const c_char,
1730    ) -> *mut glib::GVariant;
1731    pub fn panel_settings_get_value(
1732        self_: *mut PanelSettings,
1733        key: *const c_char,
1734    ) -> *mut glib::GVariant;
1735    pub fn panel_settings_set_boolean(self_: *mut PanelSettings, key: *const c_char, val: gboolean);
1736    pub fn panel_settings_set_double(self_: *mut PanelSettings, key: *const c_char, val: c_double);
1737    pub fn panel_settings_set_int(self_: *mut PanelSettings, key: *const c_char, val: c_int);
1738    pub fn panel_settings_set_string(
1739        self_: *mut PanelSettings,
1740        key: *const c_char,
1741        val: *const c_char,
1742    );
1743    pub fn panel_settings_set_uint(self_: *mut PanelSettings, key: *const c_char, val: c_uint);
1744    pub fn panel_settings_set_value(
1745        self_: *mut PanelSettings,
1746        key: *const c_char,
1747        value: *mut glib::GVariant,
1748    );
1749    pub fn panel_settings_unbind(self_: *mut PanelSettings, property: *const c_char);
1750
1751    //=========================================================================
1752    // PanelStatusbar
1753    //=========================================================================
1754    pub fn panel_statusbar_get_type() -> GType;
1755    pub fn panel_statusbar_new() -> *mut gtk::GtkWidget;
1756    pub fn panel_statusbar_add_prefix(
1757        self_: *mut PanelStatusbar,
1758        priority: c_int,
1759        widget: *mut gtk::GtkWidget,
1760    );
1761    pub fn panel_statusbar_add_suffix(
1762        self_: *mut PanelStatusbar,
1763        priority: c_int,
1764        widget: *mut gtk::GtkWidget,
1765    );
1766    pub fn panel_statusbar_remove(self_: *mut PanelStatusbar, widget: *mut gtk::GtkWidget);
1767
1768    //=========================================================================
1769    // PanelThemeSelector
1770    //=========================================================================
1771    pub fn panel_theme_selector_get_type() -> GType;
1772    pub fn panel_theme_selector_new() -> *mut gtk::GtkWidget;
1773    pub fn panel_theme_selector_get_action_name(self_: *mut PanelThemeSelector) -> *const c_char;
1774    pub fn panel_theme_selector_set_action_name(
1775        self_: *mut PanelThemeSelector,
1776        action_name: *const c_char,
1777    );
1778
1779    //=========================================================================
1780    // PanelToggleButton
1781    //=========================================================================
1782    pub fn panel_toggle_button_get_type() -> GType;
1783    pub fn panel_toggle_button_new(dock: *mut PanelDock, area: PanelArea) -> *mut gtk::GtkWidget;
1784
1785    //=========================================================================
1786    // PanelWidget
1787    //=========================================================================
1788    pub fn panel_widget_get_type() -> GType;
1789    pub fn panel_widget_new() -> *mut gtk::GtkWidget;
1790    pub fn panel_widget_action_set_enabled(
1791        widget: *mut PanelWidget,
1792        action_name: *const c_char,
1793        enabled: gboolean,
1794    );
1795    pub fn panel_widget_close(self_: *mut PanelWidget);
1796    pub fn panel_widget_focus_default(self_: *mut PanelWidget) -> gboolean;
1797    pub fn panel_widget_force_close(self_: *mut PanelWidget);
1798    pub fn panel_widget_get_busy(self_: *mut PanelWidget) -> gboolean;
1799    pub fn panel_widget_get_can_maximize(self_: *mut PanelWidget) -> gboolean;
1800    pub fn panel_widget_get_child(self_: *mut PanelWidget) -> *mut gtk::GtkWidget;
1801    pub fn panel_widget_get_default_focus(self_: *mut PanelWidget) -> *mut gtk::GtkWidget;
1802    pub fn panel_widget_get_icon(self_: *mut PanelWidget) -> *mut gio::GIcon;
1803    pub fn panel_widget_get_icon_name(self_: *mut PanelWidget) -> *const c_char;
1804    pub fn panel_widget_get_id(self_: *mut PanelWidget) -> *const c_char;
1805    pub fn panel_widget_get_kind(self_: *mut PanelWidget) -> *const c_char;
1806    pub fn panel_widget_get_menu_model(self_: *mut PanelWidget) -> *mut gio::GMenuModel;
1807    pub fn panel_widget_get_modified(self_: *mut PanelWidget) -> gboolean;
1808    pub fn panel_widget_get_needs_attention(self_: *mut PanelWidget) -> gboolean;
1809    pub fn panel_widget_get_position(self_: *mut PanelWidget) -> *mut PanelPosition;
1810    pub fn panel_widget_get_reorderable(self_: *mut PanelWidget) -> gboolean;
1811    pub fn panel_widget_get_save_delegate(self_: *mut PanelWidget) -> *mut PanelSaveDelegate;
1812    pub fn panel_widget_get_title(self_: *mut PanelWidget) -> *const c_char;
1813    pub fn panel_widget_get_tooltip(self_: *mut PanelWidget) -> *const c_char;
1814    pub fn panel_widget_insert_action_group(
1815        self_: *mut PanelWidget,
1816        prefix: *const c_char,
1817        group: *mut gio::GActionGroup,
1818    );
1819    pub fn panel_widget_mark_busy(self_: *mut PanelWidget);
1820    pub fn panel_widget_maximize(self_: *mut PanelWidget);
1821    pub fn panel_widget_raise(self_: *mut PanelWidget);
1822    pub fn panel_widget_set_can_maximize(self_: *mut PanelWidget, can_maximize: gboolean);
1823    pub fn panel_widget_set_child(self_: *mut PanelWidget, child: *mut gtk::GtkWidget);
1824    pub fn panel_widget_set_icon(self_: *mut PanelWidget, icon: *mut gio::GIcon);
1825    pub fn panel_widget_set_icon_name(self_: *mut PanelWidget, icon_name: *const c_char);
1826    pub fn panel_widget_set_id(self_: *mut PanelWidget, id: *const c_char);
1827    pub fn panel_widget_set_kind(self_: *mut PanelWidget, kind: *const c_char);
1828    pub fn panel_widget_set_menu_model(self_: *mut PanelWidget, menu_model: *mut gio::GMenuModel);
1829    pub fn panel_widget_set_modified(self_: *mut PanelWidget, modified: gboolean);
1830    pub fn panel_widget_set_needs_attention(self_: *mut PanelWidget, needs_attention: gboolean);
1831    pub fn panel_widget_set_reorderable(self_: *mut PanelWidget, reorderable: gboolean);
1832    pub fn panel_widget_set_save_delegate(
1833        self_: *mut PanelWidget,
1834        save_delegate: *mut PanelSaveDelegate,
1835    );
1836    pub fn panel_widget_set_title(self_: *mut PanelWidget, title: *const c_char);
1837    pub fn panel_widget_set_tooltip(self_: *mut PanelWidget, tooltip: *const c_char);
1838    pub fn panel_widget_unmark_busy(self_: *mut PanelWidget);
1839    pub fn panel_widget_unmaximize(self_: *mut PanelWidget);
1840
1841    //=========================================================================
1842    // PanelWorkbench
1843    //=========================================================================
1844    pub fn panel_workbench_get_type() -> GType;
1845    pub fn panel_workbench_new() -> *mut PanelWorkbench;
1846    #[cfg(feature = "v1_4")]
1847    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1848    pub fn panel_workbench_find_from_widget(widget: *mut gtk::GtkWidget) -> *mut PanelWorkbench;
1849    pub fn panel_workbench_action_set_enabled(
1850        self_: *mut PanelWorkbench,
1851        action_name: *const c_char,
1852        enabled: gboolean,
1853    );
1854    pub fn panel_workbench_activate(self_: *mut PanelWorkbench);
1855    pub fn panel_workbench_add_workspace(
1856        self_: *mut PanelWorkbench,
1857        workspace: *mut PanelWorkspace,
1858    );
1859    #[cfg(feature = "v1_4")]
1860    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1861    pub fn panel_workbench_find_workspace_typed(
1862        self_: *mut PanelWorkbench,
1863        workspace_type: GType,
1864    ) -> *mut PanelWorkspace;
1865    pub fn panel_workbench_focus_workspace(
1866        self_: *mut PanelWorkbench,
1867        workspace: *mut PanelWorkspace,
1868    );
1869    #[cfg(feature = "v1_4")]
1870    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1871    pub fn panel_workbench_foreach_workspace(
1872        self_: *mut PanelWorkbench,
1873        foreach_func: PanelWorkspaceForeach,
1874        foreach_func_data: gpointer,
1875    );
1876    pub fn panel_workbench_get_id(self_: *mut PanelWorkbench) -> *const c_char;
1877    pub fn panel_workbench_remove_workspace(
1878        self_: *mut PanelWorkbench,
1879        workspace: *mut PanelWorkspace,
1880    );
1881    pub fn panel_workbench_set_id(self_: *mut PanelWorkbench, id: *const c_char);
1882
1883    //=========================================================================
1884    // PanelWorkspace
1885    //=========================================================================
1886    pub fn panel_workspace_get_type() -> GType;
1887    #[cfg(feature = "v1_4")]
1888    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1889    pub fn panel_workspace_find_from_widget(widget: *mut gtk::GtkWidget) -> *mut PanelWorkspace;
1890    pub fn panel_workspace_action_set_enabled(
1891        self_: *mut PanelWorkspace,
1892        action_name: *const c_char,
1893        enabled: gboolean,
1894    );
1895    pub fn panel_workspace_get_id(self_: *mut PanelWorkspace) -> *const c_char;
1896    #[cfg(feature = "v1_4")]
1897    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1898    pub fn panel_workspace_get_workbench(self_: *mut PanelWorkspace) -> *mut PanelWorkbench;
1899    #[cfg(feature = "v1_4")]
1900    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1901    pub fn panel_workspace_inhibit(
1902        self_: *mut PanelWorkspace,
1903        flags: gtk::GtkApplicationInhibitFlags,
1904        reason: *const c_char,
1905    ) -> *mut PanelInhibitor;
1906    pub fn panel_workspace_set_id(self_: *mut PanelWorkspace, id: *const c_char);
1907
1908    //=========================================================================
1909    // PanelFrameHeader
1910    //=========================================================================
1911    pub fn panel_frame_header_get_type() -> GType;
1912    pub fn panel_frame_header_add_prefix(
1913        self_: *mut PanelFrameHeader,
1914        priority: c_int,
1915        child: *mut gtk::GtkWidget,
1916    );
1917    pub fn panel_frame_header_add_suffix(
1918        self_: *mut PanelFrameHeader,
1919        priority: c_int,
1920        child: *mut gtk::GtkWidget,
1921    );
1922    pub fn panel_frame_header_can_drop(
1923        self_: *mut PanelFrameHeader,
1924        widget: *mut PanelWidget,
1925    ) -> gboolean;
1926    pub fn panel_frame_header_get_frame(self_: *mut PanelFrameHeader) -> *mut PanelFrame;
1927    pub fn panel_frame_header_page_changed(self_: *mut PanelFrameHeader, widget: *mut PanelWidget);
1928    pub fn panel_frame_header_set_frame(self_: *mut PanelFrameHeader, frame: *mut PanelFrame);
1929
1930    //=========================================================================
1931    // Other functions
1932    //=========================================================================
1933    pub fn panel_check_version(major: c_uint, minor: c_uint, micro: c_uint) -> gboolean;
1934    pub fn panel_finalize();
1935    pub fn panel_get_major_version() -> c_uint;
1936    pub fn panel_get_micro_version() -> c_uint;
1937    pub fn panel_get_minor_version() -> c_uint;
1938    pub fn panel_get_resource() -> *mut gio::GResource;
1939    pub fn panel_init();
1940    pub fn panel_marshal_BOOLEAN__OBJECT_OBJECT(
1941        closure: *mut gobject::GClosure,
1942        return_value: *mut gobject::GValue,
1943        n_param_values: c_uint,
1944        param_values: *const gobject::GValue,
1945        invocation_hint: gpointer,
1946        marshal_data: gpointer,
1947    );
1948    //pub fn panel_marshal_BOOLEAN__OBJECT_OBJECTv(closure: *mut gobject::GClosure, return_value: *mut gobject::GValue, instance: gpointer, args: /*Unimplemented*/va_list, marshal_data: gpointer, n_params: c_int, param_types: *mut GType);
1949    pub fn panel_marshal_OBJECT__OBJECT(
1950        closure: *mut gobject::GClosure,
1951        return_value: *mut gobject::GValue,
1952        n_param_values: c_uint,
1953        param_values: *const gobject::GValue,
1954        invocation_hint: gpointer,
1955        marshal_data: gpointer,
1956    );
1957    //pub fn panel_marshal_OBJECT__OBJECTv(closure: *mut gobject::GClosure, return_value: *mut gobject::GValue, instance: gpointer, args: /*Unimplemented*/va_list, marshal_data: gpointer, n_params: c_int, param_types: *mut GType);
1958
1959}