vte_sys/
lib.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir @ fa5cb13)
2// from gir-files (https://github.com/gtk-rs/gir-files @ 480c117)
3// DO NOT EDIT
4
5#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
6#![allow(clippy::approx_constant, clippy::type_complexity, clippy::unreadable_literal)]
7
8extern crate libc;
9extern crate gtk_sys as gtk;
10extern crate glib_sys as glib;
11extern crate gobject_sys as gobject;
12extern crate gio_sys as gio;
13extern crate atk_sys as atk;
14extern crate gdk_sys as gdk;
15extern crate pango_sys as pango;
16
17#[allow(unused_imports)]
18use libc::{c_int, c_char, c_uchar, c_float, c_uint, c_double,
19    c_short, c_ushort, c_long, c_ulong,
20    c_void, size_t, ssize_t, intptr_t, uintptr_t, time_t, FILE};
21
22#[allow(unused_imports)]
23use glib::{gboolean, gconstpointer, gpointer, GType};
24
25// Enums
26pub type VteCursorBlinkMode = c_int;
27pub const VTE_CURSOR_BLINK_SYSTEM: VteCursorBlinkMode = 0;
28pub const VTE_CURSOR_BLINK_ON: VteCursorBlinkMode = 1;
29pub const VTE_CURSOR_BLINK_OFF: VteCursorBlinkMode = 2;
30
31pub type VteCursorShape = c_int;
32pub const VTE_CURSOR_SHAPE_BLOCK: VteCursorShape = 0;
33pub const VTE_CURSOR_SHAPE_IBEAM: VteCursorShape = 1;
34pub const VTE_CURSOR_SHAPE_UNDERLINE: VteCursorShape = 2;
35
36pub type VteEraseBinding = c_int;
37pub const VTE_ERASE_AUTO: VteEraseBinding = 0;
38pub const VTE_ERASE_ASCII_BACKSPACE: VteEraseBinding = 1;
39pub const VTE_ERASE_ASCII_DELETE: VteEraseBinding = 2;
40pub const VTE_ERASE_DELETE_SEQUENCE: VteEraseBinding = 3;
41pub const VTE_ERASE_TTY: VteEraseBinding = 4;
42
43pub type VteFormat = c_int;
44pub const VTE_FORMAT_TEXT: VteFormat = 1;
45pub const VTE_FORMAT_HTML: VteFormat = 2;
46
47pub type VtePtyError = c_int;
48pub const VTE_PTY_ERROR_PTY_HELPER_FAILED: VtePtyError = 0;
49pub const VTE_PTY_ERROR_PTY98_FAILED: VtePtyError = 1;
50
51pub type VteRegexError = c_int;
52pub const VTE_REGEX_ERROR_INCOMPATIBLE: VteRegexError = 2147483646;
53pub const VTE_REGEX_ERROR_NOT_SUPPORTED: VteRegexError = 2147483647;
54
55pub type VteTextBlinkMode = c_int;
56pub const VTE_TEXT_BLINK_NEVER: VteTextBlinkMode = 0;
57pub const VTE_TEXT_BLINK_FOCUSED: VteTextBlinkMode = 1;
58pub const VTE_TEXT_BLINK_UNFOCUSED: VteTextBlinkMode = 2;
59pub const VTE_TEXT_BLINK_ALWAYS: VteTextBlinkMode = 3;
60
61pub type VteWriteFlags = c_int;
62pub const VTE_WRITE_DEFAULT: VteWriteFlags = 0;
63
64// Constants
65pub const VTE_MAJOR_VERSION: c_int = 0;
66pub const VTE_MICRO_VERSION: c_int = 2;
67pub const VTE_MINOR_VERSION: c_int = 58;
68pub const VTE_REGEX_FLAGS_DEFAULT: c_int = 1075314688;
69pub const VTE_SPAWN_NO_PARENT_ENVV: c_int = 33554432;
70pub const VTE_TEST_FLAGS_ALL: u64 = 18446744073709551615;
71pub const VTE_TEST_FLAGS_NONE: u64 = 0;
72
73// Flags
74pub type VtePtyFlags = c_uint;
75pub const VTE_PTY_NO_LASTLOG: VtePtyFlags = 1;
76pub const VTE_PTY_NO_UTMP: VtePtyFlags = 2;
77pub const VTE_PTY_NO_WTMP: VtePtyFlags = 4;
78pub const VTE_PTY_NO_HELPER: VtePtyFlags = 8;
79pub const VTE_PTY_NO_FALLBACK: VtePtyFlags = 16;
80pub const VTE_PTY_NO_SESSION: VtePtyFlags = 32;
81pub const VTE_PTY_NO_CTTY: VtePtyFlags = 64;
82pub const VTE_PTY_DEFAULT: VtePtyFlags = 0;
83
84// Callbacks
85pub type VteSelectionFunc = Option<unsafe extern "C" fn(*mut VteTerminal, c_long, c_long, gpointer) -> gboolean>;
86pub type VteTerminalSpawnAsyncCallback = Option<unsafe extern "C" fn(*mut VteTerminal, glib::GPid, *mut glib::GError, gpointer)>;
87
88// Records
89#[repr(C)]
90pub struct VteCharAttributes {
91    pub row: c_long,
92    pub column: c_long,
93    pub fore: pango::PangoColor,
94    pub back: pango::PangoColor,
95    pub underline: c_uint,
96    _truncated_record_marker: c_void,
97    // field strikethrough has incomplete type
98}
99
100impl ::std::fmt::Debug for VteCharAttributes {
101    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
102        f.debug_struct(&format!("VteCharAttributes @ {:?}", self as *const _))
103         .finish()
104    }
105}
106
107#[repr(C)]
108pub struct _VtePtyClass(c_void);
109
110pub type VtePtyClass = *mut _VtePtyClass;
111
112#[repr(C)]
113pub struct VteRegex(c_void);
114
115impl ::std::fmt::Debug for VteRegex {
116    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
117        f.debug_struct(&format!("VteRegex @ {:?}", self as *const _))
118         .finish()
119    }
120}
121
122#[repr(C)]
123#[derive(Copy, Clone)]
124pub struct VteTerminalClass {
125    pub parent_class: gtk::GtkWidgetClass,
126    pub eof: Option<unsafe extern "C" fn(*mut VteTerminal)>,
127    pub child_exited: Option<unsafe extern "C" fn(*mut VteTerminal, c_int)>,
128    pub encoding_changed: Option<unsafe extern "C" fn(*mut VteTerminal)>,
129    pub char_size_changed: Option<unsafe extern "C" fn(*mut VteTerminal, c_uint, c_uint)>,
130    pub window_title_changed: Option<unsafe extern "C" fn(*mut VteTerminal)>,
131    pub icon_title_changed: Option<unsafe extern "C" fn(*mut VteTerminal)>,
132    pub selection_changed: Option<unsafe extern "C" fn(*mut VteTerminal)>,
133    pub contents_changed: Option<unsafe extern "C" fn(*mut VteTerminal)>,
134    pub cursor_moved: Option<unsafe extern "C" fn(*mut VteTerminal)>,
135    pub commit: Option<unsafe extern "C" fn(*mut VteTerminal, *const c_char, c_uint)>,
136    pub deiconify_window: Option<unsafe extern "C" fn(*mut VteTerminal)>,
137    pub iconify_window: Option<unsafe extern "C" fn(*mut VteTerminal)>,
138    pub raise_window: Option<unsafe extern "C" fn(*mut VteTerminal)>,
139    pub lower_window: Option<unsafe extern "C" fn(*mut VteTerminal)>,
140    pub refresh_window: Option<unsafe extern "C" fn(*mut VteTerminal)>,
141    pub restore_window: Option<unsafe extern "C" fn(*mut VteTerminal)>,
142    pub maximize_window: Option<unsafe extern "C" fn(*mut VteTerminal)>,
143    pub resize_window: Option<unsafe extern "C" fn(*mut VteTerminal, c_uint, c_uint)>,
144    pub move_window: Option<unsafe extern "C" fn(*mut VteTerminal, c_uint, c_uint)>,
145    pub increase_font_size: Option<unsafe extern "C" fn(*mut VteTerminal)>,
146    pub decrease_font_size: Option<unsafe extern "C" fn(*mut VteTerminal)>,
147    pub text_modified: Option<unsafe extern "C" fn(*mut VteTerminal)>,
148    pub text_inserted: Option<unsafe extern "C" fn(*mut VteTerminal)>,
149    pub text_deleted: Option<unsafe extern "C" fn(*mut VteTerminal)>,
150    pub text_scrolled: Option<unsafe extern "C" fn(*mut VteTerminal, c_int)>,
151    pub copy_clipboard: Option<unsafe extern "C" fn(*mut VteTerminal)>,
152    pub paste_clipboard: Option<unsafe extern "C" fn(*mut VteTerminal)>,
153    pub bell: Option<unsafe extern "C" fn(*mut VteTerminal)>,
154    pub padding: [gpointer; 16],
155    pub priv_: *mut VteTerminalClassPrivate,
156}
157
158impl ::std::fmt::Debug for VteTerminalClass {
159    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
160        f.debug_struct(&format!("VteTerminalClass @ {:?}", self as *const _))
161         .field("parent_class", &self.parent_class)
162         .field("eof", &self.eof)
163         .field("child_exited", &self.child_exited)
164         .field("encoding_changed", &self.encoding_changed)
165         .field("char_size_changed", &self.char_size_changed)
166         .field("window_title_changed", &self.window_title_changed)
167         .field("icon_title_changed", &self.icon_title_changed)
168         .field("selection_changed", &self.selection_changed)
169         .field("contents_changed", &self.contents_changed)
170         .field("cursor_moved", &self.cursor_moved)
171         .field("commit", &self.commit)
172         .field("deiconify_window", &self.deiconify_window)
173         .field("iconify_window", &self.iconify_window)
174         .field("raise_window", &self.raise_window)
175         .field("lower_window", &self.lower_window)
176         .field("refresh_window", &self.refresh_window)
177         .field("restore_window", &self.restore_window)
178         .field("maximize_window", &self.maximize_window)
179         .field("resize_window", &self.resize_window)
180         .field("move_window", &self.move_window)
181         .field("increase_font_size", &self.increase_font_size)
182         .field("decrease_font_size", &self.decrease_font_size)
183         .field("text_modified", &self.text_modified)
184         .field("text_inserted", &self.text_inserted)
185         .field("text_deleted", &self.text_deleted)
186         .field("text_scrolled", &self.text_scrolled)
187         .field("copy_clipboard", &self.copy_clipboard)
188         .field("paste_clipboard", &self.paste_clipboard)
189         .field("bell", &self.bell)
190         .field("padding", &self.padding)
191         .field("priv_", &self.priv_)
192         .finish()
193    }
194}
195
196#[repr(C)]
197pub struct _VteTerminalClassPrivate(c_void);
198
199pub type VteTerminalClassPrivate = *mut _VteTerminalClassPrivate;
200
201// Classes
202#[repr(C)]
203pub struct VtePty(c_void);
204
205impl ::std::fmt::Debug for VtePty {
206    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
207        f.debug_struct(&format!("VtePty @ {:?}", self as *const _))
208         .finish()
209    }
210}
211
212#[repr(C)]
213#[derive(Copy, Clone)]
214pub struct VteTerminal {
215    pub widget: gtk::GtkWidget,
216    pub _unused_padding: [*mut gpointer; 1],
217}
218
219impl ::std::fmt::Debug for VteTerminal {
220    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
221        f.debug_struct(&format!("VteTerminal @ {:?}", self as *const _))
222         .field("widget", &self.widget)
223         .finish()
224    }
225}
226
227extern "C" {
228
229    //=========================================================================
230    // VteCursorBlinkMode
231    //=========================================================================
232    pub fn vte_cursor_blink_mode_get_type() -> GType;
233
234    //=========================================================================
235    // VteCursorShape
236    //=========================================================================
237    pub fn vte_cursor_shape_get_type() -> GType;
238
239    //=========================================================================
240    // VteEraseBinding
241    //=========================================================================
242    pub fn vte_erase_binding_get_type() -> GType;
243
244    //=========================================================================
245    // VteFormat
246    //=========================================================================
247    pub fn vte_format_get_type() -> GType;
248
249    //=========================================================================
250    // VtePtyError
251    //=========================================================================
252    pub fn vte_pty_error_get_type() -> GType;
253    pub fn vte_pty_error_quark() -> glib::GQuark;
254
255    //=========================================================================
256    // VteRegexError
257    //=========================================================================
258    pub fn vte_regex_error_get_type() -> GType;
259    pub fn vte_regex_error_quark() -> glib::GQuark;
260
261    //=========================================================================
262    // VteTextBlinkMode
263    //=========================================================================
264    pub fn vte_text_blink_mode_get_type() -> GType;
265
266    //=========================================================================
267    // VteWriteFlags
268    //=========================================================================
269    pub fn vte_write_flags_get_type() -> GType;
270
271    //=========================================================================
272    // VtePtyFlags
273    //=========================================================================
274    pub fn vte_pty_flags_get_type() -> GType;
275
276    //=========================================================================
277    // VteRegex
278    //=========================================================================
279    pub fn vte_regex_get_type() -> GType;
280    pub fn vte_regex_new_for_match(pattern: *const c_char, pattern_length: ssize_t, flags: u32, error: *mut *mut glib::GError) -> *mut VteRegex;
281    pub fn vte_regex_new_for_search(pattern: *const c_char, pattern_length: ssize_t, flags: u32, error: *mut *mut glib::GError) -> *mut VteRegex;
282    pub fn vte_regex_jit(regex: *mut VteRegex, flags: u32, error: *mut *mut glib::GError) -> gboolean;
283    pub fn vte_regex_ref(regex: *mut VteRegex) -> *mut VteRegex;
284    pub fn vte_regex_substitute(regex: *mut VteRegex, subject: *const c_char, replacement: *const c_char, flags: u32, error: *mut *mut glib::GError) -> *mut c_char;
285    pub fn vte_regex_unref(regex: *mut VteRegex) -> *mut VteRegex;
286
287    //=========================================================================
288    // VtePty
289    //=========================================================================
290    pub fn vte_pty_get_type() -> GType;
291    pub fn vte_pty_new_foreign_sync(fd: c_int, cancellable: *mut gio::GCancellable, error: *mut *mut glib::GError) -> *mut VtePty;
292    pub fn vte_pty_new_sync(flags: VtePtyFlags, cancellable: *mut gio::GCancellable, error: *mut *mut glib::GError) -> *mut VtePty;
293    pub fn vte_pty_child_setup(pty: *mut VtePty);
294    pub fn vte_pty_close(pty: *mut VtePty);
295    pub fn vte_pty_get_fd(pty: *mut VtePty) -> c_int;
296    pub fn vte_pty_get_size(pty: *mut VtePty, rows: *mut c_int, columns: *mut c_int, error: *mut *mut glib::GError) -> gboolean;
297    pub fn vte_pty_set_size(pty: *mut VtePty, rows: c_int, columns: c_int, error: *mut *mut glib::GError) -> gboolean;
298    pub fn vte_pty_set_utf8(pty: *mut VtePty, utf8: gboolean, error: *mut *mut glib::GError) -> gboolean;
299    #[cfg(any(feature = "v0_48", feature = "dox"))]
300    pub fn vte_pty_spawn_async(pty: *mut VtePty, working_directory: *const c_char, argv: *mut *mut c_char, envv: *mut *mut c_char, spawn_flags: glib::GSpawnFlags, child_setup: glib::GSpawnChildSetupFunc, child_setup_data: gpointer, child_setup_data_destroy: glib::GDestroyNotify, timeout: c_int, cancellable: *mut gio::GCancellable, callback: gio::GAsyncReadyCallback, user_data: gpointer);
301    #[cfg(any(feature = "v0_48", feature = "dox"))]
302    pub fn vte_pty_spawn_finish(pty: *mut VtePty, result: *mut gio::GAsyncResult, child_pid: *mut glib::GPid, error: *mut *mut glib::GError) -> gboolean;
303
304    //=========================================================================
305    // VteTerminal
306    //=========================================================================
307    pub fn vte_terminal_get_type() -> GType;
308    pub fn vte_terminal_new() -> *mut VteTerminal;
309    pub fn vte_terminal_copy_clipboard(terminal: *mut VteTerminal);
310    #[cfg(any(feature = "v0_50", feature = "dox"))]
311    pub fn vte_terminal_copy_clipboard_format(terminal: *mut VteTerminal, format: VteFormat);
312    pub fn vte_terminal_copy_primary(terminal: *mut VteTerminal);
313    #[cfg(any(feature = "v0_44", feature = "dox"))]
314    pub fn vte_terminal_event_check_gregex_simple(terminal: *mut VteTerminal, event: *mut gdk::GdkEvent, regexes: *mut *mut glib::GRegex, n_regexes: size_t, match_flags: glib::GRegexMatchFlags, matches: *mut *mut c_char) -> gboolean;
315    #[cfg(any(feature = "v0_46", feature = "dox"))]
316    pub fn vte_terminal_event_check_regex_simple(terminal: *mut VteTerminal, event: *mut gdk::GdkEvent, regexes: *mut *mut VteRegex, n_regexes: size_t, match_flags: u32, matches: *mut *mut c_char) -> gboolean;
317    pub fn vte_terminal_feed(terminal: *mut VteTerminal, data: *const u8, length: ssize_t);
318    pub fn vte_terminal_feed_child(terminal: *mut VteTerminal, text: *const c_char, length: ssize_t);
319    pub fn vte_terminal_feed_child_binary(terminal: *mut VteTerminal, data: *const u8, length: size_t);
320    pub fn vte_terminal_get_allow_bold(terminal: *mut VteTerminal) -> gboolean;
321    #[cfg(any(feature = "v0_50", feature = "dox"))]
322    pub fn vte_terminal_get_allow_hyperlink(terminal: *mut VteTerminal) -> gboolean;
323    pub fn vte_terminal_get_audible_bell(terminal: *mut VteTerminal) -> gboolean;
324    #[cfg(any(feature = "v0_52", feature = "dox"))]
325    pub fn vte_terminal_get_bold_is_bright(terminal: *mut VteTerminal) -> gboolean;
326    #[cfg(any(feature = "v0_52", feature = "dox"))]
327    pub fn vte_terminal_get_cell_height_scale(terminal: *mut VteTerminal) -> c_double;
328    #[cfg(any(feature = "v0_52", feature = "dox"))]
329    pub fn vte_terminal_get_cell_width_scale(terminal: *mut VteTerminal) -> c_double;
330    pub fn vte_terminal_get_char_height(terminal: *mut VteTerminal) -> c_long;
331    pub fn vte_terminal_get_char_width(terminal: *mut VteTerminal) -> c_long;
332    pub fn vte_terminal_get_cjk_ambiguous_width(terminal: *mut VteTerminal) -> c_int;
333    #[cfg(any(feature = "v0_54", feature = "dox"))]
334    pub fn vte_terminal_get_color_background_for_draw(terminal: *mut VteTerminal, color: *mut gdk::GdkRGBA);
335    pub fn vte_terminal_get_column_count(terminal: *mut VteTerminal) -> c_long;
336    pub fn vte_terminal_get_current_directory_uri(terminal: *mut VteTerminal) -> *const c_char;
337    pub fn vte_terminal_get_current_file_uri(terminal: *mut VteTerminal) -> *const c_char;
338    pub fn vte_terminal_get_cursor_blink_mode(terminal: *mut VteTerminal) -> VteCursorBlinkMode;
339    pub fn vte_terminal_get_cursor_position(terminal: *mut VteTerminal, column: *mut c_long, row: *mut c_long);
340    pub fn vte_terminal_get_cursor_shape(terminal: *mut VteTerminal) -> VteCursorShape;
341    #[cfg(any(feature = "v0_58", feature = "dox"))]
342    pub fn vte_terminal_get_enable_bidi(terminal: *mut VteTerminal) -> gboolean;
343    #[cfg(any(feature = "v0_58", feature = "dox"))]
344    pub fn vte_terminal_get_enable_shaping(terminal: *mut VteTerminal) -> gboolean;
345    pub fn vte_terminal_get_encoding(terminal: *mut VteTerminal) -> *const c_char;
346    pub fn vte_terminal_get_font(terminal: *mut VteTerminal) -> *const pango::PangoFontDescription;
347    pub fn vte_terminal_get_font_scale(terminal: *mut VteTerminal) -> c_double;
348    pub fn vte_terminal_get_geometry_hints(terminal: *mut VteTerminal, hints: *mut gdk::GdkGeometry, min_rows: c_int, min_columns: c_int);
349    pub fn vte_terminal_get_has_selection(terminal: *mut VteTerminal) -> gboolean;
350    pub fn vte_terminal_get_icon_title(terminal: *mut VteTerminal) -> *const c_char;
351    pub fn vte_terminal_get_input_enabled(terminal: *mut VteTerminal) -> gboolean;
352    pub fn vte_terminal_get_mouse_autohide(terminal: *mut VteTerminal) -> gboolean;
353    pub fn vte_terminal_get_pty(terminal: *mut VteTerminal) -> *mut VtePty;
354    pub fn vte_terminal_get_rewrap_on_resize(terminal: *mut VteTerminal) -> gboolean;
355    pub fn vte_terminal_get_row_count(terminal: *mut VteTerminal) -> c_long;
356    #[cfg(any(feature = "v0_52", feature = "dox"))]
357    pub fn vte_terminal_get_scroll_on_keystroke(terminal: *mut VteTerminal) -> gboolean;
358    #[cfg(any(feature = "v0_52", feature = "dox"))]
359    pub fn vte_terminal_get_scroll_on_output(terminal: *mut VteTerminal) -> gboolean;
360    #[cfg(any(feature = "v0_52", feature = "dox"))]
361    pub fn vte_terminal_get_scrollback_lines(terminal: *mut VteTerminal) -> c_long;
362    pub fn vte_terminal_get_text(terminal: *mut VteTerminal, is_selected: VteSelectionFunc, user_data: gpointer, attributes: *mut glib::GArray) -> *mut c_char;
363    #[cfg(any(feature = "v0_52", feature = "dox"))]
364    pub fn vte_terminal_get_text_blink_mode(terminal: *mut VteTerminal) -> VteTextBlinkMode;
365    pub fn vte_terminal_get_text_include_trailing_spaces(terminal: *mut VteTerminal, is_selected: VteSelectionFunc, user_data: gpointer, attributes: *mut glib::GArray) -> *mut c_char;
366    pub fn vte_terminal_get_text_range(terminal: *mut VteTerminal, start_row: c_long, start_col: c_long, end_row: c_long, end_col: c_long, is_selected: VteSelectionFunc, user_data: gpointer, attributes: *mut glib::GArray) -> *mut c_char;
367    pub fn vte_terminal_get_window_title(terminal: *mut VteTerminal) -> *const c_char;
368    #[cfg(any(feature = "v0_40", feature = "dox"))]
369    pub fn vte_terminal_get_word_char_exceptions(terminal: *mut VteTerminal) -> *const c_char;
370    #[cfg(any(feature = "v0_50", feature = "dox"))]
371    pub fn vte_terminal_hyperlink_check_event(terminal: *mut VteTerminal, event: *mut gdk::GdkEvent) -> *mut c_char;
372    pub fn vte_terminal_match_add_gregex(terminal: *mut VteTerminal, gregex: *mut glib::GRegex, gflags: glib::GRegexMatchFlags) -> c_int;
373    #[cfg(any(feature = "v0_46", feature = "dox"))]
374    pub fn vte_terminal_match_add_regex(terminal: *mut VteTerminal, regex: *mut VteRegex, flags: u32) -> c_int;
375    pub fn vte_terminal_match_check(terminal: *mut VteTerminal, column: c_long, row: c_long, tag: *mut c_int) -> *mut c_char;
376    pub fn vte_terminal_match_check_event(terminal: *mut VteTerminal, event: *mut gdk::GdkEvent, tag: *mut c_int) -> *mut c_char;
377    pub fn vte_terminal_match_remove(terminal: *mut VteTerminal, tag: c_int);
378    pub fn vte_terminal_match_remove_all(terminal: *mut VteTerminal);
379    pub fn vte_terminal_match_set_cursor(terminal: *mut VteTerminal, tag: c_int, cursor: *mut gdk::GdkCursor);
380    pub fn vte_terminal_match_set_cursor_name(terminal: *mut VteTerminal, tag: c_int, cursor_name: *const c_char);
381    pub fn vte_terminal_match_set_cursor_type(terminal: *mut VteTerminal, tag: c_int, cursor_type: gdk::GdkCursorType);
382    pub fn vte_terminal_paste_clipboard(terminal: *mut VteTerminal);
383    pub fn vte_terminal_paste_primary(terminal: *mut VteTerminal);
384    pub fn vte_terminal_pty_new_sync(terminal: *mut VteTerminal, flags: VtePtyFlags, cancellable: *mut gio::GCancellable, error: *mut *mut glib::GError) -> *mut VtePty;
385    pub fn vte_terminal_reset(terminal: *mut VteTerminal, clear_tabstops: gboolean, clear_history: gboolean);
386    pub fn vte_terminal_search_find_next(terminal: *mut VteTerminal) -> gboolean;
387    pub fn vte_terminal_search_find_previous(terminal: *mut VteTerminal) -> gboolean;
388    pub fn vte_terminal_search_get_gregex(terminal: *mut VteTerminal) -> *mut glib::GRegex;
389    #[cfg(any(feature = "v0_46", feature = "dox"))]
390    pub fn vte_terminal_search_get_regex(terminal: *mut VteTerminal) -> *mut VteRegex;
391    pub fn vte_terminal_search_get_wrap_around(terminal: *mut VteTerminal) -> gboolean;
392    pub fn vte_terminal_search_set_gregex(terminal: *mut VteTerminal, gregex: *mut glib::GRegex, gflags: glib::GRegexMatchFlags);
393    #[cfg(any(feature = "v0_46", feature = "dox"))]
394    pub fn vte_terminal_search_set_regex(terminal: *mut VteTerminal, regex: *mut VteRegex, flags: u32);
395    pub fn vte_terminal_search_set_wrap_around(terminal: *mut VteTerminal, wrap_around: gboolean);
396    pub fn vte_terminal_select_all(terminal: *mut VteTerminal);
397    pub fn vte_terminal_set_allow_bold(terminal: *mut VteTerminal, allow_bold: gboolean);
398    #[cfg(any(feature = "v0_50", feature = "dox"))]
399    pub fn vte_terminal_set_allow_hyperlink(terminal: *mut VteTerminal, allow_hyperlink: gboolean);
400    pub fn vte_terminal_set_audible_bell(terminal: *mut VteTerminal, is_audible: gboolean);
401    pub fn vte_terminal_set_backspace_binding(terminal: *mut VteTerminal, binding: VteEraseBinding);
402    #[cfg(any(feature = "v0_52", feature = "dox"))]
403    pub fn vte_terminal_set_bold_is_bright(terminal: *mut VteTerminal, bold_is_bright: gboolean);
404    #[cfg(any(feature = "v0_52", feature = "dox"))]
405    pub fn vte_terminal_set_cell_height_scale(terminal: *mut VteTerminal, scale: c_double);
406    #[cfg(any(feature = "v0_52", feature = "dox"))]
407    pub fn vte_terminal_set_cell_width_scale(terminal: *mut VteTerminal, scale: c_double);
408    pub fn vte_terminal_set_cjk_ambiguous_width(terminal: *mut VteTerminal, width: c_int);
409    #[cfg(any(feature = "v0_52", feature = "dox"))]
410    pub fn vte_terminal_set_clear_background(terminal: *mut VteTerminal, setting: gboolean);
411    pub fn vte_terminal_set_color_background(terminal: *mut VteTerminal, background: *const gdk::GdkRGBA);
412    pub fn vte_terminal_set_color_bold(terminal: *mut VteTerminal, bold: *const gdk::GdkRGBA);
413    pub fn vte_terminal_set_color_cursor(terminal: *mut VteTerminal, cursor_background: *const gdk::GdkRGBA);
414    #[cfg(any(feature = "v0_44", feature = "dox"))]
415    pub fn vte_terminal_set_color_cursor_foreground(terminal: *mut VteTerminal, cursor_foreground: *const gdk::GdkRGBA);
416    pub fn vte_terminal_set_color_foreground(terminal: *mut VteTerminal, foreground: *const gdk::GdkRGBA);
417    pub fn vte_terminal_set_color_highlight(terminal: *mut VteTerminal, highlight_background: *const gdk::GdkRGBA);
418    pub fn vte_terminal_set_color_highlight_foreground(terminal: *mut VteTerminal, highlight_foreground: *const gdk::GdkRGBA);
419    pub fn vte_terminal_set_colors(terminal: *mut VteTerminal, foreground: *const gdk::GdkRGBA, background: *const gdk::GdkRGBA, palette: *const gdk::GdkRGBA, palette_size: size_t);
420    pub fn vte_terminal_set_cursor_blink_mode(terminal: *mut VteTerminal, mode: VteCursorBlinkMode);
421    pub fn vte_terminal_set_cursor_shape(terminal: *mut VteTerminal, shape: VteCursorShape);
422    pub fn vte_terminal_set_default_colors(terminal: *mut VteTerminal);
423    pub fn vte_terminal_set_delete_binding(terminal: *mut VteTerminal, binding: VteEraseBinding);
424    #[cfg(any(feature = "v0_58", feature = "dox"))]
425    pub fn vte_terminal_set_enable_bidi(terminal: *mut VteTerminal, enable_bidi: gboolean);
426    #[cfg(any(feature = "v0_58", feature = "dox"))]
427    pub fn vte_terminal_set_enable_shaping(terminal: *mut VteTerminal, enable_shaping: gboolean);
428    pub fn vte_terminal_set_encoding(terminal: *mut VteTerminal, codeset: *const c_char, error: *mut *mut glib::GError) -> gboolean;
429    pub fn vte_terminal_set_font(terminal: *mut VteTerminal, font_desc: *const pango::PangoFontDescription);
430    pub fn vte_terminal_set_font_scale(terminal: *mut VteTerminal, scale: c_double);
431    pub fn vte_terminal_set_geometry_hints_for_window(terminal: *mut VteTerminal, window: *mut gtk::GtkWindow);
432    pub fn vte_terminal_set_input_enabled(terminal: *mut VteTerminal, enabled: gboolean);
433    pub fn vte_terminal_set_mouse_autohide(terminal: *mut VteTerminal, setting: gboolean);
434    pub fn vte_terminal_set_pty(terminal: *mut VteTerminal, pty: *mut VtePty);
435    pub fn vte_terminal_set_rewrap_on_resize(terminal: *mut VteTerminal, rewrap: gboolean);
436    pub fn vte_terminal_set_scroll_on_keystroke(terminal: *mut VteTerminal, scroll: gboolean);
437    pub fn vte_terminal_set_scroll_on_output(terminal: *mut VteTerminal, scroll: gboolean);
438    pub fn vte_terminal_set_scrollback_lines(terminal: *mut VteTerminal, lines: c_long);
439    pub fn vte_terminal_set_size(terminal: *mut VteTerminal, columns: c_long, rows: c_long);
440    #[cfg(any(feature = "v0_52", feature = "dox"))]
441    pub fn vte_terminal_set_text_blink_mode(terminal: *mut VteTerminal, text_blink_mode: VteTextBlinkMode);
442    #[cfg(any(feature = "v0_40", feature = "dox"))]
443    pub fn vte_terminal_set_word_char_exceptions(terminal: *mut VteTerminal, exceptions: *const c_char);
444    #[cfg(any(feature = "v0_48", feature = "dox"))]
445    pub fn vte_terminal_spawn_async(terminal: *mut VteTerminal, pty_flags: VtePtyFlags, working_directory: *const c_char, argv: *mut *mut c_char, envv: *mut *mut c_char, spawn_flags_: glib::GSpawnFlags, child_setup: glib::GSpawnChildSetupFunc, child_setup_data: gpointer, child_setup_data_destroy: glib::GDestroyNotify, timeout: c_int, cancellable: *mut gio::GCancellable, callback: VteTerminalSpawnAsyncCallback, user_data: gpointer);
446    pub fn vte_terminal_spawn_sync(terminal: *mut VteTerminal, pty_flags: VtePtyFlags, working_directory: *const c_char, argv: *mut *mut c_char, envv: *mut *mut c_char, spawn_flags: glib::GSpawnFlags, child_setup: glib::GSpawnChildSetupFunc, child_setup_data: gpointer, child_pid: *mut glib::GPid, cancellable: *mut gio::GCancellable, error: *mut *mut glib::GError) -> gboolean;
447    pub fn vte_terminal_unselect_all(terminal: *mut VteTerminal);
448    pub fn vte_terminal_watch_child(terminal: *mut VteTerminal, child_pid: glib::GPid);
449    pub fn vte_terminal_write_contents_sync(terminal: *mut VteTerminal, stream: *mut gio::GOutputStream, flags: VteWriteFlags, cancellable: *mut gio::GCancellable, error: *mut *mut glib::GError) -> gboolean;
450
451    //=========================================================================
452    // Other functions
453    //=========================================================================
454    #[cfg(any(feature = "v0_40", feature = "dox"))]
455    pub fn vte_get_features() -> *const c_char;
456    #[cfg(any(feature = "v0_40", feature = "dox"))]
457    pub fn vte_get_major_version() -> c_uint;
458    #[cfg(any(feature = "v0_40", feature = "dox"))]
459    pub fn vte_get_micro_version() -> c_uint;
460    #[cfg(any(feature = "v0_40", feature = "dox"))]
461    pub fn vte_get_minor_version() -> c_uint;
462    pub fn vte_get_user_shell() -> *mut c_char;
463    #[cfg(any(feature = "v0_54", feature = "dox"))]
464    pub fn vte_set_test_flags(flags: u64);
465
466}