astal_hyprland_sys/
lib.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from ../../girs
3// from ../../gtk-girs
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 gio_sys as gio;
16use glib_sys as glib;
17use gobject_sys as gobject;
18
19#[cfg(unix)]
20#[allow(unused_imports)]
21use libc::{dev_t, gid_t, pid_t, socklen_t, uid_t};
22#[allow(unused_imports)]
23use libc::{intptr_t, off_t, size_t, ssize_t, time_t, uintptr_t, FILE};
24#[allow(unused_imports)]
25use std::ffi::{
26    c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
27};
28
29#[allow(unused_imports)]
30use glib::{gboolean, gconstpointer, gpointer, GType};
31
32// Enums
33pub type AstalHyprlandMonitorTransform = c_int;
34pub const ASTAL_HYPRLAND_MONITOR_TRANSFORM_NORMAL: AstalHyprlandMonitorTransform = 0;
35pub const ASTAL_HYPRLAND_MONITOR_TRANSFORM_ROTATE_90_DEG: AstalHyprlandMonitorTransform = 1;
36pub const ASTAL_HYPRLAND_MONITOR_TRANSFORM_ROTATE_180_DEG: AstalHyprlandMonitorTransform = 2;
37pub const ASTAL_HYPRLAND_MONITOR_TRANSFORM_ROTATE_270_DEG: AstalHyprlandMonitorTransform = 3;
38pub const ASTAL_HYPRLAND_MONITOR_TRANSFORM_FLIPPED: AstalHyprlandMonitorTransform = 4;
39pub const ASTAL_HYPRLAND_MONITOR_TRANSFORM_FLIPPED_ROTATE_90_DEG: AstalHyprlandMonitorTransform = 5;
40pub const ASTAL_HYPRLAND_MONITOR_TRANSFORM_FLIPPED_ROTATE_180_DEG: AstalHyprlandMonitorTransform =
41    6;
42pub const ASTAL_HYPRLAND_MONITOR_TRANSFORM_FLIPPED_ROTATE_270_DEG: AstalHyprlandMonitorTransform =
43    7;
44
45// Constants
46pub const ASTAL_HYPRLAND_MAJOR_VERSION: c_int = 0;
47pub const ASTAL_HYPRLAND_MINOR_VERSION: c_int = 1;
48pub const ASTAL_HYPRLAND_MICRO_VERSION: c_int = 0;
49pub const ASTAL_HYPRLAND_VERSION: &[u8] = b"0.1.0\0";
50
51// Flags
52pub type AstalHyprlandFullscreen = c_uint;
53pub const ASTAL_HYPRLAND_FULLSCREEN_CURRENT: AstalHyprlandFullscreen = 4294967295;
54pub const ASTAL_HYPRLAND_FULLSCREEN_NONE: AstalHyprlandFullscreen = 0;
55pub const ASTAL_HYPRLAND_FULLSCREEN_MAXIMIZED: AstalHyprlandFullscreen = 1;
56pub const ASTAL_HYPRLAND_FULLSCREEN_FULLSCREEN: AstalHyprlandFullscreen = 2;
57
58// Records
59#[derive(Copy, Clone)]
60#[repr(C)]
61pub struct AstalHyprlandBindClass {
62    pub parent_class: gobject::GObjectClass,
63}
64
65impl ::std::fmt::Debug for AstalHyprlandBindClass {
66    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
67        f.debug_struct(&format!("AstalHyprlandBindClass @ {self:p}"))
68            .finish()
69    }
70}
71
72#[repr(C)]
73#[allow(dead_code)]
74pub struct _AstalHyprlandBindPrivate {
75    _data: [u8; 0],
76    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
77}
78
79pub type AstalHyprlandBindPrivate = _AstalHyprlandBindPrivate;
80
81#[derive(Copy, Clone)]
82#[repr(C)]
83pub struct AstalHyprlandClientClass {
84    pub parent_class: gobject::GObjectClass,
85}
86
87impl ::std::fmt::Debug for AstalHyprlandClientClass {
88    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
89        f.debug_struct(&format!("AstalHyprlandClientClass @ {self:p}"))
90            .finish()
91    }
92}
93
94#[repr(C)]
95#[allow(dead_code)]
96pub struct _AstalHyprlandClientPrivate {
97    _data: [u8; 0],
98    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
99}
100
101pub type AstalHyprlandClientPrivate = _AstalHyprlandClientPrivate;
102
103#[derive(Copy, Clone)]
104#[repr(C)]
105pub struct AstalHyprlandHyprlandClass {
106    pub parent_class: gobject::GObjectClass,
107}
108
109impl ::std::fmt::Debug for AstalHyprlandHyprlandClass {
110    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
111        f.debug_struct(&format!("AstalHyprlandHyprlandClass @ {self:p}"))
112            .finish()
113    }
114}
115
116#[repr(C)]
117#[allow(dead_code)]
118pub struct _AstalHyprlandHyprlandPrivate {
119    _data: [u8; 0],
120    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
121}
122
123pub type AstalHyprlandHyprlandPrivate = _AstalHyprlandHyprlandPrivate;
124
125#[derive(Copy, Clone)]
126#[repr(C)]
127pub struct AstalHyprlandMonitorClass {
128    pub parent_class: gobject::GObjectClass,
129}
130
131impl ::std::fmt::Debug for AstalHyprlandMonitorClass {
132    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
133        f.debug_struct(&format!("AstalHyprlandMonitorClass @ {self:p}"))
134            .finish()
135    }
136}
137
138#[repr(C)]
139#[allow(dead_code)]
140pub struct _AstalHyprlandMonitorPrivate {
141    _data: [u8; 0],
142    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
143}
144
145pub type AstalHyprlandMonitorPrivate = _AstalHyprlandMonitorPrivate;
146
147#[derive(Copy, Clone)]
148#[repr(C)]
149pub struct AstalHyprlandPositionClass {
150    pub parent_class: gobject::GObjectClass,
151}
152
153impl ::std::fmt::Debug for AstalHyprlandPositionClass {
154    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
155        f.debug_struct(&format!("AstalHyprlandPositionClass @ {self:p}"))
156            .finish()
157    }
158}
159
160#[repr(C)]
161#[allow(dead_code)]
162pub struct _AstalHyprlandPositionPrivate {
163    _data: [u8; 0],
164    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
165}
166
167pub type AstalHyprlandPositionPrivate = _AstalHyprlandPositionPrivate;
168
169#[derive(Copy, Clone)]
170#[repr(C)]
171pub struct AstalHyprlandWorkspaceClass {
172    pub parent_class: gobject::GObjectClass,
173}
174
175impl ::std::fmt::Debug for AstalHyprlandWorkspaceClass {
176    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
177        f.debug_struct(&format!("AstalHyprlandWorkspaceClass @ {self:p}"))
178            .finish()
179    }
180}
181
182#[repr(C)]
183#[allow(dead_code)]
184pub struct _AstalHyprlandWorkspacePrivate {
185    _data: [u8; 0],
186    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
187}
188
189pub type AstalHyprlandWorkspacePrivate = _AstalHyprlandWorkspacePrivate;
190
191// Classes
192#[derive(Copy, Clone)]
193#[repr(C)]
194pub struct AstalHyprlandBind {
195    pub parent_instance: gobject::GObject,
196    pub priv_: *mut AstalHyprlandBindPrivate,
197}
198
199impl ::std::fmt::Debug for AstalHyprlandBind {
200    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
201        f.debug_struct(&format!("AstalHyprlandBind @ {self:p}"))
202            .finish()
203    }
204}
205
206#[derive(Copy, Clone)]
207#[repr(C)]
208pub struct AstalHyprlandClient {
209    pub parent_instance: gobject::GObject,
210    pub priv_: *mut AstalHyprlandClientPrivate,
211}
212
213impl ::std::fmt::Debug for AstalHyprlandClient {
214    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
215        f.debug_struct(&format!("AstalHyprlandClient @ {self:p}"))
216            .finish()
217    }
218}
219
220#[derive(Copy, Clone)]
221#[repr(C)]
222pub struct AstalHyprlandHyprland {
223    pub parent_instance: gobject::GObject,
224    pub priv_: *mut AstalHyprlandHyprlandPrivate,
225}
226
227impl ::std::fmt::Debug for AstalHyprlandHyprland {
228    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
229        f.debug_struct(&format!("AstalHyprlandHyprland @ {self:p}"))
230            .finish()
231    }
232}
233
234#[derive(Copy, Clone)]
235#[repr(C)]
236pub struct AstalHyprlandMonitor {
237    pub parent_instance: gobject::GObject,
238    pub priv_: *mut AstalHyprlandMonitorPrivate,
239}
240
241impl ::std::fmt::Debug for AstalHyprlandMonitor {
242    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
243        f.debug_struct(&format!("AstalHyprlandMonitor @ {self:p}"))
244            .finish()
245    }
246}
247
248#[derive(Copy, Clone)]
249#[repr(C)]
250pub struct AstalHyprlandPosition {
251    pub parent_instance: gobject::GObject,
252    pub priv_: *mut AstalHyprlandPositionPrivate,
253}
254
255impl ::std::fmt::Debug for AstalHyprlandPosition {
256    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
257        f.debug_struct(&format!("AstalHyprlandPosition @ {self:p}"))
258            .finish()
259    }
260}
261
262#[derive(Copy, Clone)]
263#[repr(C)]
264pub struct AstalHyprlandWorkspace {
265    pub parent_instance: gobject::GObject,
266    pub priv_: *mut AstalHyprlandWorkspacePrivate,
267    pub _clients: *mut glib::GList,
268}
269
270impl ::std::fmt::Debug for AstalHyprlandWorkspace {
271    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
272        f.debug_struct(&format!("AstalHyprlandWorkspace @ {self:p}"))
273            .field("_clients", &self._clients)
274            .finish()
275    }
276}
277
278extern "C" {
279
280    //=========================================================================
281    // AstalHyprlandMonitorTransform
282    //=========================================================================
283    pub fn astal_hyprland_monitor_transform_get_type() -> GType;
284
285    //=========================================================================
286    // AstalHyprlandFullscreen
287    //=========================================================================
288    pub fn astal_hyprland_fullscreen_get_type() -> GType;
289
290    //=========================================================================
291    // AstalHyprlandBind
292    //=========================================================================
293    pub fn astal_hyprland_bind_get_type() -> GType;
294    pub fn astal_hyprland_bind_new() -> *mut AstalHyprlandBind;
295    pub fn astal_hyprland_bind_get_locked(self_: *mut AstalHyprlandBind) -> gboolean;
296    pub fn astal_hyprland_bind_set_locked(self_: *mut AstalHyprlandBind, value: gboolean);
297    pub fn astal_hyprland_bind_get_mouse(self_: *mut AstalHyprlandBind) -> gboolean;
298    pub fn astal_hyprland_bind_set_mouse(self_: *mut AstalHyprlandBind, value: gboolean);
299    pub fn astal_hyprland_bind_get_release(self_: *mut AstalHyprlandBind) -> gboolean;
300    pub fn astal_hyprland_bind_set_release(self_: *mut AstalHyprlandBind, value: gboolean);
301    pub fn astal_hyprland_bind_get_repeat(self_: *mut AstalHyprlandBind) -> gboolean;
302    pub fn astal_hyprland_bind_set_repeat(self_: *mut AstalHyprlandBind, value: gboolean);
303    pub fn astal_hyprland_bind_get_long_press(self_: *mut AstalHyprlandBind) -> gboolean;
304    pub fn astal_hyprland_bind_set_long_press(self_: *mut AstalHyprlandBind, value: gboolean);
305    pub fn astal_hyprland_bind_get_non_consuming(self_: *mut AstalHyprlandBind) -> gboolean;
306    pub fn astal_hyprland_bind_set_non_consuming(self_: *mut AstalHyprlandBind, value: gboolean);
307    pub fn astal_hyprland_bind_get_has_description(self_: *mut AstalHyprlandBind) -> gboolean;
308    pub fn astal_hyprland_bind_set_has_description(self_: *mut AstalHyprlandBind, value: gboolean);
309    pub fn astal_hyprland_bind_get_modmask(self_: *mut AstalHyprlandBind) -> i64;
310    pub fn astal_hyprland_bind_set_modmask(self_: *mut AstalHyprlandBind, value: i64);
311    pub fn astal_hyprland_bind_get_submap(self_: *mut AstalHyprlandBind) -> *const c_char;
312    pub fn astal_hyprland_bind_set_submap(self_: *mut AstalHyprlandBind, value: *const c_char);
313    pub fn astal_hyprland_bind_get_key(self_: *mut AstalHyprlandBind) -> *const c_char;
314    pub fn astal_hyprland_bind_set_key(self_: *mut AstalHyprlandBind, value: *const c_char);
315    pub fn astal_hyprland_bind_get_keycode(self_: *mut AstalHyprlandBind) -> i64;
316    pub fn astal_hyprland_bind_set_keycode(self_: *mut AstalHyprlandBind, value: i64);
317    pub fn astal_hyprland_bind_get_catch_all(self_: *mut AstalHyprlandBind) -> gboolean;
318    pub fn astal_hyprland_bind_set_catch_all(self_: *mut AstalHyprlandBind, value: gboolean);
319    pub fn astal_hyprland_bind_get_description(self_: *mut AstalHyprlandBind) -> *const c_char;
320    pub fn astal_hyprland_bind_set_description(self_: *mut AstalHyprlandBind, value: *const c_char);
321    pub fn astal_hyprland_bind_get_dispatcher(self_: *mut AstalHyprlandBind) -> *const c_char;
322    pub fn astal_hyprland_bind_set_dispatcher(self_: *mut AstalHyprlandBind, value: *const c_char);
323    pub fn astal_hyprland_bind_get_arg(self_: *mut AstalHyprlandBind) -> *const c_char;
324    pub fn astal_hyprland_bind_set_arg(self_: *mut AstalHyprlandBind, value: *const c_char);
325
326    //=========================================================================
327    // AstalHyprlandClient
328    //=========================================================================
329    pub fn astal_hyprland_client_get_type() -> GType;
330    pub fn astal_hyprland_client_kill(self_: *mut AstalHyprlandClient);
331    pub fn astal_hyprland_client_focus(self_: *mut AstalHyprlandClient);
332    pub fn astal_hyprland_client_move_to(
333        self_: *mut AstalHyprlandClient,
334        ws: *mut AstalHyprlandWorkspace,
335    );
336    pub fn astal_hyprland_client_toggle_floating(self_: *mut AstalHyprlandClient);
337    pub fn astal_hyprland_client_new() -> *mut AstalHyprlandClient;
338    pub fn astal_hyprland_client_get_address(self_: *mut AstalHyprlandClient) -> *const c_char;
339    pub fn astal_hyprland_client_get_mapped(self_: *mut AstalHyprlandClient) -> gboolean;
340    pub fn astal_hyprland_client_get_hidden(self_: *mut AstalHyprlandClient) -> gboolean;
341    pub fn astal_hyprland_client_get_x(self_: *mut AstalHyprlandClient) -> c_int;
342    pub fn astal_hyprland_client_get_y(self_: *mut AstalHyprlandClient) -> c_int;
343    pub fn astal_hyprland_client_get_width(self_: *mut AstalHyprlandClient) -> c_int;
344    pub fn astal_hyprland_client_get_height(self_: *mut AstalHyprlandClient) -> c_int;
345    pub fn astal_hyprland_client_get_workspace(
346        self_: *mut AstalHyprlandClient,
347    ) -> *mut AstalHyprlandWorkspace;
348    pub fn astal_hyprland_client_get_floating(self_: *mut AstalHyprlandClient) -> gboolean;
349    pub fn astal_hyprland_client_get_monitor(
350        self_: *mut AstalHyprlandClient,
351    ) -> *mut AstalHyprlandMonitor;
352    pub fn astal_hyprland_client_get_class(self_: *mut AstalHyprlandClient) -> *const c_char;
353    pub fn astal_hyprland_client_get_title(self_: *mut AstalHyprlandClient) -> *const c_char;
354    pub fn astal_hyprland_client_get_initial_class(
355        self_: *mut AstalHyprlandClient,
356    ) -> *const c_char;
357    pub fn astal_hyprland_client_get_initial_title(
358        self_: *mut AstalHyprlandClient,
359    ) -> *const c_char;
360    pub fn astal_hyprland_client_get_pid(self_: *mut AstalHyprlandClient) -> c_uint;
361    pub fn astal_hyprland_client_get_xwayland(self_: *mut AstalHyprlandClient) -> gboolean;
362    pub fn astal_hyprland_client_get_pinned(self_: *mut AstalHyprlandClient) -> gboolean;
363    pub fn astal_hyprland_client_get_fullscreen(
364        self_: *mut AstalHyprlandClient,
365    ) -> AstalHyprlandFullscreen;
366    pub fn astal_hyprland_client_get_fullscreen_client(
367        self_: *mut AstalHyprlandClient,
368    ) -> AstalHyprlandFullscreen;
369    pub fn astal_hyprland_client_get_swallowing(self_: *mut AstalHyprlandClient) -> *const c_char;
370    pub fn astal_hyprland_client_get_focus_history_id(self_: *mut AstalHyprlandClient) -> c_int;
371
372    //=========================================================================
373    // AstalHyprlandHyprland
374    //=========================================================================
375    pub fn astal_hyprland_hyprland_get_type() -> GType;
376    pub fn astal_hyprland_hyprland_get_default() -> *mut AstalHyprlandHyprland;
377    pub fn astal_hyprland_hyprland_get_monitor(
378        self_: *mut AstalHyprlandHyprland,
379        id: c_int,
380    ) -> *mut AstalHyprlandMonitor;
381    pub fn astal_hyprland_hyprland_get_workspace(
382        self_: *mut AstalHyprlandHyprland,
383        id: c_int,
384    ) -> *mut AstalHyprlandWorkspace;
385    pub fn astal_hyprland_hyprland_get_client(
386        self_: *mut AstalHyprlandHyprland,
387        address: *const c_char,
388    ) -> *mut AstalHyprlandClient;
389    pub fn astal_hyprland_hyprland_get_monitor_by_name(
390        self_: *mut AstalHyprlandHyprland,
391        name: *const c_char,
392    ) -> *mut AstalHyprlandMonitor;
393    pub fn astal_hyprland_hyprland_get_workspace_by_name(
394        self_: *mut AstalHyprlandHyprland,
395        name: *const c_char,
396    ) -> *mut AstalHyprlandWorkspace;
397    pub fn astal_hyprland_hyprland_message(
398        self_: *mut AstalHyprlandHyprland,
399        message: *const c_char,
400    ) -> *mut c_char;
401    pub fn astal_hyprland_hyprland_message_async(
402        self_: *mut AstalHyprlandHyprland,
403        message: *const c_char,
404        _callback_: gio::GAsyncReadyCallback,
405        _callback__target: *mut c_void,
406    );
407    pub fn astal_hyprland_hyprland_message_finish(
408        self_: *mut AstalHyprlandHyprland,
409        _res_: *mut gio::GAsyncResult,
410    ) -> *mut c_char;
411    pub fn astal_hyprland_hyprland_dispatch(
412        self_: *mut AstalHyprlandHyprland,
413        dispatcher: *const c_char,
414        args: *const c_char,
415    );
416    pub fn astal_hyprland_hyprland_move_cursor(
417        self_: *mut AstalHyprlandHyprland,
418        x: c_int,
419        y: c_int,
420    );
421    pub fn astal_hyprland_hyprland_sync_monitors(
422        self_: *mut AstalHyprlandHyprland,
423        _callback_: gio::GAsyncReadyCallback,
424        _callback__target: *mut c_void,
425    );
426    pub fn astal_hyprland_hyprland_sync_monitors_finish(
427        self_: *mut AstalHyprlandHyprland,
428        _res_: *mut gio::GAsyncResult,
429        error: *mut *mut glib::GError,
430    );
431    pub fn astal_hyprland_hyprland_sync_workspaces(
432        self_: *mut AstalHyprlandHyprland,
433        _callback_: gio::GAsyncReadyCallback,
434        _callback__target: *mut c_void,
435    );
436    pub fn astal_hyprland_hyprland_sync_workspaces_finish(
437        self_: *mut AstalHyprlandHyprland,
438        _res_: *mut gio::GAsyncResult,
439        error: *mut *mut glib::GError,
440    );
441    pub fn astal_hyprland_hyprland_sync_clients(
442        self_: *mut AstalHyprlandHyprland,
443        _callback_: gio::GAsyncReadyCallback,
444        _callback__target: *mut c_void,
445    );
446    pub fn astal_hyprland_hyprland_sync_clients_finish(
447        self_: *mut AstalHyprlandHyprland,
448        _res_: *mut gio::GAsyncResult,
449        error: *mut *mut glib::GError,
450    );
451    pub fn astal_hyprland_hyprland_new() -> *mut AstalHyprlandHyprland;
452    pub fn astal_hyprland_hyprland_get_monitors(
453        self_: *mut AstalHyprlandHyprland,
454    ) -> *mut glib::GList;
455    pub fn astal_hyprland_hyprland_get_workspaces(
456        self_: *mut AstalHyprlandHyprland,
457    ) -> *mut glib::GList;
458    pub fn astal_hyprland_hyprland_get_clients(
459        self_: *mut AstalHyprlandHyprland,
460    ) -> *mut glib::GList;
461    pub fn astal_hyprland_hyprland_get_focused_workspace(
462        self_: *mut AstalHyprlandHyprland,
463    ) -> *mut AstalHyprlandWorkspace;
464    pub fn astal_hyprland_hyprland_get_focused_monitor(
465        self_: *mut AstalHyprlandHyprland,
466    ) -> *mut AstalHyprlandMonitor;
467    pub fn astal_hyprland_hyprland_get_focused_client(
468        self_: *mut AstalHyprlandHyprland,
469    ) -> *mut AstalHyprlandClient;
470    pub fn astal_hyprland_hyprland_get_binds(self_: *mut AstalHyprlandHyprland)
471        -> *mut glib::GList;
472    pub fn astal_hyprland_hyprland_get_cursor_position(
473        self_: *mut AstalHyprlandHyprland,
474    ) -> *mut AstalHyprlandPosition;
475
476    //=========================================================================
477    // AstalHyprlandMonitor
478    //=========================================================================
479    pub fn astal_hyprland_monitor_get_type() -> GType;
480    pub fn astal_hyprland_monitor_focus(self_: *mut AstalHyprlandMonitor);
481    pub fn astal_hyprland_monitor_new() -> *mut AstalHyprlandMonitor;
482    pub fn astal_hyprland_monitor_get_id(self_: *mut AstalHyprlandMonitor) -> c_int;
483    pub fn astal_hyprland_monitor_get_name(self_: *mut AstalHyprlandMonitor) -> *const c_char;
484    pub fn astal_hyprland_monitor_get_description(
485        self_: *mut AstalHyprlandMonitor,
486    ) -> *const c_char;
487    pub fn astal_hyprland_monitor_get_make(self_: *mut AstalHyprlandMonitor) -> *const c_char;
488    pub fn astal_hyprland_monitor_get_model(self_: *mut AstalHyprlandMonitor) -> *const c_char;
489    pub fn astal_hyprland_monitor_get_serial(self_: *mut AstalHyprlandMonitor) -> *const c_char;
490    pub fn astal_hyprland_monitor_get_width(self_: *mut AstalHyprlandMonitor) -> c_int;
491    pub fn astal_hyprland_monitor_get_height(self_: *mut AstalHyprlandMonitor) -> c_int;
492    pub fn astal_hyprland_monitor_get_refresh_rate(self_: *mut AstalHyprlandMonitor) -> c_double;
493    pub fn astal_hyprland_monitor_get_x(self_: *mut AstalHyprlandMonitor) -> c_int;
494    pub fn astal_hyprland_monitor_get_y(self_: *mut AstalHyprlandMonitor) -> c_int;
495    pub fn astal_hyprland_monitor_get_active_workspace(
496        self_: *mut AstalHyprlandMonitor,
497    ) -> *mut AstalHyprlandWorkspace;
498    pub fn astal_hyprland_monitor_get_special_workspace(
499        self_: *mut AstalHyprlandMonitor,
500    ) -> *mut AstalHyprlandWorkspace;
501    pub fn astal_hyprland_monitor_get_reserved_top(self_: *mut AstalHyprlandMonitor) -> c_int;
502    pub fn astal_hyprland_monitor_get_reserved_bottom(self_: *mut AstalHyprlandMonitor) -> c_int;
503    pub fn astal_hyprland_monitor_get_reserved_left(self_: *mut AstalHyprlandMonitor) -> c_int;
504    pub fn astal_hyprland_monitor_get_reserved_right(self_: *mut AstalHyprlandMonitor) -> c_int;
505    pub fn astal_hyprland_monitor_get_scale(self_: *mut AstalHyprlandMonitor) -> c_double;
506    pub fn astal_hyprland_monitor_get_transform(
507        self_: *mut AstalHyprlandMonitor,
508    ) -> AstalHyprlandMonitorTransform;
509    pub fn astal_hyprland_monitor_get_focused(self_: *mut AstalHyprlandMonitor) -> gboolean;
510    pub fn astal_hyprland_monitor_get_dpms_status(self_: *mut AstalHyprlandMonitor) -> gboolean;
511    pub fn astal_hyprland_monitor_get_vrr(self_: *mut AstalHyprlandMonitor) -> gboolean;
512    pub fn astal_hyprland_monitor_get_actively_tearing(
513        self_: *mut AstalHyprlandMonitor,
514    ) -> gboolean;
515    pub fn astal_hyprland_monitor_get_disabled(self_: *mut AstalHyprlandMonitor) -> gboolean;
516    pub fn astal_hyprland_monitor_get_current_format(
517        self_: *mut AstalHyprlandMonitor,
518    ) -> *const c_char;
519    pub fn astal_hyprland_monitor_get_available_modes(
520        self_: *mut AstalHyprlandMonitor,
521    ) -> *mut glib::GArray;
522
523    //=========================================================================
524    // AstalHyprlandPosition
525    //=========================================================================
526    pub fn astal_hyprland_position_get_type() -> GType;
527    pub fn astal_hyprland_position_new() -> *mut AstalHyprlandPosition;
528    pub fn astal_hyprland_position_get_x(self_: *mut AstalHyprlandPosition) -> c_int;
529    pub fn astal_hyprland_position_set_x(self_: *mut AstalHyprlandPosition, value: c_int);
530    pub fn astal_hyprland_position_get_y(self_: *mut AstalHyprlandPosition) -> c_int;
531    pub fn astal_hyprland_position_set_y(self_: *mut AstalHyprlandPosition, value: c_int);
532
533    //=========================================================================
534    // AstalHyprlandWorkspace
535    //=========================================================================
536    pub fn astal_hyprland_workspace_get_type() -> GType;
537    pub fn astal_hyprland_workspace_new_dummy(
538        id: c_int,
539        monitor: *mut AstalHyprlandMonitor,
540    ) -> *mut AstalHyprlandWorkspace;
541    pub fn astal_hyprland_workspace_focus(self_: *mut AstalHyprlandWorkspace);
542    pub fn astal_hyprland_workspace_move_to(
543        self_: *mut AstalHyprlandWorkspace,
544        m: *mut AstalHyprlandMonitor,
545    );
546    pub fn astal_hyprland_workspace_new() -> *mut AstalHyprlandWorkspace;
547    pub fn astal_hyprland_workspace_get_id(self_: *mut AstalHyprlandWorkspace) -> c_int;
548    pub fn astal_hyprland_workspace_get_name(self_: *mut AstalHyprlandWorkspace) -> *const c_char;
549    pub fn astal_hyprland_workspace_get_monitor(
550        self_: *mut AstalHyprlandWorkspace,
551    ) -> *mut AstalHyprlandMonitor;
552    pub fn astal_hyprland_workspace_get_clients(
553        self_: *mut AstalHyprlandWorkspace,
554    ) -> *mut glib::GList;
555    pub fn astal_hyprland_workspace_get_has_fullscreen(
556        self_: *mut AstalHyprlandWorkspace,
557    ) -> gboolean;
558    pub fn astal_hyprland_workspace_get_last_client(
559        self_: *mut AstalHyprlandWorkspace,
560    ) -> *mut AstalHyprlandClient;
561
562    //=========================================================================
563    // Other functions
564    //=========================================================================
565    pub fn astal_hyprland_get_default() -> *mut AstalHyprlandHyprland;
566
567}