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 gio_sys as gio;
16use glib_sys as glib;
17use gobject_sys as gobject;
18use json_glib_sys as json;
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 AstalNiriColumnDisplayTag = c_int;
35pub const ASTAL_NIRI_COLUMN_DISPLAY_TAG_Normal: AstalNiriColumnDisplayTag = 0;
36pub const ASTAL_NIRI_COLUMN_DISPLAY_TAG_Tabbed: AstalNiriColumnDisplayTag = 1;
37
38pub type AstalNiriLayoutSwitchTargetTag = c_int;
39pub const ASTAL_NIRI_LAYOUT_SWITCH_TARGET_TAG_Next: AstalNiriLayoutSwitchTargetTag = 0;
40pub const ASTAL_NIRI_LAYOUT_SWITCH_TARGET_TAG_Prev: AstalNiriLayoutSwitchTargetTag = 1;
41pub const ASTAL_NIRI_LAYOUT_SWITCH_TARGET_TAG_Index: AstalNiriLayoutSwitchTargetTag = 2;
42
43pub type AstalNiriSizeChangeTag = c_int;
44pub const ASTAL_NIRI_SIZE_CHANGE_TAG_SetFixed: AstalNiriSizeChangeTag = 0;
45pub const ASTAL_NIRI_SIZE_CHANGE_TAG_SetProportion: AstalNiriSizeChangeTag = 1;
46pub const ASTAL_NIRI_SIZE_CHANGE_TAG_AdjustFixed: AstalNiriSizeChangeTag = 2;
47pub const ASTAL_NIRI_SIZE_CHANGE_TAG_AdjustProportion: AstalNiriSizeChangeTag = 3;
48
49pub type AstalNiriWorkspaceReferenceArgTag = c_int;
50pub const ASTAL_NIRI_WORKSPACE_REFERENCE_ARG_TAG_Id: AstalNiriWorkspaceReferenceArgTag = 0;
51pub const ASTAL_NIRI_WORKSPACE_REFERENCE_ARG_TAG_Index: AstalNiriWorkspaceReferenceArgTag = 1;
52pub const ASTAL_NIRI_WORKSPACE_REFERENCE_ARG_TAG_Name: AstalNiriWorkspaceReferenceArgTag = 2;
53
54pub const ASTAL_NIRI_MAJOR_VERSION: c_int = 0;
56pub const ASTAL_NIRI_MINOR_VERSION: c_int = 1;
57pub const ASTAL_NIRI_MICRO_VERSION: c_int = 0;
58pub const ASTAL_NIRI_VERSION: &[u8] = b"0.1.0\0";
59
60#[derive(Copy, Clone)]
62#[repr(C)]
63pub struct AstalNiriLogicalOutput {
64 pub _x: i32,
65 pub _y: i32,
66 pub _width: u32,
67 pub _height: u32,
68 pub _scale: c_float,
69 pub _transform: *mut c_char,
70}
71
72impl ::std::fmt::Debug for AstalNiriLogicalOutput {
73 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
74 f.debug_struct(&format!("AstalNiriLogicalOutput @ {self:p}"))
75 .field("_x", &self._x)
76 .field("_y", &self._y)
77 .field("_width", &self._width)
78 .field("_height", &self._height)
79 .field("_scale", &self._scale)
80 .field("_transform", &self._transform)
81 .finish()
82 }
83}
84
85#[derive(Copy, Clone)]
86#[repr(C)]
87pub struct AstalNiriMode {
88 pub _width: i64,
89 pub _height: i64,
90 pub _refresh_rate: i64,
91 pub _is_preferred: gboolean,
92}
93
94impl ::std::fmt::Debug for AstalNiriMode {
95 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
96 f.debug_struct(&format!("AstalNiriMode @ {self:p}"))
97 .field("_width", &self._width)
98 .field("_height", &self._height)
99 .field("_refresh_rate", &self._refresh_rate)
100 .field("_is_preferred", &self._is_preferred)
101 .finish()
102 }
103}
104
105#[derive(Copy, Clone)]
106#[repr(C)]
107pub struct AstalNiriNiriClass {
108 pub parent_class: gobject::GObjectClass,
109 pub window_changed: Option<unsafe extern "C" fn(*mut AstalNiriNiri, *mut AstalNiriWindow)>,
110}
111
112impl ::std::fmt::Debug for AstalNiriNiriClass {
113 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
114 f.debug_struct(&format!("AstalNiriNiriClass @ {self:p}"))
115 .field("window_changed", &self.window_changed)
116 .finish()
117 }
118}
119
120#[repr(C)]
121#[allow(dead_code)]
122pub struct _AstalNiriNiriPrivate {
123 _data: [u8; 0],
124 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
125}
126
127pub type AstalNiriNiriPrivate = _AstalNiriNiriPrivate;
128
129#[derive(Copy, Clone)]
130#[repr(C)]
131pub struct AstalNiriOutputClass {
132 pub parent_class: gobject::GObjectClass,
133}
134
135impl ::std::fmt::Debug for AstalNiriOutputClass {
136 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
137 f.debug_struct(&format!("AstalNiriOutputClass @ {self:p}"))
138 .finish()
139 }
140}
141
142#[repr(C)]
143#[allow(dead_code)]
144pub struct _AstalNiriOutputPrivate {
145 _data: [u8; 0],
146 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
147}
148
149pub type AstalNiriOutputPrivate = _AstalNiriOutputPrivate;
150
151#[derive(Copy, Clone)]
152#[repr(C)]
153pub struct AstalNiriOverviewClass {
154 pub parent_class: gobject::GObjectClass,
155}
156
157impl ::std::fmt::Debug for AstalNiriOverviewClass {
158 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
159 f.debug_struct(&format!("AstalNiriOverviewClass @ {self:p}"))
160 .finish()
161 }
162}
163
164#[repr(C)]
165#[allow(dead_code)]
166pub struct _AstalNiriOverviewPrivate {
167 _data: [u8; 0],
168 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
169}
170
171pub type AstalNiriOverviewPrivate = _AstalNiriOverviewPrivate;
172
173#[derive(Copy, Clone)]
174#[repr(C)]
175pub struct AstalNiriPhysicalSize {
176 pub x: u32,
177 pub y: u32,
178}
179
180impl ::std::fmt::Debug for AstalNiriPhysicalSize {
181 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
182 f.debug_struct(&format!("AstalNiriPhysicalSize @ {self:p}"))
183 .field("x", &self.x)
184 .field("y", &self.y)
185 .finish()
186 }
187}
188
189#[derive(Copy, Clone)]
190#[repr(C)]
191pub struct AstalNiriWindowClass {
192 pub parent_class: gobject::GObjectClass,
193}
194
195impl ::std::fmt::Debug for AstalNiriWindowClass {
196 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
197 f.debug_struct(&format!("AstalNiriWindowClass @ {self:p}"))
198 .finish()
199 }
200}
201
202#[derive(Copy, Clone)]
203#[repr(C)]
204pub struct AstalNiriWindowLayout {
205 pub pos_in_scrolling_layout: *mut [c_uint; 2],
206 pub tile_size: *mut [c_double; 2],
207 pub window_size: *mut [i32; 2],
208 pub tile_pos_in_workspace_view: *mut [c_double; 2],
209 pub window_offset_in_tile: *mut [c_double; 2],
210}
211
212impl ::std::fmt::Debug for AstalNiriWindowLayout {
213 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
214 f.debug_struct(&format!("AstalNiriWindowLayout @ {self:p}"))
215 .field("pos_in_scrolling_layout", &self.pos_in_scrolling_layout)
216 .field("tile_size", &self.tile_size)
217 .field("window_size", &self.window_size)
218 .field(
219 "tile_pos_in_workspace_view",
220 &self.tile_pos_in_workspace_view,
221 )
222 .field("window_offset_in_tile", &self.window_offset_in_tile)
223 .finish()
224 }
225}
226
227#[repr(C)]
228#[allow(dead_code)]
229pub struct _AstalNiriWindowPrivate {
230 _data: [u8; 0],
231 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
232}
233
234pub type AstalNiriWindowPrivate = _AstalNiriWindowPrivate;
235
236#[derive(Copy, Clone)]
237#[repr(C)]
238pub struct AstalNiriWorkspaceClass {
239 pub parent_class: gobject::GObjectClass,
240}
241
242impl ::std::fmt::Debug for AstalNiriWorkspaceClass {
243 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
244 f.debug_struct(&format!("AstalNiriWorkspaceClass @ {self:p}"))
245 .finish()
246 }
247}
248
249#[repr(C)]
250#[allow(dead_code)]
251pub struct _AstalNiriWorkspacePrivate {
252 _data: [u8; 0],
253 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
254}
255
256pub type AstalNiriWorkspacePrivate = _AstalNiriWorkspacePrivate;
257
258#[derive(Copy, Clone)]
259#[repr(C)]
260pub struct AstalNirimsgClass {
261 pub parent_class: gobject::GObjectClass,
262}
263
264impl ::std::fmt::Debug for AstalNirimsgClass {
265 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
266 f.debug_struct(&format!("AstalNirimsgClass @ {self:p}"))
267 .finish()
268 }
269}
270
271#[repr(C)]
272#[allow(dead_code)]
273pub struct _AstalNirimsgPrivate {
274 _data: [u8; 0],
275 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
276}
277
278pub type AstalNirimsgPrivate = _AstalNirimsgPrivate;
279
280#[derive(Copy, Clone)]
282#[repr(C)]
283pub struct AstalNiriNiri {
284 pub parent_instance: gobject::GObject,
285 pub priv_: *mut AstalNiriNiriPrivate,
286 pub _workspaces: *mut glib::GHashTable,
287 pub _windows: *mut glib::GHashTable,
288 pub _outputs: *mut glib::GHashTable,
289}
290
291impl ::std::fmt::Debug for AstalNiriNiri {
292 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
293 f.debug_struct(&format!("AstalNiriNiri @ {self:p}"))
294 .field("_workspaces", &self._workspaces)
295 .field("_windows", &self._windows)
296 .field("_outputs", &self._outputs)
297 .finish()
298 }
299}
300
301#[derive(Copy, Clone)]
302#[repr(C)]
303pub struct AstalNiriOutput {
304 pub parent_instance: gobject::GObject,
305 pub priv_: *mut AstalNiriOutputPrivate,
306}
307
308impl ::std::fmt::Debug for AstalNiriOutput {
309 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
310 f.debug_struct(&format!("AstalNiriOutput @ {self:p}"))
311 .finish()
312 }
313}
314
315#[derive(Copy, Clone)]
316#[repr(C)]
317pub struct AstalNiriOverview {
318 pub parent_instance: gobject::GObject,
319 pub priv_: *mut AstalNiriOverviewPrivate,
320}
321
322impl ::std::fmt::Debug for AstalNiriOverview {
323 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
324 f.debug_struct(&format!("AstalNiriOverview @ {self:p}"))
325 .finish()
326 }
327}
328
329#[derive(Copy, Clone)]
330#[repr(C)]
331pub struct AstalNiriWindow {
332 pub parent_instance: gobject::GObject,
333 pub priv_: *mut AstalNiriWindowPrivate,
334}
335
336impl ::std::fmt::Debug for AstalNiriWindow {
337 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
338 f.debug_struct(&format!("AstalNiriWindow @ {self:p}"))
339 .finish()
340 }
341}
342
343#[derive(Copy, Clone)]
344#[repr(C)]
345pub struct AstalNiriWorkspace {
346 pub parent_instance: gobject::GObject,
347 pub priv_: *mut AstalNiriWorkspacePrivate,
348}
349
350impl ::std::fmt::Debug for AstalNiriWorkspace {
351 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
352 f.debug_struct(&format!("AstalNiriWorkspace @ {self:p}"))
353 .finish()
354 }
355}
356
357#[derive(Copy, Clone)]
358#[repr(C)]
359pub struct AstalNirimsg {
360 pub parent_instance: gobject::GObject,
361 pub priv_: *mut AstalNirimsgPrivate,
362}
363
364impl ::std::fmt::Debug for AstalNirimsg {
365 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
366 f.debug_struct(&format!("AstalNirimsg @ {self:p}")).finish()
367 }
368}
369
370extern "C" {
371
372 pub fn astal_niri_column_display_tag_get_type() -> GType;
376
377 pub fn astal_niri_layout_switch_target_tag_get_type() -> GType;
381
382 pub fn astal_niri_size_change_tag_get_type() -> GType;
386
387 pub fn astal_niri_workspace_reference_arg_tag_get_type() -> GType;
391
392 pub fn astal_niri_logical_output_get_type() -> GType;
396 pub fn astal_niri_logical_output_get_x(self_: *mut AstalNiriLogicalOutput) -> i32;
397 pub fn astal_niri_logical_output_get_y(self_: *mut AstalNiriLogicalOutput) -> i32;
398 pub fn astal_niri_logical_output_get_width(self_: *mut AstalNiriLogicalOutput) -> u32;
399 pub fn astal_niri_logical_output_get_height(self_: *mut AstalNiriLogicalOutput) -> u32;
400 pub fn astal_niri_logical_output_get_scale(self_: *mut AstalNiriLogicalOutput) -> c_float;
401 pub fn astal_niri_logical_output_get_transform(
402 self_: *mut AstalNiriLogicalOutput,
403 ) -> *const c_char;
404
405 pub fn astal_niri_mode_get_type() -> GType;
409 pub fn astal_niri_mode_get_width(self_: *mut AstalNiriMode) -> i64;
410 pub fn astal_niri_mode_get_height(self_: *mut AstalNiriMode) -> i64;
411 pub fn astal_niri_mode_get_refresh_rate(self_: *mut AstalNiriMode) -> i64;
412 pub fn astal_niri_mode_get_is_preferred(self_: *mut AstalNiriMode) -> gboolean;
413
414 pub fn astal_niri_physical_size_get_type() -> GType;
418 pub fn astal_niri_physical_size_init_from_json(
419 self_: *mut AstalNiriPhysicalSize,
420 size: *mut json::JsonArray,
421 );
422
423 pub fn astal_niri_window_layout_get_type() -> GType;
427
428 pub fn astal_niri_niri_get_type() -> GType;
432 pub fn astal_niri_niri_get_default() -> *mut AstalNiriNiri;
433 pub fn astal_niri_niri_get_window(self_: *mut AstalNiriNiri, id: u64) -> *mut AstalNiriWindow;
434 pub fn astal_niri_niri_get_workspace(
435 self_: *mut AstalNiriNiri,
436 id: u64,
437 ) -> *mut AstalNiriWorkspace;
438 pub fn astal_niri_niri_new() -> *mut AstalNiriNiri;
439 pub fn astal_niri_niri_get_keyboard_layout_idx(self_: *mut AstalNiriNiri) -> u8;
440 pub fn astal_niri_niri_get_config_load_failed(self_: *mut AstalNiriNiri) -> gboolean;
441 pub fn astal_niri_niri_get_overview(self_: *mut AstalNiriNiri) -> *mut AstalNiriOverview;
442 pub fn astal_niri_niri_get_focused_workspace(
443 self_: *mut AstalNiriNiri,
444 ) -> *mut AstalNiriWorkspace;
445 pub fn astal_niri_niri_get_focused_window(self_: *mut AstalNiriNiri) -> *mut AstalNiriWindow;
446 pub fn astal_niri_niri_get_focused_output(self_: *mut AstalNiriNiri) -> *mut AstalNiriOutput;
447 pub fn astal_niri_niri_get_windows(self_: *mut AstalNiriNiri) -> *mut glib::GList;
448 pub fn astal_niri_niri_get_outputs(self_: *mut AstalNiriNiri) -> *mut glib::GList;
449 pub fn astal_niri_niri_get_workspaces(self_: *mut AstalNiriNiri) -> *mut glib::GList;
450
451 pub fn astal_niri_output_get_type() -> GType;
455 pub fn astal_niri_output_focus(self_: *mut AstalNiriOutput) -> gboolean;
456 pub fn astal_niri_output_new() -> *mut AstalNiriOutput;
457 pub fn astal_niri_output_get_name(self_: *mut AstalNiriOutput) -> *const c_char;
458 pub fn astal_niri_output_get_make(self_: *mut AstalNiriOutput) -> *const c_char;
459 pub fn astal_niri_output_get_model(self_: *mut AstalNiriOutput) -> *const c_char;
460 pub fn astal_niri_output_get_serial(self_: *mut AstalNiriOutput) -> *const c_char;
461 pub fn astal_niri_output_get_physical_size(
462 self_: *mut AstalNiriOutput,
463 ) -> *mut AstalNiriPhysicalSize;
464 pub fn astal_niri_output_get_modes(self_: *mut AstalNiriOutput) -> *mut glib::GArray;
465 pub fn astal_niri_output_get_current_mode(self_: *mut AstalNiriOutput) -> i64;
466 pub fn astal_niri_output_get_vrr_supported(self_: *mut AstalNiriOutput) -> gboolean;
467 pub fn astal_niri_output_get_vrr_enabled(self_: *mut AstalNiriOutput) -> gboolean;
468 pub fn astal_niri_output_get_logical(
469 self_: *mut AstalNiriOutput,
470 ) -> *mut AstalNiriLogicalOutput;
471 pub fn astal_niri_output_get_workspaces(self_: *mut AstalNiriOutput) -> *mut glib::GList;
472
473 pub fn astal_niri_overview_get_type() -> GType;
477 pub fn astal_niri_overview_toggle(
478 self_: *mut AstalNiriOverview,
479 _callback_: gio::GAsyncReadyCallback,
480 _callback__target: *mut c_void,
481 );
482 pub fn astal_niri_overview_toggle_finish(
483 self_: *mut AstalNiriOverview,
484 _res_: *mut gio::GAsyncResult,
485 ) -> gboolean;
486 pub fn astal_niri_overview_new() -> *mut AstalNiriOverview;
487 pub fn astal_niri_overview_get_is_open(self_: *mut AstalNiriOverview) -> gboolean;
488
489 pub fn astal_niri_window_get_type() -> GType;
493 pub fn astal_niri_window_focus(self_: *mut AstalNiriWindow, id: c_int) -> gboolean;
494 pub fn astal_niri_window_set_urgency(
495 self_: *mut AstalNiriWindow,
496 new_urgency: gboolean,
497 ) -> gboolean;
498 pub fn astal_niri_window_move_to_workspace(
499 self_: *mut AstalNiriWindow,
500 workspace_id: c_int,
501 focus: *mut gboolean,
502 ) -> gboolean;
503 pub fn astal_niri_window_move_to_monitor(
504 self_: *mut AstalNiriWindow,
505 output: *const c_char,
506 ) -> gboolean;
507 pub fn astal_niri_window_new() -> *mut AstalNiriWindow;
508 pub fn astal_niri_window_get_id(self_: *mut AstalNiriWindow) -> u64;
509 pub fn astal_niri_window_get_title(self_: *mut AstalNiriWindow) -> *const c_char;
510 pub fn astal_niri_window_get_app_id(self_: *mut AstalNiriWindow) -> *const c_char;
511 pub fn astal_niri_window_get_workspace_id(self_: *mut AstalNiriWindow) -> u64;
512 pub fn astal_niri_window_get_is_urgent(self_: *mut AstalNiriWindow) -> gboolean;
513 pub fn astal_niri_window_get_is_focused(self_: *mut AstalNiriWindow) -> gboolean;
514 pub fn astal_niri_window_get_is_floating(self_: *mut AstalNiriWindow) -> gboolean;
515 pub fn astal_niri_window_get_layout(
516 self_: *mut AstalNiriWindow,
517 result: *mut AstalNiriWindowLayout,
518 );
519 pub fn astal_niri_window_get_workspace(self_: *mut AstalNiriWindow) -> *mut AstalNiriWorkspace;
520
521 pub fn astal_niri_workspace_get_type() -> GType;
525 pub fn astal_niri_workspace_focus(self_: *mut AstalNiriWorkspace) -> gboolean;
526 pub fn astal_niri_workspace_rename(
527 self_: *mut AstalNiriWorkspace,
528 name: *const c_char,
529 ) -> gboolean;
530 pub fn astal_niri_workspace_move_to_monitor(
531 self_: *mut AstalNiriWorkspace,
532 output: *const c_char,
533 ) -> gboolean;
534 pub fn astal_niri_workspace_new() -> *mut AstalNiriWorkspace;
535 pub fn astal_niri_workspace_get_id(self_: *mut AstalNiriWorkspace) -> u64;
536 pub fn astal_niri_workspace_get_idx(self_: *mut AstalNiriWorkspace) -> u8;
537 pub fn astal_niri_workspace_get_name(self_: *mut AstalNiriWorkspace) -> *const c_char;
538 pub fn astal_niri_workspace_get_output(self_: *mut AstalNiriWorkspace) -> *const c_char;
539 pub fn astal_niri_workspace_get_is_urgent(self_: *mut AstalNiriWorkspace) -> gboolean;
540 pub fn astal_niri_workspace_get_is_active(self_: *mut AstalNiriWorkspace) -> gboolean;
541 pub fn astal_niri_workspace_get_is_focused(self_: *mut AstalNiriWorkspace) -> gboolean;
542 pub fn astal_niri_workspace_get_active_window_id(self_: *mut AstalNiriWorkspace) -> u64;
543 pub fn astal_niri_workspace_get_active_window(
544 self_: *mut AstalNiriWorkspace,
545 ) -> *mut AstalNiriWindow;
546 pub fn astal_niri_workspace_get_windows(self_: *mut AstalNiriWorkspace) -> *mut glib::GList;
547
548 pub fn astal_niri_msg_get_type() -> GType;
552 pub fn astal_niri_msg_send(message: *const c_char) -> *mut c_char;
553 pub fn astal_niri_msg_send_async(
554 message: *const c_char,
555 _callback_: gio::GAsyncReadyCallback,
556 _callback__target: *mut c_void,
557 );
558 pub fn astal_niri_msg_send_finish(_res_: *mut gio::GAsyncResult) -> *mut c_char;
559 pub fn astal_niri_msg_center_column() -> gboolean;
560 pub fn astal_niri_msg_center_visible_columns() -> gboolean;
561 pub fn astal_niri_msg_center_window(id: *mut c_int) -> gboolean;
562 pub fn astal_niri_msg_clear_dynamic_cast_target() -> gboolean;
563 pub fn astal_niri_msg_close_overview() -> gboolean;
564 pub fn astal_niri_msg_close_window(id: *mut c_int) -> gboolean;
565 pub fn astal_niri_msg_consume_or_expel_window_left(id: *mut c_int) -> gboolean;
566 pub fn astal_niri_msg_consume_or_expel_window_right(id: *mut c_int) -> gboolean;
567 pub fn astal_niri_msg_consume_window_into_column() -> gboolean;
568 pub fn astal_niri_msg_debug_toggle_damage() -> gboolean;
569 pub fn astal_niri_msg_debug_toggle_opaque_regions() -> gboolean;
570 pub fn astal_niri_msg_do_screen_transition(delay_ms: *mut c_int) -> gboolean;
571 pub fn astal_niri_msg_expand_column_to_available_width() -> gboolean;
572 pub fn astal_niri_msg_expel_window_from_column() -> gboolean;
573 pub fn astal_niri_msg_focus_column(index: c_int) -> gboolean;
574 pub fn astal_niri_msg_focus_column_first() -> gboolean;
575 pub fn astal_niri_msg_focus_column_last() -> gboolean;
576 pub fn astal_niri_msg_focus_column_left() -> gboolean;
577 pub fn astal_niri_msg_focus_column_left_or_last() -> gboolean;
578 pub fn astal_niri_msg_focus_column_or_monitor_left() -> gboolean;
579 pub fn astal_niri_msg_focus_column_or_monitor_right() -> gboolean;
580 pub fn astal_niri_msg_focus_column_right() -> gboolean;
581 pub fn astal_niri_msg_focus_column_right_or_first() -> gboolean;
582 pub fn astal_niri_msg_focus_floating() -> gboolean;
583 pub fn astal_niri_msg_focus_monitor(output: *const c_char) -> gboolean;
584 pub fn astal_niri_msg_focus_monitor_down() -> gboolean;
585 pub fn astal_niri_msg_focus_monitor_left() -> gboolean;
586 pub fn astal_niri_msg_focus_monitor_next() -> gboolean;
587 pub fn astal_niri_msg_focus_monitor_previous() -> gboolean;
588 pub fn astal_niri_msg_focus_monitor_right() -> gboolean;
589 pub fn astal_niri_msg_focus_monitor_up() -> gboolean;
590 pub fn astal_niri_msg_focus_tiling() -> gboolean;
591 pub fn astal_niri_msg_focus_window(id: c_int) -> gboolean;
592 pub fn astal_niri_msg_focus_window_bottom() -> gboolean;
593 pub fn astal_niri_msg_focus_window_down() -> gboolean;
594 pub fn astal_niri_msg_focus_window_down_or_column_left() -> gboolean;
595 pub fn astal_niri_msg_focus_window_down_or_column_right() -> gboolean;
596 pub fn astal_niri_msg_focus_window_down_or_top() -> gboolean;
597 pub fn astal_niri_msg_focus_window_or_workspace_down() -> gboolean;
598 pub fn astal_niri_msg_focus_window_or_workspace_up() -> gboolean;
599 pub fn astal_niri_msg_focus_window_in_column(index: c_int) -> gboolean;
600 pub fn astal_niri_msg_focus_window_or_monitor_down() -> gboolean;
601 pub fn astal_niri_msg_focus_window_or_monitor_up() -> gboolean;
602 pub fn astal_niri_msg_focus_window_previous() -> gboolean;
603 pub fn astal_niri_msg_focus_window_top() -> gboolean;
604 pub fn astal_niri_msg_focus_window_up() -> gboolean;
605 pub fn astal_niri_msg_focus_window_up_or_bottom() -> gboolean;
606 pub fn astal_niri_msg_focus_window_up_or_column_left() -> gboolean;
607 pub fn astal_niri_msg_focus_window_up_or_column_right() -> gboolean;
608 pub fn astal_niri_msg_focus_workspace_by_id(workspace_id: c_int) -> gboolean;
609 pub fn astal_niri_msg_focus_workspace_by_index(workspace_index: c_int) -> gboolean;
610 pub fn astal_niri_msg_focus_workspace_by_name(workspace_name: *const c_char) -> gboolean;
611 pub fn astal_niri_msg_focus_workspace_down() -> gboolean;
612 pub fn astal_niri_msg_focus_workspace_previous() -> gboolean;
613 pub fn astal_niri_msg_focus_workspace_next() -> gboolean;
614 pub fn astal_niri_msg_focus_workspace_up() -> gboolean;
615 pub fn astal_niri_msg_fullscreen_window(id: *mut c_int) -> gboolean;
616 pub fn astal_niri_msg_layers(self_: *mut AstalNirimsg) -> *mut c_char;
617 pub fn astal_niri_msg_maximize_column() -> gboolean;
618 pub fn astal_niri_msg_move_column_left() -> gboolean;
619 pub fn astal_niri_msg_move_column_left_or_to_monitor_left() -> gboolean;
620 pub fn astal_niri_msg_move_column_right() -> gboolean;
621 pub fn astal_niri_msg_move_column_right_or_to_monitor_right() -> gboolean;
622 pub fn astal_niri_msg_move_column_to_first() -> gboolean;
623 pub fn astal_niri_msg_move_column_to_index(index: c_int) -> gboolean;
624 pub fn astal_niri_msg_move_column_to_last() -> gboolean;
625 pub fn astal_niri_msg_move_column_to_monitor(output: *const c_char) -> gboolean;
626 pub fn astal_niri_msg_move_column_to_monitor_down() -> gboolean;
627 pub fn astal_niri_msg_move_column_to_monitor_left() -> gboolean;
628 pub fn astal_niri_msg_move_column_to_monitor_next() -> gboolean;
629 pub fn astal_niri_msg_move_column_to_monitor_previous() -> gboolean;
630 pub fn astal_niri_msg_move_column_to_monitor_right() -> gboolean;
631 pub fn astal_niri_msg_move_column_to_monitor_up() -> gboolean;
632 pub fn astal_niri_msg_move_column_to_workspace_by_id(
633 workspace_id: c_int,
634 focus: gboolean,
635 ) -> gboolean;
636 pub fn astal_niri_msg_move_column_to_workspace_by_index(
637 workspace_index: c_int,
638 focus: gboolean,
639 ) -> gboolean;
640 pub fn astal_niri_msg_move_column_to_workspace_by_name(
641 workspace_name: *const c_char,
642 focus: gboolean,
643 ) -> gboolean;
644 pub fn astal_niri_msg_move_column_to_workspace_down(focus: gboolean) -> gboolean;
645 pub fn astal_niri_msg_move_column_to_workspace_up(focus: gboolean) -> gboolean;
646 pub fn astal_niri_msg_move_floating_window_adjust_x_adjust_y(
647 id: *mut c_int,
648 adjust_x: c_double,
649 adjust_y: c_double,
650 ) -> gboolean;
651 pub fn astal_niri_msg_move_floating_window_adjust_x_set_y(
652 id: *mut c_int,
653 adjust_x: c_double,
654 set_y: c_double,
655 ) -> gboolean;
656 pub fn astal_niri_msg_move_floating_window_set_x_adjust_y(
657 id: *mut c_int,
658 set_x: c_double,
659 adjust_y: c_double,
660 ) -> gboolean;
661 pub fn astal_niri_msg_move_floating_window_set_x_set_y(
662 id: *mut c_int,
663 set_x: c_double,
664 set_y: c_double,
665 ) -> gboolean;
666 pub fn astal_niri_msg_move_window_down() -> gboolean;
667 pub fn astal_niri_msg_move_window_down_or_to_workspace_down() -> gboolean;
668 pub fn astal_niri_msg_move_window_to_floating(id: *mut c_int) -> gboolean;
669 pub fn astal_niri_msg_move_window_to_monitor(id: *mut c_int, output: *const c_char)
670 -> gboolean;
671 pub fn astal_niri_msg_move_window_to_monitor_down() -> gboolean;
672 pub fn astal_niri_msg_move_window_to_monitor_left() -> gboolean;
673 pub fn astal_niri_msg_move_window_to_monitor_right() -> gboolean;
674 pub fn astal_niri_msg_move_window_to_monitor_up() -> gboolean;
675 pub fn astal_niri_msg_move_window_to_monitor_previous() -> gboolean;
676 pub fn astal_niri_msg_move_window_to_monitor_next() -> gboolean;
677 pub fn astal_niri_msg_move_window_to_tiling(id: *mut c_int) -> gboolean;
678 pub fn astal_niri_msg_move_window_to_workspace_by_id(
679 window_id: *mut c_int,
680 workspace_id: c_int,
681 focus: gboolean,
682 ) -> gboolean;
683 pub fn astal_niri_msg_move_window_to_workspace_by_index(
684 window_id: *mut c_int,
685 workspace_index: c_int,
686 focus: gboolean,
687 ) -> gboolean;
688 pub fn astal_niri_msg_move_window_to_workspace_by_name(
689 window_id: *mut c_int,
690 workspace_name: *const c_char,
691 focus: gboolean,
692 ) -> gboolean;
693 pub fn astal_niri_msg_move_window_to_workspace_down() -> gboolean;
694 pub fn astal_niri_msg_move_window_to_workspace_up() -> gboolean;
695 pub fn astal_niri_msg_move_window_up() -> gboolean;
696 pub fn astal_niri_msg_move_window_up_or_to_workspace_up() -> gboolean;
697 pub fn astal_niri_msg_move_workspace_down() -> gboolean;
698 pub fn astal_niri_msg_move_workspace_to_index_by_id(
699 workspace_id: c_int,
700 index: c_int,
701 ) -> gboolean;
702 pub fn astal_niri_msg_move_workspace_to_index_by_index(
703 workspace_index: c_int,
704 index: c_int,
705 ) -> gboolean;
706 pub fn astal_niri_msg_move_workspace_to_index_by_name(
707 workspace_name: *const c_char,
708 index: c_int,
709 ) -> gboolean;
710 pub fn astal_niri_msg_move_workspace_to_monitor_by_id(
711 output: *const c_char,
712 workspace_id: c_int,
713 ) -> gboolean;
714 pub fn astal_niri_msg_move_workspace_to_monitor_by_index(
715 output: *const c_char,
716 workspace_index: c_int,
717 ) -> gboolean;
718 pub fn astal_niri_msg_move_workspace_to_monitor_by_name(
719 output: *const c_char,
720 workspace_name: *const c_char,
721 ) -> gboolean;
722 pub fn astal_niri_msg_move_workspace_to_monitor_down() -> gboolean;
723 pub fn astal_niri_msg_move_workspace_to_monitor_left() -> gboolean;
724 pub fn astal_niri_msg_move_workspace_to_monitor_next() -> gboolean;
725 pub fn astal_niri_msg_move_workspace_to_monitor_previous() -> gboolean;
726 pub fn astal_niri_msg_move_workspace_to_monitor_right() -> gboolean;
727 pub fn astal_niri_msg_move_workspace_to_monitor_up() -> gboolean;
728 pub fn astal_niri_msg_move_workspace_up() -> gboolean;
729 pub fn astal_niri_msg_open_overview() -> gboolean;
730 pub fn astal_niri_msg_pick_color(
731 _callback_: gio::GAsyncReadyCallback,
732 _callback__target: *mut c_void,
733 );
734 pub fn astal_niri_msg_pick_color_finish(
735 _res_: *mut gio::GAsyncResult,
736 result_length1: *mut c_int,
737 ) -> *mut c_double;
738 pub fn astal_niri_msg_pick_window(
739 _callback_: gio::GAsyncReadyCallback,
740 _callback__target: *mut c_void,
741 );
742 pub fn astal_niri_msg_pick_window_finish(_res_: *mut gio::GAsyncResult)
743 -> *mut AstalNiriWindow;
744 pub fn astal_niri_msg_power_off_monitors() -> gboolean;
745 pub fn astal_niri_msg_power_on_monitors() -> gboolean;
746 pub fn astal_niri_msg_quit(skip_confirmation: gboolean) -> gboolean;
747 pub fn astal_niri_msg_reset_window_height(id: *mut c_int) -> gboolean;
748 pub fn astal_niri_msg_screenshot(show_pointer: gboolean) -> gboolean;
749 pub fn astal_niri_msg_screenshot_screen(
750 write_to_disk: gboolean,
751 show_pointer: gboolean,
752 ) -> gboolean;
753 pub fn astal_niri_msg_screenshot_window(id: *mut c_int, write_to_disk: gboolean) -> gboolean;
754 pub fn astal_niri_msg_set_column_display(display: AstalNiriColumnDisplayTag) -> gboolean;
755 pub fn astal_niri_msg_set_column_width_adjust_fixed(
756 id: *mut c_int,
757 fixed_value: c_int,
758 ) -> gboolean;
759 pub fn astal_niri_msg_set_column_width_adjust_proportion(
760 id: *mut c_int,
761 proportion: c_double,
762 ) -> gboolean;
763 pub fn astal_niri_msg_set_column_width_set_fixed(
764 id: *mut c_int,
765 fixed_value: c_int,
766 ) -> gboolean;
767 pub fn astal_niri_msg_set_column_width_set_proportion(
768 id: *mut c_int,
769 proportion: c_double,
770 ) -> gboolean;
771 pub fn astal_niri_msg_set_dynamic_cast_window(id: *mut c_int) -> gboolean;
772 pub fn astal_niri_msg_set_dynamic_cast_monitor(output: *const c_char) -> gboolean;
773 pub fn astal_niri_msg_set_window_height_adjust_fixed(
774 id: *mut c_int,
775 fixed_value: c_int,
776 ) -> gboolean;
777 pub fn astal_niri_msg_set_window_height_adjust_proportion(
778 id: *mut c_int,
779 proportion: c_double,
780 ) -> gboolean;
781 pub fn astal_niri_msg_set_window_height_set_fixed(
782 id: *mut c_int,
783 fixed_value: c_int,
784 ) -> gboolean;
785 pub fn astal_niri_msg_set_window_height_set_proportion(
786 id: *mut c_int,
787 proportion: c_double,
788 ) -> gboolean;
789 pub fn astal_niri_msg_set_window_urgent(id: c_int) -> gboolean;
790 pub fn astal_niri_msg_set_window_width_adjust_fixed(
791 id: *mut c_int,
792 fixed_value: c_int,
793 ) -> gboolean;
794 pub fn astal_niri_msg_set_window_width_adjust_proportion(
795 id: *mut c_int,
796 proportion: c_double,
797 ) -> gboolean;
798 pub fn astal_niri_msg_set_window_width_set_fixed(
799 id: *mut c_int,
800 fixed_value: c_int,
801 ) -> gboolean;
802 pub fn astal_niri_msg_set_window_width_set_proportion(
803 id: *mut c_int,
804 proportion: c_double,
805 ) -> gboolean;
806 pub fn astal_niri_msg_set_workspace_name_by_id(
807 workspace_id: c_int,
808 new_name: *const c_char,
809 ) -> gboolean;
810 pub fn astal_niri_msg_set_workspace_name_by_index(
811 workspace_index: c_int,
812 new_name: *const c_char,
813 ) -> gboolean;
814 pub fn astal_niri_msg_set_workspace_name_by_name(
815 workspace_name: *const c_char,
816 new_name: *const c_char,
817 ) -> gboolean;
818 pub fn astal_niri_msg_show_hotkey_overlay() -> gboolean;
819 pub fn astal_niri_msg_spawn(command: *mut *mut c_char, command_length1: c_int) -> gboolean;
820 pub fn astal_niri_msg_swap_window_left() -> gboolean;
821 pub fn astal_niri_msg_swap_window_right() -> gboolean;
822 pub fn astal_niri_msg_switch_focus_between_floating_and_tiling() -> gboolean;
823 pub fn astal_niri_msg_switch_layout_index(index: c_int) -> gboolean;
824 pub fn astal_niri_msg_switch_layout_next() -> gboolean;
825 pub fn astal_niri_msg_switch_layout_prev() -> gboolean;
826 pub fn astal_niri_msg_switch_preset_column_width() -> gboolean;
827 pub fn astal_niri_msg_switch_preset_window_height(id: *mut c_int) -> gboolean;
828 pub fn astal_niri_msg_switch_preset_window_width(id: *mut c_int) -> gboolean;
829 pub fn astal_niri_msg_toggle_column_tabbed_display() -> gboolean;
830 pub fn astal_niri_msg_toggle_debug_tint() -> gboolean;
831 pub fn astal_niri_msg_toggle_keyboard_shortcuts_inhibit() -> gboolean;
832 pub fn astal_niri_msg_toggle_overview() -> gboolean;
833 pub fn astal_niri_msg_toggle_window_floating(id: *mut c_int) -> gboolean;
834 pub fn astal_niri_msg_toggle_window_rule_opacity(id: *mut c_int) -> gboolean;
835 pub fn astal_niri_msg_toggle_window_urgent(id: c_int) -> gboolean;
836 pub fn astal_niri_msg_toggle_windowed_fullscreen(id: *mut c_int) -> gboolean;
837 pub fn astal_niri_msg_unset_window_urgent(id: c_int) -> gboolean;
838 pub fn astal_niri_msg_unset_workspace_name_by_id(workspace_id: c_int) -> gboolean;
839 pub fn astal_niri_msg_unset_workspace_name_by_index(workspace_index: c_int) -> gboolean;
840 pub fn astal_niri_msg_unset_workspace_name_by_name(workspace_name: *const c_char) -> gboolean;
841 pub fn astal_niri_msg_new() -> *mut AstalNirimsg;
842
843 pub fn astal_niri_get_default() -> *mut AstalNiriNiri;
847
848}