/* * Copyright (C) 2001,2002,2003,2009,2010 Red Hat, Inc. * * This library is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published * by the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this library. If not, see . */ #pragma once #if !defined (__VTE_VTE_H_INSIDE__) && !defined (VTE_COMPILATION) #error "Only can be included directly." #endif #include G_BEGIN_DECLS /** * VteCursorBlinkMode: * @VTE_CURSOR_BLINK_SYSTEM: Follow GTK+ settings for cursor blinking. * @VTE_CURSOR_BLINK_ON: Cursor blinks. * @VTE_CURSOR_BLINK_OFF: Cursor does not blink. * * An enumerated type which can be used to indicate the cursor blink mode * for the terminal. */ typedef enum { VTE_CURSOR_BLINK_SYSTEM, VTE_CURSOR_BLINK_ON, VTE_CURSOR_BLINK_OFF } VteCursorBlinkMode; /** * VteCursorShape: * @VTE_CURSOR_SHAPE_BLOCK: Draw a block cursor. This is the default. * @VTE_CURSOR_SHAPE_IBEAM: Draw a vertical bar on the left side of character. * This is similar to the default cursor for other GTK+ widgets. * @VTE_CURSOR_SHAPE_UNDERLINE: Draw a horizontal bar below the character. * * An enumerated type which can be used to indicate what should the terminal * draw at the cursor position. */ typedef enum { VTE_CURSOR_SHAPE_BLOCK, VTE_CURSOR_SHAPE_IBEAM, VTE_CURSOR_SHAPE_UNDERLINE } VteCursorShape; /** * VteTextBlinkMode: * @VTE_TEXT_BLINK_NEVER: Do not blink the text. * @VTE_TEXT_BLINK_FOCUSED: Allow blinking text only if the terminal is focused. * @VTE_TEXT_BLINK_UNFOCUSED: Allow blinking text only if the terminal is unfocused. * @VTE_TEXT_BLINK_ALWAYS: Allow blinking text. This is the default. * * An enumerated type which can be used to indicate whether the terminal allows * the text contents to be blinked. * * Since: 0.52 */ typedef enum { VTE_TEXT_BLINK_NEVER = 0, VTE_TEXT_BLINK_FOCUSED = 1, VTE_TEXT_BLINK_UNFOCUSED = 2, VTE_TEXT_BLINK_ALWAYS = 3 } VteTextBlinkMode; /** * VteEraseBinding: * @VTE_ERASE_AUTO: For backspace, attempt to determine the right value from the terminal's IO settings. For delete, use the control sequence. * @VTE_ERASE_ASCII_BACKSPACE: Send an ASCII backspace character (0x08). * @VTE_ERASE_ASCII_DELETE: Send an ASCII delete character (0x7F). * @VTE_ERASE_DELETE_SEQUENCE: Send the "@@7" control sequence. * @VTE_ERASE_TTY: Send terminal's "erase" setting. * * An enumerated type which can be used to indicate which string the terminal * should send to an application when the user presses the Delete or Backspace * keys. */ typedef enum { VTE_ERASE_AUTO, VTE_ERASE_ASCII_BACKSPACE, VTE_ERASE_ASCII_DELETE, VTE_ERASE_DELETE_SEQUENCE, VTE_ERASE_TTY } VteEraseBinding; /** * VtePtyError: * @VTE_PTY_ERROR_PTY_HELPER_FAILED: Obsolete. Deprecated: 0.42 * @VTE_PTY_ERROR_PTY98_FAILED: failure when using PTY98 to allocate the PTY */ typedef enum { VTE_PTY_ERROR_PTY_HELPER_FAILED = 0, VTE_PTY_ERROR_PTY98_FAILED } VtePtyError; /** * VtePtyFlags: * @VTE_PTY_NO_LASTLOG: Unused. Deprecated: 0.38 * @VTE_PTY_NO_UTMP: Unused. Deprecated: 0.38 * @VTE_PTY_NO_WTMP: Unused. Deprecated: 0.38 * @VTE_PTY_NO_HELPER: Unused. Deprecated: 0.38 * @VTE_PTY_NO_FALLBACK: Unused. Deprecated: 0.38 * @VTE_PTY_NO_SESSION: Do not start a new session for the child in * vte_pty_child_setup(). See man:setsid(2) for more information. Since: 0.58 * @VTE_PTY_NO_CTTY: Do not set the PTY as the controlling TTY for the child * in vte_pty_child_setup(). See man:tty_ioctl(4) for more information. Since: 0.58 * @VTE_PTY_DEFAULT: the default flags */ typedef enum { VTE_PTY_NO_LASTLOG = 1 << 0, VTE_PTY_NO_UTMP = 1 << 1, VTE_PTY_NO_WTMP = 1 << 2, VTE_PTY_NO_HELPER = 1 << 3, VTE_PTY_NO_FALLBACK = 1 << 4, VTE_PTY_NO_SESSION = 1 << 5, VTE_PTY_NO_CTTY = 1 << 6, VTE_PTY_DEFAULT = 0 } VtePtyFlags; /** * VteWriteFlags: * @VTE_WRITE_DEFAULT: Write contents as UTF-8 text. This is the default. * * A flag type to determine how terminal contents should be written * to an output stream. */ typedef enum { VTE_WRITE_DEFAULT = 0 } VteWriteFlags; /** * VteRegexError: * @VTE_REGEX_ERROR_INCOMPATIBLE: The PCRE2 library was built without * Unicode support which is required for VTE * @VTE_REGEX_ERROR_NOT_SUPPORTED: Regexes are not supported because VTE was * built without PCRE2 support * * An enum type for regex errors. In addition to the values listed above, * any PCRE2 error values may occur. * * Since: 0.46 */ typedef enum { /* Negative values are PCRE2 errors */ /* VTE specific values */ VTE_REGEX_ERROR_INCOMPATIBLE = G_MAXINT-1, VTE_REGEX_ERROR_NOT_SUPPORTED = G_MAXINT } VteRegexError; /** * VteFormat: * @VTE_FORMAT_TEXT: Export as plain text * @VTE_FORMAT_HTML: Export as HTML formatted text * * An enumeration type that can be used to specify the format the selection * should be copied to the clipboard in. * * Since: 0.50 */ typedef enum { VTE_FORMAT_TEXT = 1, VTE_FORMAT_HTML = 2 } VteFormat; /** * VteFeatureFlags: * @VTE_FEATURE_FLAG_BIDI: whether VTE was built with bidirectional text support * @VTE_FEATURE_FLAG_ICU: whether VTE was built with ICU support * @VTE_FEATURE_FLAG_SYSTEMD: whether VTE was built with systemd support * @VTE_FEATURE_FLAG_SIXEL: whether VTE was built with SIXEL support * @VTE_FEATURE_FLAGS_MASK: mask of all feature flags * * An enumeration type for features. * * Since: 0.62 */ typedef enum /*< skip >*/ { VTE_FEATURE_FLAG_BIDI = 1ULL << 0, VTE_FEATURE_FLAG_ICU = 1ULL << 1, VTE_FEATURE_FLAG_SYSTEMD = 1ULL << 2, VTE_FEATURE_FLAG_SIXEL = 1ULL << 3, VTE_FEATURE_FLAGS_MASK = 0xFFFFFFFFFFFFFFFFULL, /* force enum to 64 bit */ } VteFeatureFlags; /** * VteAlign: * @VTE_ALIGN_START: align to left/top * @VTE_ALIGN_CENTER: align to centre * @VTE_ALIGN_END: align to right/bottom * * An enumeration type that can be used to specify how the terminal * uses extra allocated space. * * Since: 0.76 */ typedef enum { VTE_ALIGN_START = 0U, VTE_ALIGN_CENTER = 1U, VTE_ALIGN_END = 2U, } VteAlign; /* * VteUuidFormat: * @VTE_UUID_FORMAT_SIMPLE: simple format * @VTE_UUID_FORMAT_BRACED: braced format * @VTE_UUID_FORMAT_URN: urn format * @VTE_UUID_FORMAT_ANY: any format of the above * * An enumeration that specifies the format of an UUID. * * Since: 0.78 */ typedef enum /*< flags >*/ { VTE_UUID_FORMAT_SIMPLE = 1u << 0, VTE_UUID_FORMAT_BRACED = 1u << 1, VTE_UUID_FORMAT_URN = 1u << 2, VTE_UUID_FORMAT_ANY = 0x7u, } VteUuidFormat; /** * VtePropertyFlags: * @VTE_PROPERTY_FLAG_NONE: no flags, default * @VTE_PROPERTY_FLAG_EPHEMERAL: denotes an ephemeral termprop * * A flags type. * * Since: 0.78 */ typedef enum /*< flags >*/ { VTE_PROPERTY_FLAG_NONE = 0u, VTE_PROPERTY_FLAG_EPHEMERAL = 1u << 0, } VtePropertyFlags; /** * VtePropertyType: * @VTE_PROPERTY_VALUELESS: no value, use for signalling * @VTE_PROPERTY_BOOL: a bool * @VTE_PROPERTY_INT: a signed 64-bit integer * @VTE_PROPERTY_UINT: an unsigned 64-bit integer * @VTE_PROPERTY_DOUBLE: a finite double-precision floating point number * @VTE_PROPERTY_RGB: a color * @VTE_PROPERTY_RGBA: a color with alpha * @VTE_PROPERTY_STRING: a string * @VTE_PROPERTY_DATA: binary data * @VTE_PROPERTY_UUID: a UUID * @VTE_PROPERTY_URI: a URI * @VTE_PROPERTY_IMAGE: an image. Since: 0.80 * * An enumeration type describing types of properties. * * Since: 0.78 */ typedef enum { VTE_PROPERTY_INVALID = -1, /*< skip >*/ VTE_PROPERTY_VALUELESS = 0, VTE_PROPERTY_BOOL, VTE_PROPERTY_INT, VTE_PROPERTY_UINT, VTE_PROPERTY_DOUBLE, VTE_PROPERTY_RGB, VTE_PROPERTY_RGBA, VTE_PROPERTY_STRING, VTE_PROPERTY_DATA, VTE_PROPERTY_UUID, VTE_PROPERTY_URI, VTE_PROPERTY_IMAGE, } VtePropertyType; /** * VtePropertyId: * @VTE_PROPERTY_ID_CURRENT_DIRECTORY_URI: the ID of the %VTE_TERMPROP_CURRENT_DIRECTORY_URI termprop * @VTE_PROPERTY_ID_CURRENT_FILE_URI: the ID of the %VTE_TERMPROP_CURRENT_FILE_URI termprop * @VTE_PROPERTY_ID_XTERM_TITLE: the ID of the %VTE_TERMPROP_XTERM_TITLE termprop * @VTE_PROPERTY_ID_CONTAINER_NAME: the ID of the %VTE_TERMPROP_CONTAINER_NAME termprop * @VTE_PROPERTY_ID_CONTAINER_RUNTIME: the ID of the %VTE_TERMPROP_CONTAINER_RUNTIME termprop * @VTE_PROPERTY_ID_CONTAINER_UID: the ID of the %VTE_TERMPROP_CONTAINER_UID termprop * @VTE_PROPERTY_ID_SHELL_PRECMD: the ID of the %VTE_TERMPROP_SHELL_PRECMD termprop * @VTE_PROPERTY_ID_SHELL_PREEXEC: the ID of the %VTE_TERMPROP_SHELL_PREEXEC termprop * @VTE_PROPERTY_ID_SHELL_POSTEXEC: the ID of the %VTE_TERMPROP_SHELL_POSTEXEC termprop * @VTE_PROPERTY_ID_PROGRESS_HINT: the ID of the %VTE_TERMPROP_PROGRESS_HINT termprop. Since: 0.80 * @VTE_PROPERTY_ID_PROGRESS_VALUE: the ID of the %VTE_TERMPROP_PROGRESS_VALUE termprop. Since: 0.80 * @VTE_PROPERTY_ID_ICON_COLOR: the ID of the %VTE_TERMPROP_ICON_COLOR termprop. Since: 0.80 * @VTE_PROPERTY_ID_ICON_IMAGE: the ID of the %VTE_TERMPROP_ICON_IMAGE termprop. Since: 0.80 * * An enum containing the IDs of the always-installed termprops. * * Since: 0.78 */ typedef enum { VTE_PROPERTY_ID_CURRENT_DIRECTORY_URI = 0, VTE_PROPERTY_ID_CURRENT_FILE_URI, VTE_PROPERTY_ID_XTERM_TITLE, VTE_PROPERTY_ID_CONTAINER_NAME, VTE_PROPERTY_ID_CONTAINER_RUNTIME, VTE_PROPERTY_ID_CONTAINER_UID, VTE_PROPERTY_ID_SHELL_PRECMD, VTE_PROPERTY_ID_SHELL_PREEXEC, VTE_PROPERTY_ID_SHELL_POSTEXEC, VTE_PROPERTY_ID_PROGRESS_HINT, VTE_PROPERTY_ID_PROGRESS_VALUE, VTE_PROPERTY_ID_ICON_COLOR, VTE_PROPERTY_ID_ICON_IMAGE, _VTE_PROPERTY_ID_MAX = 0x7ffffff, /*< skip >*/ } VtePropertyId; /** * VteProgressHint: * @VTE_PROGRESS_HINT_INACTIVE: no progress current * @VTE_PROGRESS_HINT_ACTIVE: progress is normal * @VTE_PROGRESS_HINT_ERROR: progress is aborted by an error * @VTE_PROGRESS_HINT_INDETERMINATE: progress is indeterminate * @VTE_PROGRESS_HINT_PAUSED: progress is paused * * An enum describing how to interpret progress state, for the * %VTE_TERMPROP_PROGRESS_HINT termprop. * * Since: 0.80 */ typedef enum { VTE_PROGRESS_HINT_INACTIVE = 0, VTE_PROGRESS_HINT_ACTIVE = 1, VTE_PROGRESS_HINT_ERROR = 2, VTE_PROGRESS_HINT_INDETERMINATE = 3, VTE_PROGRESS_HINT_PAUSED = 4, } VteProgressHint; G_END_DECLS