Commit 97f610ba authored by Christian Persch's avatar Christian Persch

all: Reorganise headers

parent 95eeb058
......@@ -7,7 +7,15 @@ noinst_PROGRAMS =
# The library
headerdir = $(includedir)/vte-$(VTE_API_VERSION)/vte
header_HEADERS = vte.h vtepty.h vtetypebuiltins.h vteversion.h
header_HEADERS = \
vte.h \
vteenums.h \
vteglobals.h \
vtepty.h \
vteterminal.h \
vtetypebuiltins.h \
vteversion.h \
$(NULL)
lib_LTLIBRARIES = libvte-@VTE_API_MAJOR_VERSION@.@VTE_API_MINOR_VERSION@.la
......@@ -124,13 +132,13 @@ marshal.h: marshal.list
vtetypebuiltins.h: stamp-vtetypebuiltins.h
@true
stamp-vtetypebuiltins.h: vtetypebuiltins.h.template vte.h vtepty.h
stamp-vtetypebuiltins.h: vtetypebuiltins.h.template vteenums.h
$(AM_V_GEN) $(GLIB_MKENUMS) --template $< $(filter %.h,$^) > xgen-vtbh \
&& (cmp -s xgen-vtbh vtetypebuiltins.h || cp xgen-vtbh vtetypebuiltins.h ) \
&& rm -f xgen-vtbh \
&& echo timestamp > $(@F)
vtetypebuiltins.c: vtetypebuiltins.c.template vte.h vtepty.h
vtetypebuiltins.c: vtetypebuiltins.c.template vteenums.h
$(AM_V_GEN) $(GLIB_MKENUMS) --template $< $(filter %.h,$^) > xgen-vtbc \
&& (cmp -s xgen-vtbc vtetypebuiltins.c || cp xgen-vtbc vtetypebuiltins.c ) \
&& rm -f xgen-vtbc
......@@ -169,10 +177,13 @@ Vte_@VTE_API_VERSION_U@_gir_SCANNERFLAGS = --c-include "vte/vte.h"
Vte_@VTE_API_VERSION_U@_gir_FILES = \
vte.c \
vte.h \
vteenums.h \
vtepty.h \
pty.c \
vteterminal.h \
vtetypebuiltins.c \
vtetypebuiltins.h \
vteversion.h \
pty.c \
$(NULL)
INTROSPECTION_GIRS += Vte-$(VTE_API_VERSION).gir
......@@ -396,6 +407,8 @@ trie_LDADD = $(VTE_LIBS)
vtetc_SOURCES = vtetc.c vtetc.h debug.c debug.h
vtetc_CPPFLAGS = -DTERMCAP_MAIN
vtetc_CFLAGS = $(VTE_CFLAGS)
vtetc_LDADD = $(VTE_LIBS)
vteconv_SOURCES = buffer.h debug.c debug.h vteconv.c vteconv.h
vteconv_CPPFLAGS = -DVTECONV_MAIN
......
......@@ -33,6 +33,8 @@
#include "vtepty.h"
#include "vtepty-private.h"
#include "vte.h"
#include "vteenums.h"
#include "vtetypebuiltins.h"
#include "vteversion.h"
#include <sys/types.h>
......
......@@ -16,17 +16,17 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef vte_vte_h_included
#define vte_vte_h_included
#ifndef __VTE_VTE_H__
#define __VTE_VTE_H__
#include <glib.h>
#include <gio/gio.h>
#include <pango/pango.h>
#include <gtk/gtk.h>
#define __VTE_VTE_H_INSIDE__ 1
#include "vteenums.h"
#include "vteglobals.h"
#include "vtepty.h"
#include "vteterminal.h"
#include "vtetypebuiltins.h"
#include "vteversion.h"
......@@ -34,391 +34,10 @@
G_BEGIN_DECLS
#define VTE_TYPE_TERMINAL (vte_terminal_get_type())
#define VTE_TERMINAL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VTE_TYPE_TERMINAL, VteTerminal))
#define VTE_TERMINAL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VTE_TYPE_TERMINAL, VteTerminalClass))
#define VTE_IS_TERMINAL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VTE_TYPE_TERMINAL))
#define VTE_IS_TERMINAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VTE_TYPE_TERMINAL))
#define VTE_TERMINAL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VTE_TYPE_TERMINAL, VteTerminalClass))
typedef struct _VteTerminal VteTerminal;
typedef struct _VteTerminalPrivate VteTerminalPrivate;
typedef struct _VteTerminalClass VteTerminalClass;
typedef struct _VteTerminalClassPrivate VteTerminalClassPrivate;
typedef struct _VteCharAttributes VteCharAttributes;
/**
* VteTerminal:
*/
struct _VteTerminal {
GtkWidget widget;
/*< private >*/
VteTerminalPrivate *pvt;
};
/**
* VteTerminalClass:
*
* All of these fields should be considered read-only, except for derived classes.
*/
struct _VteTerminalClass {
/*< public > */
/* Inherited parent class. */
GtkWidgetClass parent_class;
/*< protected > */
/* Default signal handlers. */
void (*eof)(VteTerminal* terminal);
void (*child_exited)(VteTerminal* terminal, int status);
void (*emulation_changed)(VteTerminal* terminal);
void (*encoding_changed)(VteTerminal* terminal);
void (*char_size_changed)(VteTerminal* terminal, guint char_width, guint char_height);
void (*window_title_changed)(VteTerminal* terminal);
void (*icon_title_changed)(VteTerminal* terminal);
void (*selection_changed)(VteTerminal* terminal);
void (*contents_changed)(VteTerminal* terminal);
void (*cursor_moved)(VteTerminal* terminal);
void (*status_line_changed)(VteTerminal* terminal);
void (*commit)(VteTerminal* terminal, const gchar *text, guint size);
void (*deiconify_window)(VteTerminal* terminal);
void (*iconify_window)(VteTerminal* terminal);
void (*raise_window)(VteTerminal* terminal);
void (*lower_window)(VteTerminal* terminal);
void (*refresh_window)(VteTerminal* terminal);
void (*restore_window)(VteTerminal* terminal);
void (*maximize_window)(VteTerminal* terminal);
void (*resize_window)(VteTerminal* terminal, guint width, guint height);
void (*move_window)(VteTerminal* terminal, guint x, guint y);
/* FIXMEchpe: should these return gboolean and have defaul thandlers
* settings the "scale" property?
*/
void (*increase_font_size)(VteTerminal* terminal);
void (*decrease_font_size)(VteTerminal* terminal);
void (*text_modified)(VteTerminal* terminal);
void (*text_inserted)(VteTerminal* terminal);
void (*text_deleted)(VteTerminal* terminal);
void (*text_scrolled)(VteTerminal* terminal, gint delta);
void (*copy_clipboard)(VteTerminal* terminal);
void (*paste_clipboard)(VteTerminal* terminal);
void (*beep)(VteTerminal* terminal);
/* Padding for future expansion. */
gpointer padding[16];
VteTerminalClassPrivate *priv;
};
/**
* 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;
/**
* 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;
/* The structure we return as the supplemental attributes for strings. */
typedef struct _VteCharAttributes VteCharAttributes;
struct _VteCharAttributes {
/*< private >*/
long row, column;
PangoColor fore, back;
guint underline:1, strikethrough:1;
};
typedef gboolean (*VteSelectionFunc)(VteTerminal *terminal,
glong column,
glong row,
gpointer data);
/* The widget's type. */
GType vte_terminal_get_type(void);
GtkWidget *vte_terminal_new(void);
VtePty *vte_terminal_pty_new_sync (VteTerminal *terminal,
VtePtyFlags flags,
GCancellable *cancellable,
GError **error);
void vte_terminal_watch_child (VteTerminal *terminal,
GPid child_pid);
gboolean vte_terminal_spawn_sync(VteTerminal *terminal,
VtePtyFlags pty_flags,
const char *working_directory,
char **argv,
char **envv,
GSpawnFlags spawn_flags,
GSpawnChildSetupFunc child_setup,
gpointer child_setup_data,
GPid *child_pid /* out */,
GCancellable *cancellable,
GError **error);
/* Send data to the terminal to display, or to the terminal's forked command
* to handle in some way. If it's 'cat', they should be the same. */
void vte_terminal_feed(VteTerminal *terminal, const char *data, gssize length);
void vte_terminal_feed_child(VteTerminal *terminal, const char *text, gssize length);
void vte_terminal_feed_child_binary(VteTerminal *terminal, const guint8 *data, gsize length);
/* Copy currently-selected text to the clipboard, or from the clipboard to
* the terminal. */
void vte_terminal_copy_clipboard(VteTerminal *terminal);
void vte_terminal_paste_clipboard(VteTerminal *terminal);
void vte_terminal_copy_primary(VteTerminal *terminal);
void vte_terminal_paste_primary(VteTerminal *terminal);
void vte_terminal_select_all(VteTerminal *terminal);
void vte_terminal_unselect_all(VteTerminal *terminal);
/* Set the terminal's size. */
void vte_terminal_set_size(VteTerminal *terminal,
glong columns, glong rows);
void vte_terminal_set_font_scale(VteTerminal *terminal,
gdouble scale);
gdouble vte_terminal_get_font_scale(VteTerminal *terminal);
/* Set various on-off settings. */
void vte_terminal_set_audible_bell(VteTerminal *terminal, gboolean is_audible);
gboolean vte_terminal_get_audible_bell(VteTerminal *terminal);
void vte_terminal_set_visible_bell(VteTerminal *terminal, gboolean is_visible);
gboolean vte_terminal_get_visible_bell(VteTerminal *terminal);
void vte_terminal_set_scroll_on_output(VteTerminal *terminal, gboolean scroll);
void vte_terminal_set_scroll_on_keystroke(VteTerminal *terminal,
gboolean scroll);
void vte_terminal_set_rewrap_on_resize(VteTerminal *terminal, gboolean rewrap);
gboolean vte_terminal_get_rewrap_on_resize(VteTerminal *terminal);
/* Set the color scheme. */
void vte_terminal_set_color_bold(VteTerminal *terminal,
const GdkRGBA *bold);
void vte_terminal_set_color_dim(VteTerminal *terminal,
const GdkRGBA *dim);
void vte_terminal_set_color_foreground(VteTerminal *terminal,
const GdkRGBA *foreground);
void vte_terminal_set_color_background(VteTerminal *terminal,
const GdkRGBA *background);
void vte_terminal_set_color_cursor(VteTerminal *terminal,
const GdkRGBA *cursor_background);
void vte_terminal_set_color_highlight(VteTerminal *terminal,
const GdkRGBA *highlight_background);
void vte_terminal_set_color_highlight_foreground(VteTerminal *terminal,
const GdkRGBA *highlight_foreground);
void vte_terminal_set_colors(VteTerminal *terminal,
const GdkRGBA *foreground,
const GdkRGBA *background,
const GdkRGBA *palette,
gsize palette_size);
void vte_terminal_set_default_colors(VteTerminal *terminal);
/* Set whether or not the cursor blinks. */
void vte_terminal_set_cursor_blink_mode(VteTerminal *terminal,
VteCursorBlinkMode mode);
VteCursorBlinkMode vte_terminal_get_cursor_blink_mode(VteTerminal *terminal);
/* Set cursor shape */
void vte_terminal_set_cursor_shape(VteTerminal *terminal,
VteCursorShape shape);
VteCursorShape vte_terminal_get_cursor_shape(VteTerminal *terminal);
/* Set the number of scrollback lines, above or at an internal minimum. */
void vte_terminal_set_scrollback_lines(VteTerminal *terminal, glong lines);
/* Set or retrieve the current font. */
void vte_terminal_set_font(VteTerminal *terminal,
const PangoFontDescription *font_desc);
const PangoFontDescription *vte_terminal_get_font(VteTerminal *terminal);
void vte_terminal_set_allow_bold(VteTerminal *terminal, gboolean allow_bold);
gboolean vte_terminal_get_allow_bold(VteTerminal *terminal);
/* Check if the terminal is the current selection owner. */
gboolean vte_terminal_get_has_selection(VteTerminal *terminal);
/* Set what happens when the user strikes backspace or delete. */
void vte_terminal_set_backspace_binding(VteTerminal *terminal,
VteEraseBinding binding);
void vte_terminal_set_delete_binding(VteTerminal *terminal,
VteEraseBinding binding);
/* Manipulate the autohide setting. */
void vte_terminal_set_mouse_autohide(VteTerminal *terminal, gboolean setting);
gboolean vte_terminal_get_mouse_autohide(VteTerminal *terminal);
/* Reset the terminal, optionally clearing the tab stops and line history. */
void vte_terminal_reset(VteTerminal *terminal,
gboolean clear_tabstops,
gboolean clear_history);
/* Read the contents of the terminal, using a callback function to determine
* if a particular location on the screen (0-based) is interesting enough to
* include. Each byte in the returned string will have a corresponding
* VteCharAttributes structure in the passed GArray, if the array was not %NULL.
* Note that it will have one entry per byte, not per character, so indexes
* should match up exactly. */
char *vte_terminal_get_text(VteTerminal *terminal,
VteSelectionFunc is_selected,
gpointer user_data,
GArray *attributes);
char *vte_terminal_get_text_include_trailing_spaces(VteTerminal *terminal,
VteSelectionFunc is_selected,
gpointer user_data,
GArray *attributes);
char *vte_terminal_get_text_range(VteTerminal *terminal,
glong start_row, glong start_col,
glong end_row, glong end_col,
VteSelectionFunc is_selected,
gpointer user_data,
GArray *attributes);
void vte_terminal_get_cursor_position(VteTerminal *terminal,
glong *column, glong *row);
/* Add a matching expression, returning the tag the widget assigns to that
* expression. */
int vte_terminal_match_add_gregex(VteTerminal *terminal, GRegex *regex, GRegexMatchFlags flags);
/* Set the cursor to be used when the pointer is over a given match. */
void vte_terminal_match_set_cursor(VteTerminal *terminal, int tag,
GdkCursor *cursor);
void vte_terminal_match_set_cursor_type(VteTerminal *terminal,
int tag, GdkCursorType cursor_type);
void vte_terminal_match_set_cursor_name(VteTerminal *terminal,
int tag, const char *cursor_name);
void vte_terminal_match_remove(VteTerminal *terminal, int tag);
void vte_terminal_match_remove_all(VteTerminal *terminal);
/* Check if a given cell on the screen contains part of a matched string. If
* it does, return the string, and store the match tag in the optional tag
* argument. */
char *vte_terminal_match_check(VteTerminal *terminal,
glong column, glong row,
int *tag);
char *vte_terminal_match_check_event(VteTerminal *terminal,
GdkEvent *event,
int *tag);
void vte_terminal_search_set_gregex (VteTerminal *terminal,
GRegex *regex,
GRegexMatchFlags flags);
GRegex *vte_terminal_search_get_gregex (VteTerminal *terminal);
void vte_terminal_search_set_wrap_around (VteTerminal *terminal,
gboolean wrap_around);
gboolean vte_terminal_search_get_wrap_around (VteTerminal *terminal);
gboolean vte_terminal_search_find_previous (VteTerminal *terminal);
gboolean vte_terminal_search_find_next (VteTerminal *terminal);
/* Set the emulation type. Most of the time you won't need this. */
void vte_terminal_set_emulation(VteTerminal *terminal, const char *emulation);
const char *vte_terminal_get_emulation(VteTerminal *terminal);
const char *vte_get_default_emulation(void);
/* Set the character encoding. Most of the time you won't need this. */
void vte_terminal_set_encoding(VteTerminal *terminal, const char *codeset);
const char *vte_terminal_get_encoding(VteTerminal *terminal);
/* CJK compatibility setting */
void vte_terminal_set_cjk_ambiguous_width(VteTerminal *terminal, int width);
int vte_terminal_get_cjk_ambiguous_width(VteTerminal *terminal);
/* Get the contents of the status line. */
const char *vte_terminal_get_status_line(VteTerminal *terminal);
void vte_terminal_set_pty(VteTerminal *terminal, VtePty *pty);
VtePty *vte_terminal_get_pty(VteTerminal *terminal);
char *vte_get_user_shell (void);
/* Accessors for bindings. */
glong vte_terminal_get_char_width(VteTerminal *terminal);
glong vte_terminal_get_char_height(VteTerminal *terminal);
glong vte_terminal_get_row_count(VteTerminal *terminal);
glong vte_terminal_get_column_count(VteTerminal *terminal);
const char *vte_terminal_get_window_title(VteTerminal *terminal);
const char *vte_terminal_get_icon_title(VteTerminal *terminal);
const char *vte_terminal_get_current_directory_uri(VteTerminal *terminal);
const char *vte_terminal_get_current_file_uri(VteTerminal *terminal);
/* misc */
void vte_terminal_set_input_enabled (VteTerminal *terminal,
gboolean enabled);
gboolean vte_terminal_get_input_enabled (VteTerminal *terminal);
/* Window geometry helpers */
void vte_terminal_get_geometry_hints(VteTerminal *terminal,
GdkGeometry *hints,
int min_rows,
int min_columns);
void vte_terminal_set_geometry_hints_for_window(VteTerminal *terminal,
GtkWindow *window);
/* Writing contents out */
/**
* 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;
gboolean vte_terminal_write_contents (VteTerminal *terminal,
GOutputStream *stream,
VteWriteFlags flags,
GCancellable *cancellable,
GError **error);
G_END_DECLS
#endif
#endif /* __VTE_VTE_H__ */
/*
* 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 2.1 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, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef __VTE_VTE_ENUMS_H__
#define __VTE_VTE_ENUMS_H__
#if !defined (__VTE_VTE_H_INSIDE__) && !defined (VTE_COMPILATION)
#error "Only <vte/vte.h> can be included directly."
#endif
#include <glib.h>
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;
/**
* 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: failure when using the GNOME PTY helper to
* allocate the PTY
* @VTE_PTY_ERROR_PTY98_FAILED: failure when using PTY98 to allocate the PTY
*
* Since: 0.26
*/
typedef enum {
VTE_PTY_ERROR_PTY_HELPER_FAILED = 0,
VTE_PTY_ERROR_PTY98_FAILED
} VtePtyError;
/**
* VtePtyFlags:
* @VTE_PTY_NO_LASTLOG: don't record the session in lastlog
* @VTE_PTY_NO_UTMP: don't record the session in utmp
* @VTE_PTY_NO_WTMP: don't record the session in wtmp
* @VTE_PTY_NO_HELPER: don't use the GNOME PTY helper to allocate the PTY
* @VTE_PTY_NO_FALLBACK: when allocating the PTY with the PTY helper fails,
* don't fall back to try using PTY98
* @VTE_PTY_DEFAULT: the default flags
*
* Since: 0.26
*/
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_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;
G_END_DECLS
#endif /* __VTE_VTE_ENUMS_H__ */
/*
* 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 2.1 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, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef __VTE_VTE_GLOBALS_H__
#define __VTE_VTE_GLOBALS_H__
#include <glib.h>
G_BEGIN_DECLS
const char *vte_get_default_emulation(void);
char *vte_get_user_shell(void);
G_END_DECLS
#endif /* __VTE_VTE_GLOBALS_H__ */
......@@ -16,50 +16,18 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef __VTE_VTE_PTY_H__
#define __VTE_VTE_PTY_H__
#if !defined (__VTE_VTE_H_INSIDE__) && !defined (VTE_COMPILATION)
#error "Only <vte/vte.h> can be included directly."
#endif
#ifndef VTE_PTY_H
#define VTE_PTY_H
#include <gio/gio.h>
G_BEGIN_DECLS
#include "vteenums.h"
/**
* VtePtyFlags:
* @VTE_PTY_NO_LASTLOG: don't record the session in lastlog
* @VTE_PTY_NO_UTMP: don't record the session in utmp
* @VTE_PTY_NO_WTMP: don't record the session in wtmp
* @VTE_PTY_NO_HELPER: don't use the GNOME PTY helper to allocate the PTY
* @VTE_PTY_NO_FALLBACK: when allocating the PTY with the PTY helper fails,
* don't fall back to try using PTY98
* @VTE_PTY_DEFAULT: the default flags
*
* Since: 0.26
*/
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_DEFAULT = 0
} VtePtyFlags;
/**
* VtePtyError:
* @VTE_PTY_ERROR_PTY_HELPER_FAILED: failure when using the GNOME PTY helper to
* allocate the PTY
* @VTE_PTY_ERROR_PTY98_FAILED: failure when using PTY98 to allocate the PTY
*
* Since: 0.26
*/
typedef enum {
VTE_PTY_ERROR_PTY_HELPER_FAILED = 0,
VTE_PTY_ERROR_PTY98_FAILED
} VtePtyError;
G_BEGIN_DECLS
#define VTE_SPAWN_NO_PARENT_ENVV (1 << 25)
......@@ -122,4 +90,4 @@ void vte_pty_set_term (VtePty *pty,
G_END_DECLS
#endif /* VTE_PTY_H */
#endif /* __VTE_VTE_PTY_H__ */
/*
* 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 2.1 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, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef __VTE_VTE_TERMINAL_H__
#define __VTE_VTE_TERMINAL_H__
#if !defined (__VTE_VTE_H_INSIDE__) && !defined (VTE_COMPILATION)
#error "Only <vte/vte.h> can be included directly."
#endif
#include <glib.h>
#include <gio/gio.h>
#include <pango/pango.h>
#include <gtk/gtk.h>
#include "vteenums.h"
#include "vtepty.h"
G_BEGIN_DECLS
#define VTE_TYPE_TERMINAL (vte_terminal_get_type())
#define VTE_TERMINAL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VTE_TYPE_TERMINAL, VteTerminal))
#define VTE_TERMINAL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VTE_TYPE_TERMINAL, VteTerminalClass))
#define VTE_IS_TERMINAL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VTE_TYPE_TERMINAL))
#define VTE_IS_TERMINAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VTE_TYPE_TERMINAL))
#define VTE_TERMINAL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VTE_TYPE_TERMINAL, VteTerminalClass))
typedef struct _VteTerminal VteTerminal;
typedef struct _VteTerminalPrivate VteTerminalPrivate;
typedef struct _VteTerminalClass VteTerminalClass;
typedef struct _VteTerminalClassPrivate VteTerminalClassPrivate;
typedef struct _VteCharAttributes VteCharAttributes;
/**
* VteTerminal:
*/
struct _VteTerminal {
GtkWidget widget;
/*< private >*/
VteTerminalPrivate *pvt;
};
/**
* VteTerminalClass:
*
* All of these fields should be considered read-only, except for derived classes.
*/
struct _VteTerminalClass {