1#![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 gdk4::ffi as gdk;
16use gio_sys as gio;
17use glib_sys as glib;
18use gtk4_sys as gtk;
19
20#[cfg(unix)]
21#[allow(unused_imports)]
22use libc::{dev_t, gid_t, pid_t, socklen_t, uid_t};
23#[allow(unused_imports)]
24use libc::{intptr_t, off_t, size_t, ssize_t, time_t, uintptr_t, FILE};
25#[allow(unused_imports)]
26use std::ffi::{
27 c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
28};
29
30#[allow(unused_imports)]
31use glib::{gboolean, gconstpointer, gpointer, GType};
32
33pub type AstalExclusivity = c_int;
35pub const ASTAL_EXCLUSIVITY_NORMAL: AstalExclusivity = 0;
36pub const ASTAL_EXCLUSIVITY_EXCLUSIVE: AstalExclusivity = 1;
37pub const ASTAL_EXCLUSIVITY_IGNORE: AstalExclusivity = 2;
38
39pub type AstalKeymode = c_int;
40pub const ASTAL_KEYMODE_NONE: AstalKeymode = 0;
41pub const ASTAL_KEYMODE_EXCLUSIVE: AstalKeymode = 1;
42pub const ASTAL_KEYMODE_ON_DEMAND: AstalKeymode = 2;
43
44pub type AstalLayer = c_int;
45pub const ASTAL_LAYER_BACKGROUND: AstalLayer = 0;
46pub const ASTAL_LAYER_BOTTOM: AstalLayer = 1;
47pub const ASTAL_LAYER_TOP: AstalLayer = 2;
48pub const ASTAL_LAYER_OVERLAY: AstalLayer = 3;
49
50pub const ASTAL_MAJOR_VERSION: c_int = 4;
52pub const ASTAL_MINOR_VERSION: c_int = 0;
53pub const ASTAL_MICRO_VERSION: c_int = 0;
54pub const ASTAL_VERSION: &[u8] = b"4.0.0\0";
55
56pub type AstalWindowAnchor = c_uint;
58pub const ASTAL_WINDOW_ANCHOR_NONE: AstalWindowAnchor = 1;
59pub const ASTAL_WINDOW_ANCHOR_TOP: AstalWindowAnchor = 2;
60pub const ASTAL_WINDOW_ANCHOR_RIGHT: AstalWindowAnchor = 4;
61pub const ASTAL_WINDOW_ANCHOR_LEFT: AstalWindowAnchor = 8;
62pub const ASTAL_WINDOW_ANCHOR_BOTTOM: AstalWindowAnchor = 16;
63
64#[derive(Copy, Clone)]
66#[repr(C)]
67pub struct AstalApplicationClass {
68 pub parent_class: gtk::GtkApplicationClass,
69 pub request: Option<
70 unsafe extern "C" fn(*mut AstalApplication, *const c_char, *mut gio::GSocketConnection),
71 >,
72}
73
74impl ::std::fmt::Debug for AstalApplicationClass {
75 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
76 f.debug_struct(&format!("AstalApplicationClass @ {self:p}"))
77 .field("request", &self.request)
78 .finish()
79 }
80}
81
82#[repr(C)]
83#[allow(dead_code)]
84pub struct _AstalApplicationPrivate {
85 _data: [u8; 0],
86 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
87}
88
89pub type AstalApplicationPrivate = _AstalApplicationPrivate;
90
91#[derive(Copy, Clone)]
92#[repr(C)]
93pub struct AstalBinClass {
94 pub parent_class: gtk::GtkWidgetClass,
95}
96
97impl ::std::fmt::Debug for AstalBinClass {
98 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
99 f.debug_struct(&format!("AstalBinClass @ {self:p}"))
100 .finish()
101 }
102}
103
104#[repr(C)]
105#[allow(dead_code)]
106pub struct _AstalBinPrivate {
107 _data: [u8; 0],
108 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
109}
110
111pub type AstalBinPrivate = _AstalBinPrivate;
112
113#[derive(Copy, Clone)]
114#[repr(C)]
115pub struct AstalBoxClass {
116 pub parent_class: gtk::GtkBoxClass,
117}
118
119impl ::std::fmt::Debug for AstalBoxClass {
120 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
121 f.debug_struct(&format!("AstalBoxClass @ {self:p}"))
122 .finish()
123 }
124}
125
126#[repr(C)]
127#[allow(dead_code)]
128pub struct _AstalBoxPrivate {
129 _data: [u8; 0],
130 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
131}
132
133pub type AstalBoxPrivate = _AstalBoxPrivate;
134
135#[derive(Copy, Clone)]
136#[repr(C)]
137pub struct AstalSliderClass {
138 pub parent_class: gtk::GtkScaleClass,
139}
140
141impl ::std::fmt::Debug for AstalSliderClass {
142 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
143 f.debug_struct(&format!("AstalSliderClass @ {self:p}"))
144 .finish()
145 }
146}
147
148#[repr(C)]
149#[allow(dead_code)]
150pub struct _AstalSliderPrivate {
151 _data: [u8; 0],
152 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
153}
154
155pub type AstalSliderPrivate = _AstalSliderPrivate;
156
157#[derive(Copy, Clone)]
158#[repr(C)]
159pub struct AstalWindowClass {
160 pub parent_class: gtk::GtkWindowClass,
161}
162
163impl ::std::fmt::Debug for AstalWindowClass {
164 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
165 f.debug_struct(&format!("AstalWindowClass @ {self:p}"))
166 .finish()
167 }
168}
169
170#[repr(C)]
171#[allow(dead_code)]
172pub struct _AstalWindowPrivate {
173 _data: [u8; 0],
174 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
175}
176
177pub type AstalWindowPrivate = _AstalWindowPrivate;
178
179#[derive(Copy, Clone)]
181#[repr(C)]
182pub struct AstalApplication {
183 pub parent_instance: gtk::GtkApplication,
184 pub priv_: *mut AstalApplicationPrivate,
185}
186
187impl ::std::fmt::Debug for AstalApplication {
188 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
189 f.debug_struct(&format!("AstalApplication @ {self:p}"))
190 .finish()
191 }
192}
193
194#[derive(Copy, Clone)]
195#[repr(C)]
196pub struct AstalBin {
197 pub parent_instance: gtk::GtkWidget,
198 pub priv_: *mut AstalBinPrivate,
199}
200
201impl ::std::fmt::Debug for AstalBin {
202 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
203 f.debug_struct(&format!("AstalBin @ {self:p}")).finish()
204 }
205}
206
207#[derive(Copy, Clone)]
208#[repr(C)]
209pub struct AstalBox {
210 pub parent_instance: gtk::GtkBox,
211 pub priv_: *mut AstalBoxPrivate,
212}
213
214impl ::std::fmt::Debug for AstalBox {
215 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
216 f.debug_struct(&format!("AstalBox @ {self:p}")).finish()
217 }
218}
219
220#[derive(Copy, Clone)]
221#[repr(C)]
222pub struct AstalSlider {
223 pub parent_instance: gtk::GtkScale,
224 pub priv_: *mut AstalSliderPrivate,
225}
226
227impl ::std::fmt::Debug for AstalSlider {
228 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
229 f.debug_struct(&format!("AstalSlider @ {self:p}")).finish()
230 }
231}
232
233#[derive(Copy, Clone)]
234#[repr(C)]
235pub struct AstalWindow {
236 pub parent_instance: gtk::GtkWindow,
237 pub priv_: *mut AstalWindowPrivate,
238}
239
240impl ::std::fmt::Debug for AstalWindow {
241 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
242 f.debug_struct(&format!("AstalWindow @ {self:p}")).finish()
243 }
244}
245
246extern "C" {
247
248 pub fn astal_exclusivity_get_type() -> GType;
252
253 pub fn astal_keymode_get_type() -> GType;
257
258 pub fn astal_layer_get_type() -> GType;
262
263 pub fn astal_window_anchor_get_type() -> GType;
267
268 pub fn astal_application_get_type() -> GType;
272 pub fn astal_application_reset_css(self_: *mut AstalApplication);
273 pub fn astal_application_get_window(
274 self_: *mut AstalApplication,
275 name: *const c_char,
276 ) -> *mut gtk::GtkWindow;
277 pub fn astal_application_apply_css(
278 self_: *mut AstalApplication,
279 style: *const c_char,
280 reset: gboolean,
281 );
282 pub fn astal_application_add_icons(self_: *mut AstalApplication, path: *const c_char);
283 pub fn astal_application_request(
284 self_: *mut AstalApplication,
285 request: *const c_char,
286 conn: *mut gio::GSocketConnection,
287 );
288 pub fn astal_application_new() -> *mut AstalApplication;
289 pub fn astal_application_get_monitors(self_: *mut AstalApplication) -> *mut glib::GList;
290 pub fn astal_application_get_windows(self_: *mut AstalApplication) -> *mut glib::GList;
291 pub fn astal_application_get_gtk_theme(self_: *mut AstalApplication) -> *mut c_char;
292 pub fn astal_application_set_gtk_theme(self_: *mut AstalApplication, value: *const c_char);
293 pub fn astal_application_get_icon_theme(self_: *mut AstalApplication) -> *mut c_char;
294 pub fn astal_application_set_icon_theme(self_: *mut AstalApplication, value: *const c_char);
295 pub fn astal_application_get_cursor_theme(self_: *mut AstalApplication) -> *mut c_char;
296 pub fn astal_application_set_cursor_theme(self_: *mut AstalApplication, value: *const c_char);
297
298 pub fn astal_bin_get_type() -> GType;
302 pub fn astal_bin_new() -> *mut AstalBin;
303 pub fn astal_bin_get_child(self_: *mut AstalBin) -> *mut gtk::GtkWidget;
304 pub fn astal_bin_set_child(self_: *mut AstalBin, value: *mut gtk::GtkWidget);
305
306 pub fn astal_box_get_type() -> GType;
310 pub fn astal_box_new() -> *mut AstalBox;
311 pub fn astal_box_get_vertical(self_: *mut AstalBox) -> gboolean;
312 pub fn astal_box_set_vertical(self_: *mut AstalBox, value: gboolean);
313 pub fn astal_box_get_children(self_: *mut AstalBox) -> *mut glib::GList;
314 pub fn astal_box_set_children(self_: *mut AstalBox, value: *mut glib::GList);
315 pub fn astal_box_get_child(self_: *mut AstalBox) -> *mut gtk::GtkWidget;
316 pub fn astal_box_set_child(self_: *mut AstalBox, value: *mut gtk::GtkWidget);
317
318 pub fn astal_slider_get_type() -> GType;
322 pub fn astal_slider_new() -> *mut AstalSlider;
323 pub fn astal_slider_get_value(self_: *mut AstalSlider) -> c_double;
324 pub fn astal_slider_set_value(self_: *mut AstalSlider, value: c_double);
325 pub fn astal_slider_get_min(self_: *mut AstalSlider) -> c_double;
326 pub fn astal_slider_set_min(self_: *mut AstalSlider, value: c_double);
327 pub fn astal_slider_get_max(self_: *mut AstalSlider) -> c_double;
328 pub fn astal_slider_set_max(self_: *mut AstalSlider, value: c_double);
329 pub fn astal_slider_get_step(self_: *mut AstalSlider) -> c_double;
330 pub fn astal_slider_set_step(self_: *mut AstalSlider, value: c_double);
331 pub fn astal_slider_get_page(self_: *mut AstalSlider) -> c_double;
332 pub fn astal_slider_set_page(self_: *mut AstalSlider, value: c_double);
333
334 pub fn astal_window_get_type() -> GType;
338 pub fn astal_window_get_current_monitor(self_: *mut AstalWindow) -> *mut gdk::GdkMonitor;
339 pub fn astal_window_new() -> *mut AstalWindow;
340 pub fn astal_window_get_namespace(self_: *mut AstalWindow) -> *const c_char;
341 pub fn astal_window_set_namespace(self_: *mut AstalWindow, value: *const c_char);
342 pub fn astal_window_get_anchor(self_: *mut AstalWindow) -> AstalWindowAnchor;
343 pub fn astal_window_set_anchor(self_: *mut AstalWindow, value: AstalWindowAnchor);
344 pub fn astal_window_get_exclusivity(self_: *mut AstalWindow) -> AstalExclusivity;
345 pub fn astal_window_set_exclusivity(self_: *mut AstalWindow, value: AstalExclusivity);
346 pub fn astal_window_get_layer(self_: *mut AstalWindow) -> AstalLayer;
347 pub fn astal_window_set_layer(self_: *mut AstalWindow, value: AstalLayer);
348 pub fn astal_window_get_keymode(self_: *mut AstalWindow) -> AstalKeymode;
349 pub fn astal_window_set_keymode(self_: *mut AstalWindow, value: AstalKeymode);
350 pub fn astal_window_get_gdkmonitor(self_: *mut AstalWindow) -> *mut gdk::GdkMonitor;
351 pub fn astal_window_set_gdkmonitor(self_: *mut AstalWindow, value: *mut gdk::GdkMonitor);
352 pub fn astal_window_get_margin_top(self_: *mut AstalWindow) -> c_int;
353 pub fn astal_window_set_margin_top(self_: *mut AstalWindow, value: c_int);
354 pub fn astal_window_get_margin_bottom(self_: *mut AstalWindow) -> c_int;
355 pub fn astal_window_set_margin_bottom(self_: *mut AstalWindow, value: c_int);
356 pub fn astal_window_get_margin_left(self_: *mut AstalWindow) -> c_int;
357 pub fn astal_window_set_margin_left(self_: *mut AstalWindow, value: c_int);
358 pub fn astal_window_get_margin_right(self_: *mut AstalWindow) -> c_int;
359 pub fn astal_window_set_margin_right(self_: *mut AstalWindow, value: c_int);
360 pub fn astal_window_set_margin(self_: *mut AstalWindow, value: c_int);
361 pub fn astal_window_get_monitor(self_: *mut AstalWindow) -> c_int;
362 pub fn astal_window_set_monitor(self_: *mut AstalWindow, value: c_int);
363
364}