Skip to main content

vte_sys/
lib.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from /a/zoha-vte-rs/gir-files
3// from /a/zoha-vte-rs/vte/share/gir-1.0
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 cairo_sys as cairo;
16use gdk_pixbuf_sys as gdk_pixbuf;
17use gdk_sys as gdk;
18use gio_sys as gio;
19use glib_sys as glib;
20use gobject_sys as gobject;
21use gtk_sys as gtk;
22use pango_sys as pango;
23
24#[allow(unused_imports)]
25use libc::{FILE, intptr_t, off_t, size_t, ssize_t, time_t, uintptr_t};
26#[cfg(unix)]
27#[allow(unused_imports)]
28use libc::{dev_t, gid_t, pid_t, socklen_t, uid_t};
29#[allow(unused_imports)]
30use std::ffi::{
31    c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
32};
33
34#[allow(unused_imports)]
35use glib::{GType, gboolean, gconstpointer, gpointer};
36
37// Enums
38pub type VteAlign = c_int;
39pub const VTE_ALIGN_START: VteAlign = 0;
40pub const VTE_ALIGN_CENTER: VteAlign = 1;
41pub const VTE_ALIGN_END: VteAlign = 2;
42
43pub type VteCursorBlinkMode = c_int;
44pub const VTE_CURSOR_BLINK_SYSTEM: VteCursorBlinkMode = 0;
45pub const VTE_CURSOR_BLINK_ON: VteCursorBlinkMode = 1;
46pub const VTE_CURSOR_BLINK_OFF: VteCursorBlinkMode = 2;
47
48pub type VteCursorShape = c_int;
49pub const VTE_CURSOR_SHAPE_BLOCK: VteCursorShape = 0;
50pub const VTE_CURSOR_SHAPE_IBEAM: VteCursorShape = 1;
51pub const VTE_CURSOR_SHAPE_UNDERLINE: VteCursorShape = 2;
52
53pub type VteEraseBinding = c_int;
54pub const VTE_ERASE_AUTO: VteEraseBinding = 0;
55pub const VTE_ERASE_ASCII_BACKSPACE: VteEraseBinding = 1;
56pub const VTE_ERASE_ASCII_DELETE: VteEraseBinding = 2;
57pub const VTE_ERASE_DELETE_SEQUENCE: VteEraseBinding = 3;
58pub const VTE_ERASE_TTY: VteEraseBinding = 4;
59
60pub type VteFormat = c_int;
61pub const VTE_FORMAT_TEXT: VteFormat = 1;
62pub const VTE_FORMAT_HTML: VteFormat = 2;
63
64pub type VteProgressHint = c_int;
65pub const VTE_PROGRESS_HINT_INACTIVE: VteProgressHint = 0;
66pub const VTE_PROGRESS_HINT_ACTIVE: VteProgressHint = 1;
67pub const VTE_PROGRESS_HINT_ERROR: VteProgressHint = 2;
68pub const VTE_PROGRESS_HINT_INDETERMINATE: VteProgressHint = 3;
69pub const VTE_PROGRESS_HINT_PAUSED: VteProgressHint = 4;
70
71pub type VtePropertyId = c_int;
72pub const VTE_PROPERTY_ID_CURRENT_DIRECTORY_URI: VtePropertyId = 0;
73pub const VTE_PROPERTY_ID_CURRENT_FILE_URI: VtePropertyId = 1;
74pub const VTE_PROPERTY_ID_XTERM_TITLE: VtePropertyId = 2;
75pub const VTE_PROPERTY_ID_CONTAINER_NAME: VtePropertyId = 3;
76pub const VTE_PROPERTY_ID_CONTAINER_RUNTIME: VtePropertyId = 4;
77pub const VTE_PROPERTY_ID_CONTAINER_UID: VtePropertyId = 5;
78pub const VTE_PROPERTY_ID_SHELL_PRECMD: VtePropertyId = 6;
79pub const VTE_PROPERTY_ID_SHELL_PREEXEC: VtePropertyId = 7;
80pub const VTE_PROPERTY_ID_SHELL_POSTEXEC: VtePropertyId = 8;
81pub const VTE_PROPERTY_ID_PROGRESS_HINT: VtePropertyId = 9;
82pub const VTE_PROPERTY_ID_PROGRESS_VALUE: VtePropertyId = 10;
83pub const VTE_PROPERTY_ID_ICON_COLOR: VtePropertyId = 11;
84pub const VTE_PROPERTY_ID_ICON_IMAGE: VtePropertyId = 12;
85
86pub type VtePropertyType = c_int;
87pub const VTE_PROPERTY_VALUELESS: VtePropertyType = 0;
88pub const VTE_PROPERTY_BOOL: VtePropertyType = 1;
89pub const VTE_PROPERTY_INT: VtePropertyType = 2;
90pub const VTE_PROPERTY_UINT: VtePropertyType = 3;
91pub const VTE_PROPERTY_DOUBLE: VtePropertyType = 4;
92pub const VTE_PROPERTY_RGB: VtePropertyType = 5;
93pub const VTE_PROPERTY_RGBA: VtePropertyType = 6;
94pub const VTE_PROPERTY_STRING: VtePropertyType = 7;
95pub const VTE_PROPERTY_DATA: VtePropertyType = 8;
96pub const VTE_PROPERTY_UUID: VtePropertyType = 9;
97pub const VTE_PROPERTY_URI: VtePropertyType = 10;
98pub const VTE_PROPERTY_IMAGE: VtePropertyType = 11;
99
100pub type VtePtyError = c_int;
101pub const VTE_PTY_ERROR_PTY_HELPER_FAILED: VtePtyError = 0;
102pub const VTE_PTY_ERROR_PTY98_FAILED: VtePtyError = 1;
103
104pub type VteRegexError = c_int;
105pub const VTE_REGEX_ERROR_INCOMPATIBLE: VteRegexError = 2147483646;
106pub const VTE_REGEX_ERROR_NOT_SUPPORTED: VteRegexError = 2147483647;
107
108pub type VteSystemdContextExitCondition = c_int;
109pub const VTE_SYSTEMD_CONTEXT_EXIT_CONDITION_SUCCESS: VteSystemdContextExitCondition = 0;
110pub const VTE_SYSTEMD_CONTEXT_EXIT_CONDITION_CRASH: VteSystemdContextExitCondition = 1;
111pub const VTE_SYSTEMD_CONTEXT_EXIT_CONDITION_FAILURE: VteSystemdContextExitCondition = 2;
112pub const VTE_SYSTEMD_CONTEXT_EXIT_CONDITION_INTERRUPT: VteSystemdContextExitCondition = 3;
113
114pub type VteSystemdContextOperation = c_int;
115pub const VTE_SYSTEMD_CONTEXT_OPERATION_START: VteSystemdContextOperation = 1;
116pub const VTE_SYSTEMD_CONTEXT_OPERATION_END: VteSystemdContextOperation = 2;
117
118pub type VteSystemdContextType = c_int;
119pub const VTE_SYSTEMD_CONTEXT_TYPE_BUILTIN: VteSystemdContextType = 0;
120pub const VTE_SYSTEMD_CONTEXT_TYPE_APP: VteSystemdContextType = 1;
121pub const VTE_SYSTEMD_CONTEXT_TYPE_BOOT: VteSystemdContextType = 2;
122pub const VTE_SYSTEMD_CONTEXT_TYPE_CHPRIV: VteSystemdContextType = 3;
123pub const VTE_SYSTEMD_CONTEXT_TYPE_COMMAND: VteSystemdContextType = 4;
124pub const VTE_SYSTEMD_CONTEXT_TYPE_CONTAINER: VteSystemdContextType = 5;
125pub const VTE_SYSTEMD_CONTEXT_TYPE_ELEVATE: VteSystemdContextType = 6;
126pub const VTE_SYSTEMD_CONTEXT_TYPE_REMOTE: VteSystemdContextType = 7;
127pub const VTE_SYSTEMD_CONTEXT_TYPE_SERVICE: VteSystemdContextType = 8;
128pub const VTE_SYSTEMD_CONTEXT_TYPE_SESSION: VteSystemdContextType = 9;
129pub const VTE_SYSTEMD_CONTEXT_TYPE_SHELL: VteSystemdContextType = 10;
130pub const VTE_SYSTEMD_CONTEXT_TYPE_SUBCONTEXT: VteSystemdContextType = 11;
131pub const VTE_SYSTEMD_CONTEXT_TYPE_VM: VteSystemdContextType = 12;
132
133pub type VteSystemdPropertyId = c_int;
134pub const VTE_SYSTEMD_PROPERTY_ID_CONTEXT_ID: VteSystemdPropertyId = 0;
135pub const VTE_SYSTEMD_PROPERTY_ID_BOOT_ID: VteSystemdPropertyId = 1;
136pub const VTE_SYSTEMD_PROPERTY_ID_COMM: VteSystemdPropertyId = 2;
137pub const VTE_SYSTEMD_PROPERTY_ID_COMMAND_LINE: VteSystemdPropertyId = 3;
138pub const VTE_SYSTEMD_PROPERTY_ID_CONTAINER: VteSystemdPropertyId = 4;
139pub const VTE_SYSTEMD_PROPERTY_ID_CONTEXT_TYPE: VteSystemdPropertyId = 5;
140pub const VTE_SYSTEMD_PROPERTY_ID_CURRENT_DIRECTORY: VteSystemdPropertyId = 6;
141pub const VTE_SYSTEMD_PROPERTY_ID_EXIT_CONDITION: VteSystemdPropertyId = 7;
142pub const VTE_SYSTEMD_PROPERTY_ID_EXIT_SIGNAL: VteSystemdPropertyId = 8;
143pub const VTE_SYSTEMD_PROPERTY_ID_EXIT_STATUS: VteSystemdPropertyId = 9;
144pub const VTE_SYSTEMD_PROPERTY_ID_HOSTNAME: VteSystemdPropertyId = 10;
145pub const VTE_SYSTEMD_PROPERTY_ID_MACHINE_ID: VteSystemdPropertyId = 11;
146pub const VTE_SYSTEMD_PROPERTY_ID_PID: VteSystemdPropertyId = 12;
147pub const VTE_SYSTEMD_PROPERTY_ID_PIDFD_INODE: VteSystemdPropertyId = 13;
148pub const VTE_SYSTEMD_PROPERTY_ID_TARGET_HOST: VteSystemdPropertyId = 14;
149pub const VTE_SYSTEMD_PROPERTY_ID_TARGET_USER: VteSystemdPropertyId = 15;
150pub const VTE_SYSTEMD_PROPERTY_ID_USER: VteSystemdPropertyId = 16;
151pub const VTE_SYSTEMD_PROPERTY_ID_VM: VteSystemdPropertyId = 17;
152
153pub type VteTextBlinkMode = c_int;
154pub const VTE_TEXT_BLINK_NEVER: VteTextBlinkMode = 0;
155pub const VTE_TEXT_BLINK_FOCUSED: VteTextBlinkMode = 1;
156pub const VTE_TEXT_BLINK_UNFOCUSED: VteTextBlinkMode = 2;
157pub const VTE_TEXT_BLINK_ALWAYS: VteTextBlinkMode = 3;
158
159pub type VteWriteFlags = c_int;
160pub const VTE_WRITE_DEFAULT: VteWriteFlags = 0;
161
162// Constants
163pub const VTE_MAJOR_VERSION: c_int = 0;
164pub const VTE_MICRO_VERSION: c_int = 0;
165pub const VTE_MINOR_VERSION: c_int = 85;
166pub const VTE_REGEX_FLAGS_DEFAULT: c_int = 1075314688;
167pub const VTE_SPAWN_NO_PARENT_ENVV: c_int = 33554432;
168pub const VTE_SPAWN_NO_SYSTEMD_SCOPE: c_int = 67108864;
169pub const VTE_SPAWN_REQUIRE_SYSTEMD_SCOPE: c_int = 134217728;
170pub const VTE_SYSTEMD_PROPERTY_BOOT_ID: &[u8] = b"bootid\0";
171pub const VTE_SYSTEMD_PROPERTY_COMM: &[u8] = b"comm\0";
172pub const VTE_SYSTEMD_PROPERTY_COMMAND_LINE: &[u8] = b"cmdline\0";
173pub const VTE_SYSTEMD_PROPERTY_CONTAINER: &[u8] = b"container\0";
174pub const VTE_SYSTEMD_PROPERTY_CONTEXT_ID: &[u8] = b"context-id\0";
175pub const VTE_SYSTEMD_PROPERTY_CONTEXT_TYPE: &[u8] = b"type\0";
176pub const VTE_SYSTEMD_PROPERTY_CURRENT_DIRECTORY: &[u8] = b"cwd\0";
177pub const VTE_SYSTEMD_PROPERTY_EXIT_CONDITION: &[u8] = b"exit\0";
178pub const VTE_SYSTEMD_PROPERTY_EXIT_SIGNAL: &[u8] = b"signal\0";
179pub const VTE_SYSTEMD_PROPERTY_EXIT_STATUS: &[u8] = b"status\0";
180pub const VTE_SYSTEMD_PROPERTY_HOSTNAME: &[u8] = b"hostname\0";
181pub const VTE_SYSTEMD_PROPERTY_MACHINE_ID: &[u8] = b"machineid\0";
182pub const VTE_SYSTEMD_PROPERTY_PID: &[u8] = b"pid\0";
183pub const VTE_SYSTEMD_PROPERTY_PIDFD_INODE: &[u8] = b"pidfdid\0";
184pub const VTE_SYSTEMD_PROPERTY_TARGET_HOST: &[u8] = b"targethost\0";
185pub const VTE_SYSTEMD_PROPERTY_TARGET_USER: &[u8] = b"targetuser\0";
186pub const VTE_SYSTEMD_PROPERTY_USER: &[u8] = b"user\0";
187pub const VTE_SYSTEMD_PROPERTY_VM: &[u8] = b"vm\0";
188pub const VTE_TERMPROP_CONTAINER_NAME: &[u8] = b"vte.container.name\0";
189pub const VTE_TERMPROP_CONTAINER_RUNTIME: &[u8] = b"vte.container.runtime\0";
190pub const VTE_TERMPROP_CONTAINER_UID: &[u8] = b"vte.container.uid\0";
191pub const VTE_TERMPROP_CURRENT_DIRECTORY_URI: &[u8] = b"vte.cwd\0";
192pub const VTE_TERMPROP_CURRENT_FILE_URI: &[u8] = b"vte.cwf\0";
193pub const VTE_TERMPROP_ICON_COLOR: &[u8] = b"vte.icon.color\0";
194pub const VTE_TERMPROP_ICON_IMAGE: &[u8] = b"vte.icon.image\0";
195pub const VTE_TERMPROP_NAME_PREFIX: &[u8] = b"vte.ext.\0";
196pub const VTE_TERMPROP_PROGRESS_HINT: &[u8] = b"vte.progress.hint\0";
197pub const VTE_TERMPROP_PROGRESS_VALUE: &[u8] = b"vte.progress.value\0";
198pub const VTE_TERMPROP_SHELL_POSTEXEC: &[u8] = b"vte.shell.postexec\0";
199pub const VTE_TERMPROP_SHELL_PRECMD: &[u8] = b"vte.shell.precmd\0";
200pub const VTE_TERMPROP_SHELL_PREEXEC: &[u8] = b"vte.shell.preexec\0";
201pub const VTE_TERMPROP_XTERM_TITLE: &[u8] = b"xterm.title\0";
202pub const VTE_TEST_FLAGS_ALL: u64 = 18446744073709551615;
203pub const VTE_TEST_FLAGS_NONE: u64 = 0;
204
205// Flags
206pub type VteFeatureFlags = c_uint;
207pub const VTE_FEATURE_FLAG_BIDI: VteFeatureFlags = 1;
208pub const VTE_FEATURE_FLAG_ICU: VteFeatureFlags = 2;
209pub const VTE_FEATURE_FLAG_SYSTEMD: VteFeatureFlags = 4;
210pub const VTE_FEATURE_FLAG_SIXEL: VteFeatureFlags = 8;
211pub const VTE_FEATURE_FLAGS_MASK: VteFeatureFlags = 4294967295;
212
213pub type VtePropertyFlags = c_uint;
214pub const VTE_PROPERTY_FLAG_NONE: VtePropertyFlags = 0;
215pub const VTE_PROPERTY_FLAG_EPHEMERAL: VtePropertyFlags = 1;
216
217pub type VtePtyFlags = c_uint;
218pub const VTE_PTY_NO_LASTLOG: VtePtyFlags = 1;
219pub const VTE_PTY_NO_UTMP: VtePtyFlags = 2;
220pub const VTE_PTY_NO_WTMP: VtePtyFlags = 4;
221pub const VTE_PTY_NO_HELPER: VtePtyFlags = 8;
222pub const VTE_PTY_NO_FALLBACK: VtePtyFlags = 16;
223pub const VTE_PTY_NO_SESSION: VtePtyFlags = 32;
224pub const VTE_PTY_NO_CTTY: VtePtyFlags = 64;
225pub const VTE_PTY_DEFAULT: VtePtyFlags = 0;
226
227pub type VteUuidFormat = c_uint;
228pub const VTE_UUID_FORMAT_SIMPLE: VteUuidFormat = 1;
229pub const VTE_UUID_FORMAT_BRACED: VteUuidFormat = 2;
230pub const VTE_UUID_FORMAT_URN: VteUuidFormat = 4;
231pub const VTE_UUID_FORMAT_ANY: VteUuidFormat = 7;
232pub const VTE_UUID_FORMAT_ID128: VteUuidFormat = 8;
233pub const VTE_UUID_FORMAT_ANY_ID128: VteUuidFormat = 15;
234
235// Callbacks
236pub type VteSelectionFunc =
237    Option<unsafe extern "C" fn(*mut VteTerminal, c_long, c_long, gpointer) -> gboolean>;
238pub type VteTerminalSpawnAsyncCallback =
239    Option<unsafe extern "C" fn(*mut VteTerminal, glib::GPid, *mut glib::GError, gpointer)>;
240
241// Records
242#[repr(C)]
243#[allow(dead_code)]
244pub struct VteCharAttributes {
245    pub row: c_long,
246    pub column: c_long,
247    pub fore: pango::PangoColor,
248    pub back: pango::PangoColor,
249    pub underline: c_uint,
250    _truncated_record_marker: c_void,
251    // field strikethrough has incomplete type
252}
253
254impl ::std::fmt::Debug for VteCharAttributes {
255    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
256        f.debug_struct(&format!("VteCharAttributes @ {self:p}"))
257            .finish()
258    }
259}
260
261#[repr(C)]
262#[allow(dead_code)]
263pub struct _VteEventContext {
264    _data: [u8; 0],
265    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
266}
267
268pub type VteEventContext = _VteEventContext;
269
270#[repr(C)]
271#[allow(dead_code)]
272pub struct _VteProperties {
273    _data: [u8; 0],
274    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
275}
276
277pub type VteProperties = _VteProperties;
278
279#[repr(C)]
280#[allow(dead_code)]
281pub struct _VtePropertiesRegistry {
282    _data: [u8; 0],
283    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
284}
285
286pub type VtePropertiesRegistry = _VtePropertiesRegistry;
287
288#[repr(C)]
289#[allow(dead_code)]
290pub struct _VtePtyClass {
291    _data: [u8; 0],
292    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
293}
294
295pub type VtePtyClass = _VtePtyClass;
296
297#[repr(C)]
298#[allow(dead_code)]
299pub struct VteRegex {
300    _data: [u8; 0],
301    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
302}
303
304impl ::std::fmt::Debug for VteRegex {
305    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
306        f.debug_struct(&format!("VteRegex @ {self:p}")).finish()
307    }
308}
309
310#[derive(Copy, Clone)]
311#[repr(C)]
312pub struct VteTerminalClass {
313    pub parent_class: gtk::GtkWidgetClass,
314    pub eof: Option<unsafe extern "C" fn(*mut VteTerminal)>,
315    pub child_exited: Option<unsafe extern "C" fn(*mut VteTerminal, c_int)>,
316    pub encoding_changed: Option<unsafe extern "C" fn(*mut VteTerminal)>,
317    pub char_size_changed: Option<unsafe extern "C" fn(*mut VteTerminal, c_uint, c_uint)>,
318    pub window_title_changed: Option<unsafe extern "C" fn(*mut VteTerminal)>,
319    pub icon_title_changed: Option<unsafe extern "C" fn(*mut VteTerminal)>,
320    pub selection_changed: Option<unsafe extern "C" fn(*mut VteTerminal)>,
321    pub contents_changed: Option<unsafe extern "C" fn(*mut VteTerminal)>,
322    pub cursor_moved: Option<unsafe extern "C" fn(*mut VteTerminal)>,
323    pub commit: Option<unsafe extern "C" fn(*mut VteTerminal, *const c_char, c_uint)>,
324    pub deiconify_window: Option<unsafe extern "C" fn(*mut VteTerminal)>,
325    pub iconify_window: Option<unsafe extern "C" fn(*mut VteTerminal)>,
326    pub raise_window: Option<unsafe extern "C" fn(*mut VteTerminal)>,
327    pub lower_window: Option<unsafe extern "C" fn(*mut VteTerminal)>,
328    pub refresh_window: Option<unsafe extern "C" fn(*mut VteTerminal)>,
329    pub restore_window: Option<unsafe extern "C" fn(*mut VteTerminal)>,
330    pub maximize_window: Option<unsafe extern "C" fn(*mut VteTerminal)>,
331    pub resize_window: Option<unsafe extern "C" fn(*mut VteTerminal, c_uint, c_uint)>,
332    pub move_window: Option<unsafe extern "C" fn(*mut VteTerminal, c_uint, c_uint)>,
333    pub increase_font_size: Option<unsafe extern "C" fn(*mut VteTerminal)>,
334    pub decrease_font_size: Option<unsafe extern "C" fn(*mut VteTerminal)>,
335    pub text_modified: Option<unsafe extern "C" fn(*mut VteTerminal)>,
336    pub text_inserted: Option<unsafe extern "C" fn(*mut VteTerminal)>,
337    pub text_deleted: Option<unsafe extern "C" fn(*mut VteTerminal)>,
338    pub text_scrolled: Option<unsafe extern "C" fn(*mut VteTerminal, c_int)>,
339    pub copy_clipboard: Option<unsafe extern "C" fn(*mut VteTerminal)>,
340    pub paste_clipboard: Option<unsafe extern "C" fn(*mut VteTerminal)>,
341    pub bell: Option<unsafe extern "C" fn(*mut VteTerminal)>,
342    pub _extra_padding: [gpointer; 3],
343    pub setup_context_menu: Option<unsafe extern "C" fn(*mut VteTerminal, *const VteEventContext)>,
344    pub termprops_changed:
345        Option<unsafe extern "C" fn(*mut VteTerminal, *const c_int, c_int) -> gboolean>,
346    pub termprop_changed: Option<unsafe extern "C" fn(*mut VteTerminal, *const c_char)>,
347    pub systemd_context: Option<
348        unsafe extern "C" fn(*mut VteTerminal, VteSystemdContextOperation, *const VteProperties),
349    >,
350    pub _padding: [gpointer; 9],
351    pub priv_: *mut VteTerminalClassPrivate,
352}
353
354impl ::std::fmt::Debug for VteTerminalClass {
355    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
356        f.debug_struct(&format!("VteTerminalClass @ {self:p}"))
357            .field("parent_class", &self.parent_class)
358            .field("eof", &self.eof)
359            .field("child_exited", &self.child_exited)
360            .field("encoding_changed", &self.encoding_changed)
361            .field("char_size_changed", &self.char_size_changed)
362            .field("window_title_changed", &self.window_title_changed)
363            .field("icon_title_changed", &self.icon_title_changed)
364            .field("selection_changed", &self.selection_changed)
365            .field("contents_changed", &self.contents_changed)
366            .field("cursor_moved", &self.cursor_moved)
367            .field("commit", &self.commit)
368            .field("deiconify_window", &self.deiconify_window)
369            .field("iconify_window", &self.iconify_window)
370            .field("raise_window", &self.raise_window)
371            .field("lower_window", &self.lower_window)
372            .field("refresh_window", &self.refresh_window)
373            .field("restore_window", &self.restore_window)
374            .field("maximize_window", &self.maximize_window)
375            .field("resize_window", &self.resize_window)
376            .field("move_window", &self.move_window)
377            .field("increase_font_size", &self.increase_font_size)
378            .field("decrease_font_size", &self.decrease_font_size)
379            .field("text_modified", &self.text_modified)
380            .field("text_inserted", &self.text_inserted)
381            .field("text_deleted", &self.text_deleted)
382            .field("text_scrolled", &self.text_scrolled)
383            .field("copy_clipboard", &self.copy_clipboard)
384            .field("paste_clipboard", &self.paste_clipboard)
385            .field("bell", &self.bell)
386            .field("setup_context_menu", &self.setup_context_menu)
387            .field("termprops_changed", &self.termprops_changed)
388            .field("termprop_changed", &self.termprop_changed)
389            .field("systemd_context", &self.systemd_context)
390            .finish()
391    }
392}
393
394#[repr(C)]
395#[allow(dead_code)]
396pub struct _VteTerminalClassPrivate {
397    _data: [u8; 0],
398    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
399}
400
401pub type VteTerminalClassPrivate = _VteTerminalClassPrivate;
402
403#[repr(C)]
404#[allow(dead_code)]
405pub struct VteUuid {
406    _data: [u8; 0],
407    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
408}
409
410impl ::std::fmt::Debug for VteUuid {
411    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
412        f.debug_struct(&format!("VteUuid @ {self:p}")).finish()
413    }
414}
415
416// Classes
417#[repr(C)]
418#[allow(dead_code)]
419pub struct VtePty {
420    _data: [u8; 0],
421    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
422}
423
424impl ::std::fmt::Debug for VtePty {
425    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
426        f.debug_struct(&format!("VtePty @ {self:p}")).finish()
427    }
428}
429
430#[derive(Copy, Clone)]
431#[repr(C)]
432pub struct VteTerminal {
433    pub widget: gtk::GtkWidget,
434    pub _unused_padding: [*mut gpointer; 1],
435}
436
437impl ::std::fmt::Debug for VteTerminal {
438    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
439        f.debug_struct(&format!("VteTerminal @ {self:p}"))
440            .field("widget", &self.widget)
441            .finish()
442    }
443}
444
445unsafe extern "C" {
446
447    //=========================================================================
448    // VteAlign
449    //=========================================================================
450    pub fn vte_align_get_type() -> GType;
451
452    //=========================================================================
453    // VteCursorBlinkMode
454    //=========================================================================
455    pub fn vte_cursor_blink_mode_get_type() -> GType;
456
457    //=========================================================================
458    // VteCursorShape
459    //=========================================================================
460    pub fn vte_cursor_shape_get_type() -> GType;
461
462    //=========================================================================
463    // VteEraseBinding
464    //=========================================================================
465    pub fn vte_erase_binding_get_type() -> GType;
466
467    //=========================================================================
468    // VteFormat
469    //=========================================================================
470    pub fn vte_format_get_type() -> GType;
471
472    //=========================================================================
473    // VteProgressHint
474    //=========================================================================
475    pub fn vte_progress_hint_get_type() -> GType;
476
477    //=========================================================================
478    // VtePropertyId
479    //=========================================================================
480    pub fn vte_property_id_get_type() -> GType;
481
482    //=========================================================================
483    // VtePropertyType
484    //=========================================================================
485    pub fn vte_property_type_get_type() -> GType;
486
487    //=========================================================================
488    // VtePtyError
489    //=========================================================================
490    pub fn vte_pty_error_get_type() -> GType;
491    pub fn vte_pty_error_quark() -> glib::GQuark;
492
493    //=========================================================================
494    // VteRegexError
495    //=========================================================================
496    pub fn vte_regex_error_get_type() -> GType;
497    pub fn vte_regex_error_quark() -> glib::GQuark;
498
499    //=========================================================================
500    // VteSystemdContextExitCondition
501    //=========================================================================
502    pub fn vte_systemd_context_exit_condition_get_type() -> GType;
503
504    //=========================================================================
505    // VteSystemdContextOperation
506    //=========================================================================
507    pub fn vte_systemd_context_operation_get_type() -> GType;
508
509    //=========================================================================
510    // VteSystemdContextType
511    //=========================================================================
512    pub fn vte_systemd_context_type_get_type() -> GType;
513
514    //=========================================================================
515    // VteSystemdPropertyId
516    //=========================================================================
517    pub fn vte_systemd_property_id_get_type() -> GType;
518
519    //=========================================================================
520    // VteTextBlinkMode
521    //=========================================================================
522    pub fn vte_text_blink_mode_get_type() -> GType;
523
524    //=========================================================================
525    // VteWriteFlags
526    //=========================================================================
527    pub fn vte_write_flags_get_type() -> GType;
528
529    //=========================================================================
530    // VtePropertyFlags
531    //=========================================================================
532    pub fn vte_property_flags_get_type() -> GType;
533
534    //=========================================================================
535    // VtePtyFlags
536    //=========================================================================
537    pub fn vte_pty_flags_get_type() -> GType;
538
539    //=========================================================================
540    // VteUuidFormat
541    //=========================================================================
542    pub fn vte_uuid_format_get_type() -> GType;
543
544    //=========================================================================
545    // VteEventContext
546    //=========================================================================
547    pub fn vte_event_context_get_type() -> GType;
548    pub fn vte_event_context_get_event(context: *const VteEventContext) -> *mut gdk::GdkEvent;
549
550    //=========================================================================
551    // VteProperties
552    //=========================================================================
553    pub fn vte_properties_dup_property_string(
554        properties: *const VteProperties,
555        prop: *const c_char,
556        size: *mut size_t,
557    ) -> *mut c_char;
558    pub fn vte_properties_dup_property_string_by_id(
559        properties: *const VteProperties,
560        prop: c_int,
561        size: *mut size_t,
562    ) -> *mut c_char;
563    pub fn vte_properties_dup_property_uuid(
564        properties: *const VteProperties,
565        prop: *const c_char,
566    ) -> *mut VteUuid;
567    pub fn vte_properties_dup_property_uuid_by_id(
568        properties: *const VteProperties,
569        prop: c_int,
570    ) -> *mut VteUuid;
571    pub fn vte_properties_get_property_bool(
572        properties: *const VteProperties,
573        prop: *const c_char,
574        valuep: *mut gboolean,
575    ) -> gboolean;
576    pub fn vte_properties_get_property_bool_by_id(
577        properties: *const VteProperties,
578        prop: c_int,
579        valuep: *mut gboolean,
580    ) -> gboolean;
581    pub fn vte_properties_get_property_data(
582        properties: *const VteProperties,
583        prop: *const c_char,
584        size: *mut size_t,
585    ) -> *const u8;
586    pub fn vte_properties_get_property_data_by_id(
587        properties: *const VteProperties,
588        prop: c_int,
589        size: *mut size_t,
590    ) -> *const u8;
591    pub fn vte_properties_get_property_double(
592        properties: *const VteProperties,
593        prop: *const c_char,
594        valuep: *mut c_double,
595    ) -> gboolean;
596    pub fn vte_properties_get_property_double_by_id(
597        properties: *const VteProperties,
598        prop: c_int,
599        valuep: *mut c_double,
600    ) -> gboolean;
601    pub fn vte_properties_get_property_enum(
602        properties: *const VteProperties,
603        prop: *const c_char,
604        gtype: GType,
605        valuep: *mut i64,
606    ) -> gboolean;
607    pub fn vte_properties_get_property_enum_by_id(
608        properties: *const VteProperties,
609        prop: c_int,
610        gtype: GType,
611        valuep: *mut i64,
612    ) -> gboolean;
613    pub fn vte_properties_get_property_flags(
614        properties: *const VteProperties,
615        prop: *const c_char,
616        gtype: GType,
617        ignore_unknown_flags: gboolean,
618        valuep: *mut u64,
619    ) -> gboolean;
620    pub fn vte_properties_get_property_flags_by_id(
621        properties: *const VteProperties,
622        prop: c_int,
623        gtype: GType,
624        ignore_unknown_flags: gboolean,
625        valuep: *mut u64,
626    ) -> gboolean;
627    pub fn vte_properties_get_property_int(
628        properties: *const VteProperties,
629        prop: *const c_char,
630        valuep: *mut i64,
631    ) -> gboolean;
632    pub fn vte_properties_get_property_int_by_id(
633        properties: *const VteProperties,
634        prop: c_int,
635        valuep: *mut i64,
636    ) -> gboolean;
637    pub fn vte_properties_get_property_rgba(
638        properties: *const VteProperties,
639        prop: *const c_char,
640        color: *mut gdk::GdkRGBA,
641    ) -> gboolean;
642    pub fn vte_properties_get_property_rgba_by_id(
643        properties: *const VteProperties,
644        prop: c_int,
645        color: *mut gdk::GdkRGBA,
646    ) -> gboolean;
647    pub fn vte_properties_get_property_string(
648        properties: *const VteProperties,
649        prop: *const c_char,
650        size: *mut size_t,
651    ) -> *const c_char;
652    pub fn vte_properties_get_property_string_by_id(
653        properties: *const VteProperties,
654        prop: c_int,
655        size: *mut size_t,
656    ) -> *const c_char;
657    pub fn vte_properties_get_property_uint(
658        properties: *const VteProperties,
659        prop: *const c_char,
660        valuep: *mut u64,
661    ) -> gboolean;
662    pub fn vte_properties_get_property_uint_by_id(
663        properties: *const VteProperties,
664        prop: c_int,
665        valuep: *mut u64,
666    ) -> gboolean;
667    pub fn vte_properties_get_property_value(
668        properties: *const VteProperties,
669        prop: *const c_char,
670        gvalue: *mut gobject::GValue,
671    ) -> gboolean;
672    pub fn vte_properties_get_property_value_by_id(
673        properties: *const VteProperties,
674        prop: c_int,
675        gvalue: *mut gobject::GValue,
676    ) -> gboolean;
677    pub fn vte_properties_get_registry(
678        properties: *const VteProperties,
679    ) -> *const VtePropertiesRegistry;
680    pub fn vte_properties_ref_property_data_bytes(
681        properties: *const VteProperties,
682        prop: *const c_char,
683    ) -> *mut glib::GBytes;
684    pub fn vte_properties_ref_property_data_bytes_by_id(
685        properties: *const VteProperties,
686        prop: c_int,
687    ) -> *mut glib::GBytes;
688    pub fn vte_properties_ref_property_image_pixbuf(
689        properties: *const VteProperties,
690        prop: *const c_char,
691    ) -> *mut gdk_pixbuf::GdkPixbuf;
692    pub fn vte_properties_ref_property_image_pixbuf_by_id(
693        properties: *const VteProperties,
694        prop: c_int,
695    ) -> *mut gdk_pixbuf::GdkPixbuf;
696    pub fn vte_properties_ref_property_image_surface(
697        properties: *const VteProperties,
698        prop: *const c_char,
699    ) -> *mut cairo::cairo_surface_t;
700    pub fn vte_properties_ref_property_image_surface_by_id(
701        properties: *const VteProperties,
702        prop: c_int,
703    ) -> *mut cairo::cairo_surface_t;
704    pub fn vte_properties_ref_property_uri(
705        properties: *const VteProperties,
706        prop: *const c_char,
707    ) -> *mut glib::GUri;
708    pub fn vte_properties_ref_property_uri_by_id(
709        properties: *const VteProperties,
710        prop: c_int,
711    ) -> *mut glib::GUri;
712    pub fn vte_properties_ref_property_variant(
713        properties: *const VteProperties,
714        prop: *const c_char,
715    ) -> *mut glib::GVariant;
716    pub fn vte_properties_ref_property_variant_by_id(
717        properties: *const VteProperties,
718        prop: c_int,
719    ) -> *mut glib::GVariant;
720
721    //=========================================================================
722    // VtePropertiesRegistry
723    //=========================================================================
724    pub fn vte_properties_registry_get_type() -> GType;
725    pub fn vte_properties_registry_get_properties(
726        registry: *const VtePropertiesRegistry,
727        length: *mut size_t,
728    ) -> *mut *const c_char;
729    pub fn vte_properties_registry_query(
730        registry: *const VtePropertiesRegistry,
731        name: *const c_char,
732        resolved_name: *mut *const c_char,
733        prop: *mut c_int,
734        type_: *mut VtePropertyType,
735        flags: *mut VtePropertyFlags,
736    ) -> gboolean;
737    pub fn vte_properties_registry_query_by_id(
738        registry: *const VtePropertiesRegistry,
739        prop: c_int,
740        name: *mut *const c_char,
741        type_: *mut VtePropertyType,
742        flags: *mut VtePropertyFlags,
743    ) -> gboolean;
744
745    //=========================================================================
746    // VteRegex
747    //=========================================================================
748    pub fn vte_regex_get_type() -> GType;
749    pub fn vte_regex_new_for_match(
750        pattern: *const c_char,
751        pattern_length: ssize_t,
752        flags: u32,
753        error: *mut *mut glib::GError,
754    ) -> *mut VteRegex;
755    pub fn vte_regex_new_for_match_full(
756        pattern: *const c_char,
757        pattern_length: ssize_t,
758        flags: u32,
759        extra_flags: u32,
760        error_offset: *mut size_t,
761        error: *mut *mut glib::GError,
762    ) -> *mut VteRegex;
763    pub fn vte_regex_new_for_search(
764        pattern: *const c_char,
765        pattern_length: ssize_t,
766        flags: u32,
767        error: *mut *mut glib::GError,
768    ) -> *mut VteRegex;
769    pub fn vte_regex_new_for_search_full(
770        pattern: *const c_char,
771        pattern_length: ssize_t,
772        flags: u32,
773        extra_flags: u32,
774        error_offset: *mut size_t,
775        error: *mut *mut glib::GError,
776    ) -> *mut VteRegex;
777    pub fn vte_regex_jit(
778        regex: *mut VteRegex,
779        flags: u32,
780        error: *mut *mut glib::GError,
781    ) -> gboolean;
782    pub fn vte_regex_ref(regex: *mut VteRegex) -> *mut VteRegex;
783    pub fn vte_regex_substitute(
784        regex: *mut VteRegex,
785        subject: *const c_char,
786        replacement: *const c_char,
787        flags: u32,
788        error: *mut *mut glib::GError,
789    ) -> *mut c_char;
790    pub fn vte_regex_unref(regex: *mut VteRegex) -> *mut VteRegex;
791
792    //=========================================================================
793    // VteUuid
794    //=========================================================================
795    pub fn vte_uuid_get_type() -> GType;
796    pub fn vte_uuid_new_from_string(
797        str: *const c_char,
798        len: ssize_t,
799        fmt: VteUuidFormat,
800    ) -> *mut VteUuid;
801    pub fn vte_uuid_new_v4() -> *mut VteUuid;
802    pub fn vte_uuid_dup(uuid: *const VteUuid) -> *mut VteUuid;
803    pub fn vte_uuid_equal(uuid: *const VteUuid, other: *const VteUuid) -> gboolean;
804    pub fn vte_uuid_free(uuid: *mut VteUuid);
805    pub fn vte_uuid_free_to_string(
806        uuid: *mut VteUuid,
807        fmt: VteUuidFormat,
808        len: *mut size_t,
809    ) -> *mut c_char;
810    pub fn vte_uuid_new_v5(ns: *const VteUuid, data: *const c_char, len: ssize_t) -> *mut VteUuid;
811    pub fn vte_uuid_to_string(
812        uuid: *const VteUuid,
813        fmt: VteUuidFormat,
814        len: *mut size_t,
815    ) -> *mut c_char;
816    pub fn vte_uuid_validate_string(
817        str: *const c_char,
818        len: ssize_t,
819        fmt: VteUuidFormat,
820    ) -> gboolean;
821
822    //=========================================================================
823    // VtePty
824    //=========================================================================
825    pub fn vte_pty_get_type() -> GType;
826    pub fn vte_pty_new_foreign_sync(
827        fd: c_int,
828        cancellable: *mut gio::GCancellable,
829        error: *mut *mut glib::GError,
830    ) -> *mut VtePty;
831    pub fn vte_pty_new_sync(
832        flags: VtePtyFlags,
833        cancellable: *mut gio::GCancellable,
834        error: *mut *mut glib::GError,
835    ) -> *mut VtePty;
836    pub fn vte_pty_child_setup(pty: *mut VtePty);
837    pub fn vte_pty_close(pty: *mut VtePty);
838    pub fn vte_pty_get_fd(pty: *mut VtePty) -> c_int;
839    pub fn vte_pty_get_size(
840        pty: *mut VtePty,
841        rows: *mut c_int,
842        columns: *mut c_int,
843        error: *mut *mut glib::GError,
844    ) -> gboolean;
845    pub fn vte_pty_set_size(
846        pty: *mut VtePty,
847        rows: c_int,
848        columns: c_int,
849        error: *mut *mut glib::GError,
850    ) -> gboolean;
851    pub fn vte_pty_set_utf8(
852        pty: *mut VtePty,
853        utf8: gboolean,
854        error: *mut *mut glib::GError,
855    ) -> gboolean;
856    pub fn vte_pty_spawn_async(
857        pty: *mut VtePty,
858        working_directory: *const c_char,
859        argv: *mut *mut c_char,
860        envv: *mut *mut c_char,
861        spawn_flags: glib::GSpawnFlags,
862        child_setup: glib::GSpawnChildSetupFunc,
863        child_setup_data: gpointer,
864        child_setup_data_destroy: glib::GDestroyNotify,
865        timeout: c_int,
866        cancellable: *mut gio::GCancellable,
867        callback: gio::GAsyncReadyCallback,
868        user_data: gpointer,
869    );
870    pub fn vte_pty_spawn_finish(
871        pty: *mut VtePty,
872        result: *mut gio::GAsyncResult,
873        child_pid: *mut glib::GPid,
874        error: *mut *mut glib::GError,
875    ) -> gboolean;
876    pub fn vte_pty_spawn_with_fds_async(
877        pty: *mut VtePty,
878        working_directory: *const c_char,
879        argv: *const *const c_char,
880        envv: *const *const c_char,
881        fds: *const c_int,
882        n_fds: c_int,
883        map_fds: *const c_int,
884        n_map_fds: c_int,
885        spawn_flags: glib::GSpawnFlags,
886        child_setup: glib::GSpawnChildSetupFunc,
887        child_setup_data: gpointer,
888        child_setup_data_destroy: glib::GDestroyNotify,
889        timeout: c_int,
890        cancellable: *mut gio::GCancellable,
891        callback: gio::GAsyncReadyCallback,
892        user_data: gpointer,
893    );
894
895    //=========================================================================
896    // VteTerminal
897    //=========================================================================
898    pub fn vte_terminal_get_type() -> GType;
899    pub fn vte_terminal_new() -> *mut VteTerminal;
900    pub fn vte_terminal_copy_clipboard(terminal: *mut VteTerminal);
901    pub fn vte_terminal_copy_clipboard_format(terminal: *mut VteTerminal, format: VteFormat);
902    pub fn vte_terminal_copy_primary(terminal: *mut VteTerminal);
903    pub fn vte_terminal_dup_termprop_string(
904        terminal: *mut VteTerminal,
905        prop: *const c_char,
906        size: *mut size_t,
907    ) -> *mut c_char;
908    pub fn vte_terminal_dup_termprop_string_by_id(
909        terminal: *mut VteTerminal,
910        prop: c_int,
911        size: *mut size_t,
912    ) -> *mut c_char;
913    pub fn vte_terminal_dup_termprop_uuid(
914        terminal: *mut VteTerminal,
915        prop: *const c_char,
916    ) -> *mut VteUuid;
917    pub fn vte_terminal_dup_termprop_uuid_by_id(
918        terminal: *mut VteTerminal,
919        prop: c_int,
920    ) -> *mut VteUuid;
921    pub fn vte_terminal_event_check_gregex_simple(
922        terminal: *mut VteTerminal,
923        event: *mut gdk::GdkEvent,
924        regexes: *mut *mut glib::GRegex,
925        n_regexes: size_t,
926        match_flags: glib::GRegexMatchFlags,
927        matches: *mut *mut c_char,
928    ) -> gboolean;
929    pub fn vte_terminal_event_check_regex_array(
930        terminal: *mut VteTerminal,
931        event: *mut gdk::GdkEvent,
932        regexes: *mut *mut VteRegex,
933        n_regexes: size_t,
934        match_flags: u32,
935        n_matches: *mut size_t,
936    ) -> *mut *mut c_char;
937    pub fn vte_terminal_event_check_regex_simple(
938        terminal: *mut VteTerminal,
939        event: *mut gdk::GdkEvent,
940        regexes: *mut *mut VteRegex,
941        n_regexes: size_t,
942        match_flags: u32,
943        matches: *mut *mut c_char,
944    ) -> gboolean;
945    pub fn vte_terminal_feed(terminal: *mut VteTerminal, data: *const u8, length: ssize_t);
946    pub fn vte_terminal_feed_child(terminal: *mut VteTerminal, text: *const u8, length: ssize_t);
947    pub fn vte_terminal_feed_child_binary(
948        terminal: *mut VteTerminal,
949        data: *const u8,
950        length: size_t,
951    );
952    pub fn vte_terminal_get_allow_bold(terminal: *mut VteTerminal) -> gboolean;
953    pub fn vte_terminal_get_allow_hyperlink(terminal: *mut VteTerminal) -> gboolean;
954    pub fn vte_terminal_get_audible_bell(terminal: *mut VteTerminal) -> gboolean;
955    pub fn vte_terminal_get_bold_is_bright(terminal: *mut VteTerminal) -> gboolean;
956    pub fn vte_terminal_get_cell_height_scale(terminal: *mut VteTerminal) -> c_double;
957    pub fn vte_terminal_get_cell_width_scale(terminal: *mut VteTerminal) -> c_double;
958    pub fn vte_terminal_get_char_height(terminal: *mut VteTerminal) -> c_long;
959    pub fn vte_terminal_get_char_width(terminal: *mut VteTerminal) -> c_long;
960    pub fn vte_terminal_get_cjk_ambiguous_width(terminal: *mut VteTerminal) -> c_int;
961    pub fn vte_terminal_get_color_background_for_draw(
962        terminal: *mut VteTerminal,
963        color: *mut gdk::GdkRGBA,
964    );
965    pub fn vte_terminal_get_column_count(terminal: *mut VteTerminal) -> c_long;
966    pub fn vte_terminal_get_context_menu(terminal: *mut VteTerminal) -> *mut gtk::GtkWidget;
967    pub fn vte_terminal_get_context_menu_model(terminal: *mut VteTerminal) -> *mut gio::GMenuModel;
968    pub fn vte_terminal_get_current_directory_uri(terminal: *mut VteTerminal) -> *const c_char;
969    pub fn vte_terminal_get_current_file_uri(terminal: *mut VteTerminal) -> *const c_char;
970    pub fn vte_terminal_get_cursor_blink_mode(terminal: *mut VteTerminal) -> VteCursorBlinkMode;
971    pub fn vte_terminal_get_cursor_position(
972        terminal: *mut VteTerminal,
973        column: *mut c_long,
974        row: *mut c_long,
975    );
976    pub fn vte_terminal_get_cursor_shape(terminal: *mut VteTerminal) -> VteCursorShape;
977    pub fn vte_terminal_get_enable_a11y(terminal: *mut VteTerminal) -> gboolean;
978    pub fn vte_terminal_get_enable_bidi(terminal: *mut VteTerminal) -> gboolean;
979    pub fn vte_terminal_get_enable_fallback_scrolling(terminal: *mut VteTerminal) -> gboolean;
980    pub fn vte_terminal_get_enable_legacy_osc777(terminal: *mut VteTerminal) -> gboolean;
981    pub fn vte_terminal_get_enable_shaping(terminal: *mut VteTerminal) -> gboolean;
982    pub fn vte_terminal_get_enable_sixel(terminal: *mut VteTerminal) -> gboolean;
983    pub fn vte_terminal_get_encoding(terminal: *mut VteTerminal) -> *const c_char;
984    pub fn vte_terminal_get_font(terminal: *mut VteTerminal) -> *const pango::PangoFontDescription;
985    pub fn vte_terminal_get_font_options(
986        terminal: *mut VteTerminal,
987    ) -> *const cairo::cairo_font_options_t;
988    pub fn vte_terminal_get_font_scale(terminal: *mut VteTerminal) -> c_double;
989    pub fn vte_terminal_get_geometry_hints(
990        terminal: *mut VteTerminal,
991        hints: *mut gdk::GdkGeometry,
992        min_rows: c_int,
993        min_columns: c_int,
994    );
995    pub fn vte_terminal_get_has_selection(terminal: *mut VteTerminal) -> gboolean;
996    pub fn vte_terminal_get_icon_title(terminal: *mut VteTerminal) -> *const c_char;
997    pub fn vte_terminal_get_input_enabled(terminal: *mut VteTerminal) -> gboolean;
998    pub fn vte_terminal_get_mouse_autohide(terminal: *mut VteTerminal) -> gboolean;
999    pub fn vte_terminal_get_pty(terminal: *mut VteTerminal) -> *mut VtePty;
1000    pub fn vte_terminal_get_rewrap_on_resize(terminal: *mut VteTerminal) -> gboolean;
1001    pub fn vte_terminal_get_row_count(terminal: *mut VteTerminal) -> c_long;
1002    pub fn vte_terminal_get_scroll_on_insert(terminal: *mut VteTerminal) -> gboolean;
1003    pub fn vte_terminal_get_scroll_on_keystroke(terminal: *mut VteTerminal) -> gboolean;
1004    pub fn vte_terminal_get_scroll_on_output(terminal: *mut VteTerminal) -> gboolean;
1005    pub fn vte_terminal_get_scroll_unit_is_pixels(terminal: *mut VteTerminal) -> gboolean;
1006    pub fn vte_terminal_get_scrollback_lines(terminal: *mut VteTerminal) -> c_long;
1007    pub fn vte_terminal_get_termprop_bool(
1008        terminal: *mut VteTerminal,
1009        prop: *const c_char,
1010        valuep: *mut gboolean,
1011    ) -> gboolean;
1012    pub fn vte_terminal_get_termprop_bool_by_id(
1013        terminal: *mut VteTerminal,
1014        prop: c_int,
1015        valuep: *mut gboolean,
1016    ) -> gboolean;
1017    pub fn vte_terminal_get_termprop_data(
1018        terminal: *mut VteTerminal,
1019        prop: *const c_char,
1020        size: *mut size_t,
1021    ) -> *const u8;
1022    pub fn vte_terminal_get_termprop_data_by_id(
1023        terminal: *mut VteTerminal,
1024        prop: c_int,
1025        size: *mut size_t,
1026    ) -> *const u8;
1027    pub fn vte_terminal_get_termprop_double(
1028        terminal: *mut VteTerminal,
1029        prop: *const c_char,
1030        valuep: *mut c_double,
1031    ) -> gboolean;
1032    pub fn vte_terminal_get_termprop_double_by_id(
1033        terminal: *mut VteTerminal,
1034        prop: c_int,
1035        valuep: *mut c_double,
1036    ) -> gboolean;
1037    pub fn vte_terminal_get_termprop_enum(
1038        terminal: *mut VteTerminal,
1039        prop: *const c_char,
1040        gtype: GType,
1041        valuep: *mut i64,
1042    ) -> gboolean;
1043    pub fn vte_terminal_get_termprop_enum_by_id(
1044        terminal: *mut VteTerminal,
1045        prop: c_int,
1046        gtype: GType,
1047        valuep: *mut i64,
1048    ) -> gboolean;
1049    pub fn vte_terminal_get_termprop_flags(
1050        terminal: *mut VteTerminal,
1051        prop: *const c_char,
1052        gtype: GType,
1053        ignore_unknown_flags: gboolean,
1054        valuep: *mut u64,
1055    ) -> gboolean;
1056    pub fn vte_terminal_get_termprop_flags_by_id(
1057        terminal: *mut VteTerminal,
1058        prop: c_int,
1059        gtype: GType,
1060        ignore_unknown_flags: gboolean,
1061        valuep: *mut u64,
1062    ) -> gboolean;
1063    pub fn vte_terminal_get_termprop_int(
1064        terminal: *mut VteTerminal,
1065        prop: *const c_char,
1066        valuep: *mut i64,
1067    ) -> gboolean;
1068    pub fn vte_terminal_get_termprop_int_by_id(
1069        terminal: *mut VteTerminal,
1070        prop: c_int,
1071        valuep: *mut i64,
1072    ) -> gboolean;
1073    pub fn vte_terminal_get_termprop_rgba(
1074        terminal: *mut VteTerminal,
1075        prop: *const c_char,
1076        color: *mut gdk::GdkRGBA,
1077    ) -> gboolean;
1078    pub fn vte_terminal_get_termprop_rgba_by_id(
1079        terminal: *mut VteTerminal,
1080        prop: c_int,
1081        color: *mut gdk::GdkRGBA,
1082    ) -> gboolean;
1083    pub fn vte_terminal_get_termprop_string(
1084        terminal: *mut VteTerminal,
1085        prop: *const c_char,
1086        size: *mut size_t,
1087    ) -> *const c_char;
1088    pub fn vte_terminal_get_termprop_string_by_id(
1089        terminal: *mut VteTerminal,
1090        prop: c_int,
1091        size: *mut size_t,
1092    ) -> *const c_char;
1093    pub fn vte_terminal_get_termprop_uint(
1094        terminal: *mut VteTerminal,
1095        prop: *const c_char,
1096        valuep: *mut u64,
1097    ) -> gboolean;
1098    pub fn vte_terminal_get_termprop_uint_by_id(
1099        terminal: *mut VteTerminal,
1100        prop: c_int,
1101        valuep: *mut u64,
1102    ) -> gboolean;
1103    pub fn vte_terminal_get_termprop_value(
1104        terminal: *mut VteTerminal,
1105        prop: *const c_char,
1106        gvalue: *mut gobject::GValue,
1107    ) -> gboolean;
1108    pub fn vte_terminal_get_termprop_value_by_id(
1109        terminal: *mut VteTerminal,
1110        prop: c_int,
1111        gvalue: *mut gobject::GValue,
1112    ) -> gboolean;
1113    pub fn vte_terminal_get_termprops(terminal: *mut VteTerminal) -> *const VteProperties;
1114    pub fn vte_terminal_get_text(
1115        terminal: *mut VteTerminal,
1116        is_selected: VteSelectionFunc,
1117        user_data: gpointer,
1118        attributes: *mut glib::GArray,
1119    ) -> *mut c_char;
1120    pub fn vte_terminal_get_text_blink_mode(terminal: *mut VteTerminal) -> VteTextBlinkMode;
1121    pub fn vte_terminal_get_text_format(
1122        terminal: *mut VteTerminal,
1123        format: VteFormat,
1124    ) -> *mut c_char;
1125    pub fn vte_terminal_get_text_include_trailing_spaces(
1126        terminal: *mut VteTerminal,
1127        is_selected: VteSelectionFunc,
1128        user_data: gpointer,
1129        attributes: *mut glib::GArray,
1130    ) -> *mut c_char;
1131    pub fn vte_terminal_get_text_range(
1132        terminal: *mut VteTerminal,
1133        start_row: c_long,
1134        start_col: c_long,
1135        end_row: c_long,
1136        end_col: c_long,
1137        is_selected: VteSelectionFunc,
1138        user_data: gpointer,
1139        attributes: *mut glib::GArray,
1140    ) -> *mut c_char;
1141    pub fn vte_terminal_get_text_range_format(
1142        terminal: *mut VteTerminal,
1143        format: VteFormat,
1144        start_row: c_long,
1145        start_col: c_long,
1146        end_row: c_long,
1147        end_col: c_long,
1148        length: *mut size_t,
1149    ) -> *mut c_char;
1150    pub fn vte_terminal_get_text_selected(
1151        terminal: *mut VteTerminal,
1152        format: VteFormat,
1153    ) -> *mut c_char;
1154    pub fn vte_terminal_get_text_selected_full(
1155        terminal: *mut VteTerminal,
1156        format: VteFormat,
1157        length: *mut size_t,
1158    ) -> *mut c_char;
1159    pub fn vte_terminal_get_window_title(terminal: *mut VteTerminal) -> *const c_char;
1160    pub fn vte_terminal_get_word_char_exceptions(terminal: *mut VteTerminal) -> *const c_char;
1161    pub fn vte_terminal_get_xalign(terminal: *mut VteTerminal) -> VteAlign;
1162    pub fn vte_terminal_get_xfill(terminal: *mut VteTerminal) -> gboolean;
1163    pub fn vte_terminal_get_yalign(terminal: *mut VteTerminal) -> VteAlign;
1164    pub fn vte_terminal_get_yfill(terminal: *mut VteTerminal) -> gboolean;
1165    pub fn vte_terminal_hyperlink_check_event(
1166        terminal: *mut VteTerminal,
1167        event: *mut gdk::GdkEvent,
1168    ) -> *mut c_char;
1169    pub fn vte_terminal_match_add_gregex(
1170        terminal: *mut VteTerminal,
1171        gregex: *mut glib::GRegex,
1172        gflags: glib::GRegexMatchFlags,
1173    ) -> c_int;
1174    pub fn vte_terminal_match_add_regex(
1175        terminal: *mut VteTerminal,
1176        regex: *mut VteRegex,
1177        flags: u32,
1178    ) -> c_int;
1179    pub fn vte_terminal_match_check(
1180        terminal: *mut VteTerminal,
1181        column: c_long,
1182        row: c_long,
1183        tag: *mut c_int,
1184    ) -> *mut c_char;
1185    pub fn vte_terminal_match_check_event(
1186        terminal: *mut VteTerminal,
1187        event: *mut gdk::GdkEvent,
1188        tag: *mut c_int,
1189    ) -> *mut c_char;
1190    pub fn vte_terminal_match_remove(terminal: *mut VteTerminal, tag: c_int);
1191    pub fn vte_terminal_match_remove_all(terminal: *mut VteTerminal);
1192    pub fn vte_terminal_match_set_cursor(
1193        terminal: *mut VteTerminal,
1194        tag: c_int,
1195        cursor: *mut gdk::GdkCursor,
1196    );
1197    pub fn vte_terminal_match_set_cursor_name(
1198        terminal: *mut VteTerminal,
1199        tag: c_int,
1200        cursor_name: *const c_char,
1201    );
1202    pub fn vte_terminal_match_set_cursor_type(
1203        terminal: *mut VteTerminal,
1204        tag: c_int,
1205        cursor_type: gdk::GdkCursorType,
1206    );
1207    pub fn vte_terminal_paste_clipboard(terminal: *mut VteTerminal);
1208    pub fn vte_terminal_paste_primary(terminal: *mut VteTerminal);
1209    pub fn vte_terminal_paste_text(terminal: *mut VteTerminal, text: *const c_char);
1210    pub fn vte_terminal_pty_new_sync(
1211        terminal: *mut VteTerminal,
1212        flags: VtePtyFlags,
1213        cancellable: *mut gio::GCancellable,
1214        error: *mut *mut glib::GError,
1215    ) -> *mut VtePty;
1216    pub fn vte_terminal_ref_termprop_data_bytes(
1217        terminal: *mut VteTerminal,
1218        prop: *const c_char,
1219    ) -> *mut glib::GBytes;
1220    pub fn vte_terminal_ref_termprop_data_bytes_by_id(
1221        terminal: *mut VteTerminal,
1222        prop: c_int,
1223    ) -> *mut glib::GBytes;
1224    pub fn vte_terminal_ref_termprop_image_pixbuf(
1225        terminal: *mut VteTerminal,
1226        prop: *const c_char,
1227    ) -> *mut gdk_pixbuf::GdkPixbuf;
1228    pub fn vte_terminal_ref_termprop_image_pixbuf_by_id(
1229        terminal: *mut VteTerminal,
1230        prop: c_int,
1231    ) -> *mut gdk_pixbuf::GdkPixbuf;
1232    pub fn vte_terminal_ref_termprop_image_surface(
1233        terminal: *mut VteTerminal,
1234        prop: *const c_char,
1235    ) -> *mut cairo::cairo_surface_t;
1236    pub fn vte_terminal_ref_termprop_image_surface_by_id(
1237        terminal: *mut VteTerminal,
1238        prop: c_int,
1239    ) -> *mut cairo::cairo_surface_t;
1240    pub fn vte_terminal_ref_termprop_uri(
1241        terminal: *mut VteTerminal,
1242        prop: *const c_char,
1243    ) -> *mut glib::GUri;
1244    pub fn vte_terminal_ref_termprop_uri_by_id(
1245        terminal: *mut VteTerminal,
1246        prop: c_int,
1247    ) -> *mut glib::GUri;
1248    pub fn vte_terminal_ref_termprop_variant(
1249        terminal: *mut VteTerminal,
1250        prop: *const c_char,
1251    ) -> *mut glib::GVariant;
1252    pub fn vte_terminal_ref_termprop_variant_by_id(
1253        terminal: *mut VteTerminal,
1254        prop: c_int,
1255    ) -> *mut glib::GVariant;
1256    pub fn vte_terminal_reset(
1257        terminal: *mut VteTerminal,
1258        clear_tabstops: gboolean,
1259        clear_history: gboolean,
1260    );
1261    pub fn vte_terminal_reset_termprop(terminal: *mut VteTerminal, prop: *const c_char);
1262    pub fn vte_terminal_reset_termprop_by_id(terminal: *mut VteTerminal, prop: c_int);
1263    pub fn vte_terminal_search_find_next(terminal: *mut VteTerminal) -> gboolean;
1264    pub fn vte_terminal_search_find_previous(terminal: *mut VteTerminal) -> gboolean;
1265    pub fn vte_terminal_search_get_gregex(terminal: *mut VteTerminal) -> *mut glib::GRegex;
1266    pub fn vte_terminal_search_get_regex(terminal: *mut VteTerminal) -> *mut VteRegex;
1267    pub fn vte_terminal_search_get_wrap_around(terminal: *mut VteTerminal) -> gboolean;
1268    pub fn vte_terminal_search_set_gregex(
1269        terminal: *mut VteTerminal,
1270        gregex: *mut glib::GRegex,
1271        gflags: glib::GRegexMatchFlags,
1272    );
1273    pub fn vte_terminal_search_set_regex(
1274        terminal: *mut VteTerminal,
1275        regex: *mut VteRegex,
1276        flags: u32,
1277    );
1278    pub fn vte_terminal_search_set_wrap_around(terminal: *mut VteTerminal, wrap_around: gboolean);
1279    pub fn vte_terminal_select_all(terminal: *mut VteTerminal);
1280    pub fn vte_terminal_set_allow_bold(terminal: *mut VteTerminal, allow_bold: gboolean);
1281    pub fn vte_terminal_set_allow_hyperlink(terminal: *mut VteTerminal, allow_hyperlink: gboolean);
1282    pub fn vte_terminal_set_audible_bell(terminal: *mut VteTerminal, is_audible: gboolean);
1283    pub fn vte_terminal_set_backspace_binding(terminal: *mut VteTerminal, binding: VteEraseBinding);
1284    pub fn vte_terminal_set_bold_is_bright(terminal: *mut VteTerminal, bold_is_bright: gboolean);
1285    pub fn vte_terminal_set_cell_height_scale(terminal: *mut VteTerminal, scale: c_double);
1286    pub fn vte_terminal_set_cell_width_scale(terminal: *mut VteTerminal, scale: c_double);
1287    pub fn vte_terminal_set_cjk_ambiguous_width(terminal: *mut VteTerminal, width: c_int);
1288    pub fn vte_terminal_set_clear_background(terminal: *mut VteTerminal, setting: gboolean);
1289    pub fn vte_terminal_set_color_background(
1290        terminal: *mut VteTerminal,
1291        background: *const gdk::GdkRGBA,
1292    );
1293    pub fn vte_terminal_set_color_bold(terminal: *mut VteTerminal, bold: *const gdk::GdkRGBA);
1294    pub fn vte_terminal_set_color_cursor(
1295        terminal: *mut VteTerminal,
1296        cursor_background: *const gdk::GdkRGBA,
1297    );
1298    pub fn vte_terminal_set_color_cursor_foreground(
1299        terminal: *mut VteTerminal,
1300        cursor_foreground: *const gdk::GdkRGBA,
1301    );
1302    pub fn vte_terminal_set_color_foreground(
1303        terminal: *mut VteTerminal,
1304        foreground: *const gdk::GdkRGBA,
1305    );
1306    pub fn vte_terminal_set_color_highlight(
1307        terminal: *mut VteTerminal,
1308        highlight_background: *const gdk::GdkRGBA,
1309    );
1310    pub fn vte_terminal_set_color_highlight_foreground(
1311        terminal: *mut VteTerminal,
1312        highlight_foreground: *const gdk::GdkRGBA,
1313    );
1314    pub fn vte_terminal_set_colors(
1315        terminal: *mut VteTerminal,
1316        foreground: *const gdk::GdkRGBA,
1317        background: *const gdk::GdkRGBA,
1318        palette: *const gdk::GdkRGBA,
1319        palette_size: size_t,
1320    );
1321    pub fn vte_terminal_set_context_menu(terminal: *mut VteTerminal, menu: *mut gtk::GtkWidget);
1322    pub fn vte_terminal_set_context_menu_model(
1323        terminal: *mut VteTerminal,
1324        model: *mut gio::GMenuModel,
1325    );
1326    pub fn vte_terminal_set_cursor_blink_mode(terminal: *mut VteTerminal, mode: VteCursorBlinkMode);
1327    pub fn vte_terminal_set_cursor_shape(terminal: *mut VteTerminal, shape: VteCursorShape);
1328    pub fn vte_terminal_set_default_colors(terminal: *mut VteTerminal);
1329    pub fn vte_terminal_set_delete_binding(terminal: *mut VteTerminal, binding: VteEraseBinding);
1330    pub fn vte_terminal_set_enable_a11y(terminal: *mut VteTerminal, enable_a11y: gboolean);
1331    pub fn vte_terminal_set_enable_bidi(terminal: *mut VteTerminal, enable_bidi: gboolean);
1332    pub fn vte_terminal_set_enable_fallback_scrolling(terminal: *mut VteTerminal, enable: gboolean);
1333    pub fn vte_terminal_set_enable_legacy_osc777(terminal: *mut VteTerminal, enable: gboolean);
1334    pub fn vte_terminal_set_enable_shaping(terminal: *mut VteTerminal, enable_shaping: gboolean);
1335    pub fn vte_terminal_set_enable_sixel(terminal: *mut VteTerminal, enabled: gboolean);
1336    pub fn vte_terminal_set_encoding(
1337        terminal: *mut VteTerminal,
1338        codeset: *const c_char,
1339        error: *mut *mut glib::GError,
1340    ) -> gboolean;
1341    pub fn vte_terminal_set_font(
1342        terminal: *mut VteTerminal,
1343        font_desc: *const pango::PangoFontDescription,
1344    );
1345    pub fn vte_terminal_set_font_options(
1346        terminal: *mut VteTerminal,
1347        font_options: *const cairo::cairo_font_options_t,
1348    );
1349    pub fn vte_terminal_set_font_scale(terminal: *mut VteTerminal, scale: c_double);
1350    pub fn vte_terminal_set_geometry_hints_for_window(
1351        terminal: *mut VteTerminal,
1352        window: *mut gtk::GtkWindow,
1353    );
1354    pub fn vte_terminal_set_input_enabled(terminal: *mut VteTerminal, enabled: gboolean);
1355    pub fn vte_terminal_set_mouse_autohide(terminal: *mut VteTerminal, setting: gboolean);
1356    pub fn vte_terminal_set_pty(terminal: *mut VteTerminal, pty: *mut VtePty);
1357    pub fn vte_terminal_set_rewrap_on_resize(terminal: *mut VteTerminal, rewrap: gboolean);
1358    pub fn vte_terminal_set_scroll_on_insert(terminal: *mut VteTerminal, scroll: gboolean);
1359    pub fn vte_terminal_set_scroll_on_keystroke(terminal: *mut VteTerminal, scroll: gboolean);
1360    pub fn vte_terminal_set_scroll_on_output(terminal: *mut VteTerminal, scroll: gboolean);
1361    pub fn vte_terminal_set_scroll_unit_is_pixels(terminal: *mut VteTerminal, enable: gboolean);
1362    pub fn vte_terminal_set_scrollback_lines(terminal: *mut VteTerminal, lines: c_long);
1363    pub fn vte_terminal_set_size(terminal: *mut VteTerminal, columns: c_long, rows: c_long);
1364    pub fn vte_terminal_set_suppress_legacy_signals(terminal: *mut VteTerminal);
1365    pub fn vte_terminal_set_text_blink_mode(
1366        terminal: *mut VteTerminal,
1367        text_blink_mode: VteTextBlinkMode,
1368    );
1369    pub fn vte_terminal_set_word_char_exceptions(
1370        terminal: *mut VteTerminal,
1371        exceptions: *const c_char,
1372    );
1373    pub fn vte_terminal_set_xalign(terminal: *mut VteTerminal, align: VteAlign);
1374    pub fn vte_terminal_set_xfill(terminal: *mut VteTerminal, fill: gboolean);
1375    pub fn vte_terminal_set_yalign(terminal: *mut VteTerminal, align: VteAlign);
1376    pub fn vte_terminal_set_yfill(terminal: *mut VteTerminal, fill: gboolean);
1377    pub fn vte_terminal_spawn_async(
1378        terminal: *mut VteTerminal,
1379        pty_flags: VtePtyFlags,
1380        working_directory: *const c_char,
1381        argv: *mut *mut c_char,
1382        envv: *mut *mut c_char,
1383        spawn_flags: glib::GSpawnFlags,
1384        child_setup: glib::GSpawnChildSetupFunc,
1385        child_setup_data: gpointer,
1386        child_setup_data_destroy: glib::GDestroyNotify,
1387        timeout: c_int,
1388        cancellable: *mut gio::GCancellable,
1389        callback: VteTerminalSpawnAsyncCallback,
1390        user_data: gpointer,
1391    );
1392    pub fn vte_terminal_spawn_sync(
1393        terminal: *mut VteTerminal,
1394        pty_flags: VtePtyFlags,
1395        working_directory: *const c_char,
1396        argv: *mut *mut c_char,
1397        envv: *mut *mut c_char,
1398        spawn_flags: glib::GSpawnFlags,
1399        child_setup: glib::GSpawnChildSetupFunc,
1400        child_setup_data: gpointer,
1401        child_pid: *mut glib::GPid,
1402        cancellable: *mut gio::GCancellable,
1403        error: *mut *mut glib::GError,
1404    ) -> gboolean;
1405    pub fn vte_terminal_spawn_with_fds_async(
1406        terminal: *mut VteTerminal,
1407        pty_flags: VtePtyFlags,
1408        working_directory: *const c_char,
1409        argv: *const *const c_char,
1410        envv: *const *const c_char,
1411        fds: *const c_int,
1412        n_fds: c_int,
1413        map_fds: *const c_int,
1414        n_map_fds: c_int,
1415        spawn_flags: glib::GSpawnFlags,
1416        child_setup: glib::GSpawnChildSetupFunc,
1417        child_setup_data: gpointer,
1418        child_setup_data_destroy: glib::GDestroyNotify,
1419        timeout: c_int,
1420        cancellable: *mut gio::GCancellable,
1421        callback: VteTerminalSpawnAsyncCallback,
1422        user_data: gpointer,
1423    );
1424    pub fn vte_terminal_unselect_all(terminal: *mut VteTerminal);
1425    pub fn vte_terminal_watch_child(terminal: *mut VteTerminal, child_pid: glib::GPid);
1426    pub fn vte_terminal_write_contents_sync(
1427        terminal: *mut VteTerminal,
1428        stream: *mut gio::GOutputStream,
1429        flags: VteWriteFlags,
1430        cancellable: *mut gio::GCancellable,
1431        error: *mut *mut glib::GError,
1432    ) -> gboolean;
1433
1434    //=========================================================================
1435    // Other functions
1436    //=========================================================================
1437    pub fn vte_get_encoding_supported(encoding: *const c_char) -> gboolean;
1438    pub fn vte_get_encodings(include_aliases: gboolean) -> *mut *mut c_char;
1439    pub fn vte_get_feature_flags() -> VteFeatureFlags;
1440    pub fn vte_get_features() -> *const c_char;
1441    pub fn vte_get_major_version() -> c_uint;
1442    pub fn vte_get_micro_version() -> c_uint;
1443    pub fn vte_get_minor_version() -> c_uint;
1444    pub fn vte_get_termprops(length: *mut size_t) -> *mut *const c_char;
1445    pub fn vte_get_termprops_registry() -> *const VtePropertiesRegistry;
1446    pub fn vte_get_test_flags() -> u64;
1447    pub fn vte_get_user_shell() -> *mut c_char;
1448    pub fn vte_install_termprop(
1449        name: *const c_char,
1450        type_: VtePropertyType,
1451        flags: VtePropertyFlags,
1452    ) -> c_int;
1453    pub fn vte_install_termprop_alias(name: *const c_char, target_name: *const c_char) -> c_int;
1454    pub fn vte_properties_get_type() -> GType;
1455    pub fn vte_query_termprop(
1456        name: *const c_char,
1457        resolved_name: *mut *const c_char,
1458        prop: *mut c_int,
1459        type_: *mut VtePropertyType,
1460        flags: *mut VtePropertyFlags,
1461    ) -> gboolean;
1462    pub fn vte_query_termprop_by_id(
1463        prop: c_int,
1464        name: *mut *const c_char,
1465        type_: *mut VtePropertyType,
1466        flags: *mut VtePropertyFlags,
1467    ) -> gboolean;
1468    pub fn vte_set_test_flags(flags: u64);
1469
1470}