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 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
37pub 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
162pub 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
205pub 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
235pub 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#[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 }
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#[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 pub fn vte_align_get_type() -> GType;
451
452 pub fn vte_cursor_blink_mode_get_type() -> GType;
456
457 pub fn vte_cursor_shape_get_type() -> GType;
461
462 pub fn vte_erase_binding_get_type() -> GType;
466
467 pub fn vte_format_get_type() -> GType;
471
472 pub fn vte_progress_hint_get_type() -> GType;
476
477 pub fn vte_property_id_get_type() -> GType;
481
482 pub fn vte_property_type_get_type() -> GType;
486
487 pub fn vte_pty_error_get_type() -> GType;
491 pub fn vte_pty_error_quark() -> glib::GQuark;
492
493 pub fn vte_regex_error_get_type() -> GType;
497 pub fn vte_regex_error_quark() -> glib::GQuark;
498
499 pub fn vte_systemd_context_exit_condition_get_type() -> GType;
503
504 pub fn vte_systemd_context_operation_get_type() -> GType;
508
509 pub fn vte_systemd_context_type_get_type() -> GType;
513
514 pub fn vte_systemd_property_id_get_type() -> GType;
518
519 pub fn vte_text_blink_mode_get_type() -> GType;
523
524 pub fn vte_write_flags_get_type() -> GType;
528
529 pub fn vte_property_flags_get_type() -> GType;
533
534 pub fn vte_pty_flags_get_type() -> GType;
538
539 pub fn vte_uuid_format_get_type() -> GType;
543
544 pub fn vte_event_context_get_type() -> GType;
548 pub fn vte_event_context_get_event(context: *const VteEventContext) -> *mut gdk::GdkEvent;
549
550 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 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 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 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 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 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 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}