vte r2116 - in trunk: . doc/reference doc/reference/tmpl src
- From: behdad svn gnome org
- To: svn-commits-list gnome org
- Subject: vte r2116 - in trunk: . doc/reference doc/reference/tmpl src
- Date: Tue, 14 Oct 2008 20:25:25 +0000 (UTC)
Author: behdad
Date: Tue Oct 14 20:25:25 2008
New Revision: 2116
URL: http://svn.gnome.org/viewvc/vte?rev=2116&view=rev
Log:
2008-10-14 Behdad Esfahbod <behdad gnome org>
Bug 549835 â Feature Request: Configurable cursor appearance
* src/vte.h:
New public api:
VteTerminalCursorShape
vte_terminal_set_cursor_shape
vte_terminal_get_cursor_shape
* src/vte-private.h:
* src/vte.c (_vte_terminal_insert_char), (vte_terminal_init),
(vte_terminal_paint_cursor), (vte_terminal_paint),
(vte_terminal_set_cursor_shape), (vte_terminal_get_cursor_shape):
Implement new API. Also clean up cursor drawing in general.
* doc/reference/Makefile.am:
* doc/reference/tmpl/reaper.sgml:
* doc/reference/tmpl/vte-unused.sgml:
* doc/reference/tmpl/vte.sgml:
* doc/reference/vte-sections.txt:
Doc new symbols. Also add some missing docs.
Modified:
trunk/ChangeLog
trunk/doc/reference/Makefile.am
trunk/doc/reference/tmpl/reaper.sgml
trunk/doc/reference/tmpl/vte-unused.sgml
trunk/doc/reference/tmpl/vte.sgml
trunk/doc/reference/vte-sections.txt
trunk/src/vte-private.h
trunk/src/vte.c
trunk/src/vte.h
Modified: trunk/doc/reference/Makefile.am
==============================================================================
--- trunk/doc/reference/Makefile.am (original)
+++ trunk/doc/reference/Makefile.am Tue Oct 14 20:25:25 2008
@@ -6,6 +6,9 @@
# The top-level SGML file.
DOC_MAIN_SGML_FILE=vte-docs.sgml
+# Extra options to supply to gtkdoc-scan
+SCAN_OPTIONS=--deprecated-guards="VTE_DISABLE_DEPRECATED"
+
# The directory containing the source code. Relative to $(srcdir)
DOC_SOURCE_DIR=../../src
Modified: trunk/doc/reference/tmpl/reaper.sgml
==============================================================================
--- trunk/doc/reference/tmpl/reaper.sgml (original)
+++ trunk/doc/reference/tmpl/reaper.sgml Tue Oct 14 20:25:25 2008
@@ -23,35 +23,3 @@
<!-- ##### SECTION Stability_Level ##### -->
-<!-- ##### STRUCT VteReaper ##### -->
-<para>
-This should not be accessed directly.
-</para>
-
-
-<!-- ##### SIGNAL VteReaper::child-exited ##### -->
-<para>
-Emitted when the #VteReaper object detects that a child of the current process has exited.
-</para>
-
- vtereaper: the object which received the signal.
- arg1: the process ID of the exited child.
- arg2: the status of the exited child, as returned by waitpid().
-
-<!-- ##### FUNCTION vte_reaper_get ##### -->
-<para>
-
-</para>
-
- Returns:
-
-
-<!-- ##### FUNCTION vte_reaper_add_child ##### -->
-<para>
-
-</para>
-
- pid:
- Returns:
-
-
Modified: trunk/doc/reference/tmpl/vte-unused.sgml
==============================================================================
--- trunk/doc/reference/tmpl/vte-unused.sgml (original)
+++ trunk/doc/reference/tmpl/vte-unused.sgml Tue Oct 14 20:25:25 2008
@@ -172,6 +172,21 @@
@VTE_DEBUG_KEYBOARD:
@VTE_DEBUG_LIFECYCLE:
+<!-- ##### STRUCT VteReaper ##### -->
+<para>
+This should not be accessed directly.
+</para>
+
+
+<!-- ##### SIGNAL VteReaper::child-exited ##### -->
+<para>
+Emitted when the #VteReaper object detects that a child of the current process has exited.
+</para>
+
+ vtereaper: the object which received the signal.
+ arg1: the process ID of the exited child.
+ arg2: the status of the exited child, as returned by waitpid().
+
<!-- ##### STRUCT VteReaperClass ##### -->
<para>
@@ -333,6 +348,21 @@
@rows:
@Returns:
+<!-- ##### FUNCTION vte_reaper_add_child ##### -->
+<para>
+
+</para>
+
+ pid:
+ Returns:
+
+<!-- ##### FUNCTION vte_reaper_get ##### -->
+<para>
+
+</para>
+
+ Returns:
+
<!-- ##### FUNCTION vte_ring_append ##### -->
<para>
Modified: trunk/doc/reference/tmpl/vte.sgml
==============================================================================
--- trunk/doc/reference/tmpl/vte.sgml (original)
+++ trunk/doc/reference/tmpl/vte.sgml Tue Oct 14 20:25:25 2008
@@ -35,7 +35,7 @@
<!-- ##### SIGNAL VteTerminal::beep ##### -->
<para>
-
+This signal is emitted when the a child sends a beep request to the terminal.
</para>
@vteterminal: the object which received the signal.
@@ -288,6 +288,27 @@
@VTE_ERASE_ASCII_DELETE: Send an ASCII delete character (0x7F).
@VTE_ERASE_DELETE_SEQUENCE: Send the "@@7" control sequence.
+<!-- ##### ENUM VteTerminalCursorShape ##### -->
+<para>
+An enumerated type which can be used to indicate what should the terminal
+draw at the cursor position.
+</para>
+
+ 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.
+
+<!-- ##### ENUM VteTerminalCursorBlinkMode ##### -->
+<para>
+An enumerated type which can be used to indicate the cursor blink mode
+for the terminal.
+</para>
+
+ VTE_CURSOR_BLINK_SYSTEM: Follow GTK+ settings for cursor blinking.
+ VTE_CURSOR_BLINK_ON: Cursor blinks.
+ VTE_CURSOR_BLINK_OFF: Cursor does not blink.
+
<!-- ##### FUNCTION vte_terminal_new ##### -->
<para>
</para>
@@ -341,6 +362,15 @@
@pty_master:
+<!-- ##### FUNCTION vte_terminal_get_pty ##### -->
+<para>
+
+</para>
+
+ terminal:
+ Returns:
+
+
<!-- ##### FUNCTION vte_terminal_feed ##### -->
<para>
@@ -371,6 +401,15 @@
@length:
+<!-- ##### FUNCTION vte_terminal_get_child_exit_status ##### -->
+<para>
+
+</para>
+
+ terminal:
+ Returns:
+
+
<!-- ##### FUNCTION vte_terminal_select_all ##### -->
<para>
@@ -638,6 +677,24 @@
@scroll:
+<!-- ##### FUNCTION vte_terminal_set_cursor_shape ##### -->
+<para>
+
+</para>
+
+ terminal:
+ shape:
+
+
+<!-- ##### FUNCTION vte_terminal_get_cursor_shape ##### -->
+<para>
+
+</para>
+
+ terminal:
+ Returns:
+
+
<!-- ##### FUNCTION vte_terminal_set_cursor_blinks ##### -->
<para>
Modified: trunk/doc/reference/vte-sections.txt
==============================================================================
--- trunk/doc/reference/vte-sections.txt (original)
+++ trunk/doc/reference/vte-sections.txt Tue Oct 14 20:25:25 2008
@@ -3,14 +3,18 @@
<TITLE>VteTerminal</TITLE>
VteTerminal
VteTerminalEraseBinding
+VteTerminalCursorShape
+VteTerminalCursorBlinkMode
vte_terminal_new
vte_terminal_im_append_menuitems
vte_terminal_fork_command
vte_terminal_forkpty
vte_terminal_set_pty
+vte_terminal_get_pty
vte_terminal_feed
vte_terminal_feed_child
vte_terminal_feed_child_binary
+vte_terminal_get_child_exit_status
vte_terminal_select_all
vte_terminal_select_none
vte_terminal_copy_clipboard
@@ -41,6 +45,8 @@
vte_terminal_set_background_transparent
vte_terminal_set_background_tint_color
vte_terminal_set_scroll_background
+vte_terminal_set_cursor_shape
+vte_terminal_get_cursor_shape
vte_terminal_set_cursor_blinks
vte_terminal_get_cursor_blink_mode
vte_terminal_set_cursor_blink_mode
@@ -79,6 +85,10 @@
vte_terminal_get_status_line
vte_terminal_get_padding
<SUBSECTION Standard>
+vte_terminal_cursor_blink_mode_get_type
+vte_terminal_cursor_shape_get_type
+VTE_TYPE_TERMINAL_CURSOR_BLINK_MODE
+VTE_TYPE_TERMINAL_CURSOR_SHAPE
vte_terminal_erase_binding_get_type
VTE_TYPE_TERMINAL_ERASE_BINDING
VTE_IS_TERMINAL_ERASE_BINDING
Modified: trunk/src/vte-private.h
==============================================================================
--- trunk/src/vte-private.h (original)
+++ trunk/src/vte-private.h Tue Oct 14 20:25:25 2008
@@ -315,6 +315,9 @@
gboolean scroll_on_keystroke;
long scrollback_lines;
+ /* Cursor shape */
+ VteTerminalCursorShape cursor_shape;
+
/* Cursor blinking. */
VteTerminalCursorBlinkMode cursor_blink_mode;
gboolean cursor_blink_state;
Modified: trunk/src/vte.c
==============================================================================
--- trunk/src/vte.c (original)
+++ trunk/src/vte.c Tue Oct 14 20:25:25 2008
@@ -2870,6 +2870,7 @@
VteScreen *screen;
gboolean line_wrapped = FALSE; /* cursor moved before char inserted */
+ g_message ("insert %04X", c);
screen = terminal->pvt->screen;
insert |= screen->insert_mode;
invalidate_now |= insert;
@@ -2906,6 +2907,7 @@
_vte_debug_print(VTE_DEBUG_ADJ,
"Autowrapping before character\n");
/* Wrap. */
+ /* XXX clear to the end of line */
col = screen->cursor_current.col = 0;
/* Mark this line as soft-wrapped. */
row = _vte_terminal_ensure_row(terminal);
@@ -7839,6 +7841,9 @@
pvt->nrc_mode = TRUE;
vte_terminal_set_default_tabstops(terminal);
+ /* Cursor shape. */
+ pvt->cursor_shape = VTE_CURSOR_SHAPE_BLOCK;
+
/* Cursor blinking. */
pvt->cursor_visible = TRUE;
pvt->cursor_blink_timeout = 500;
@@ -10313,18 +10318,163 @@
height);
}
+static void
+vte_terminal_paint_cursor(VteTerminal *terminal)
+{
+ VteScreen *screen;
+ GdkColor color;
+ struct vte_charcell *cell;
+ struct _vte_draw_text_request item;
+ int row, drow, col;
+ long width, height, delta, cursor_width;
+ int fore, back, x, y;
+ gboolean blink, selected, focus;
+
+ if (!terminal->pvt->cursor_visible)
+ return;
+
+ screen = terminal->pvt->screen;
+ delta = screen->scroll_delta;
+ col = screen->cursor_current.col;
+ drow = screen->cursor_current.row;
+ row = drow - delta;
+ width = terminal->char_width;
+ height = terminal->char_height;
+
+ if ((CLAMP(col, 0, terminal->column_count - 1) != col) ||
+ (CLAMP(row, 0, terminal->row_count - 1) != row))
+ return;
+
+ focus = GTK_WIDGET_HAS_FOCUS(terminal);
+ blink = terminal->pvt->cursor_blink_state ^ terminal->pvt->screen->reverse_mode;
+
+ if (focus && !blink)
+ return;
+
+ /* Find the character "under" the cursor. */
+ cell = vte_terminal_find_charcell(terminal, col, drow);
+ while ((cell != NULL) && (cell->attr.fragment) && (col > 0)) {
+ col--;
+ cell = vte_terminal_find_charcell(terminal, col, drow);
+ }
+
+ /* Draw the cursor. */
+ item.c = (cell && cell->c) ? cell->c : ' ';
+ item.columns = cell ? cell->attr.columns : 1;
+ item.x = col * width;
+ item.y = row * height;
+ cursor_width = item.columns * width;
+ if (cell && cell->c != 0) {
+ gint cw = _vte_draw_get_char_width (terminal->pvt->draw,
+ cell->c, cell->attr.columns);
+ cursor_width = MAX(cursor_width, cw);
+ cursor_width += cell->attr.bold; /* for pseudo-bolding */
+ }
+
+ selected = vte_cell_is_selected(terminal, col, drow, NULL);
+
+ vte_terminal_determine_colors(terminal, cell,
+ TRUE^selected, selected, TRUE,
+ &fore, &back);
+
+ x = item.x + VTE_PAD_WIDTH;
+ y = item.y + VTE_PAD_WIDTH;
+
+ switch (terminal->pvt->cursor_shape) {
+
+ case VTE_CURSOR_SHAPE_IBEAM:
+
+ vte_terminal_draw_line(terminal, &terminal->pvt->palette[back],
+ x - 2,
+ y,
+ x - 2,
+ y + height - 1);
+ break;
+
+ case VTE_CURSOR_SHAPE_UNDERLINE:
+
+ vte_terminal_draw_line(terminal, &terminal->pvt->palette[back],
+ x,
+ y + height - 1,
+ x + cursor_width - 1,
+ y + height - 1);
+ break;
+
+ case VTE_CURSOR_SHAPE_BLOCK:
+
+ color.red = terminal->pvt->palette[back].red;
+ color.green = terminal->pvt->palette[back].green;
+ color.blue = terminal->pvt->palette[back].blue;
+
+ if (selected || focus) {
+ /* just reverse the character under the cursor */
+
+ _vte_draw_fill_rectangle(terminal->pvt->draw,
+ x,
+ y,
+ cursor_width,
+ height,
+ &color,
+ VTE_DRAW_OPAQUE);
+
+ if (!vte_terminal_unichar_is_local_graphic(terminal, item.c) ||
+ !vte_terminal_draw_graphic(terminal,
+ item.c,
+ fore, back,
+ TRUE,
+ item.x,
+ item.y,
+ width,
+ item.columns,
+ height)) {
+ gboolean hilite = FALSE;
+ if (cell && terminal->pvt->show_match) {
+ hilite = vte_cell_is_between(col, row,
+ terminal->pvt->match_start.column,
+ terminal->pvt->match_start.row,
+ terminal->pvt->match_end.column,
+ terminal->pvt->match_end.row,
+ TRUE);
+ }
+ if (cell && cell->c != 0 && cell->c != ' ') {
+ vte_terminal_draw_cells(terminal,
+ &item, 1,
+ fore, back, TRUE, FALSE,
+ cell->attr.bold,
+ cell->attr.underline,
+ cell->attr.strikethrough,
+ hilite,
+ FALSE,
+ width,
+ height);
+ }
+ }
+
+ } else {
+ /* draw a box around the character */
+
+ _vte_draw_draw_rectangle(terminal->pvt->draw,
+ x - VTE_CURSOR_OUTLINE,
+ y - VTE_CURSOR_OUTLINE,
+ cursor_width + 2*VTE_CURSOR_OUTLINE,
+ height + 2*VTE_CURSOR_OUTLINE,
+ &color,
+ VTE_DRAW_OPAQUE);
+ }
+
+ break;
+ }
+}
+
/* Draw the widget. */
static void
vte_terminal_paint(GtkWidget *widget, GdkRegion *region)
{
VteTerminal *terminal;
VteScreen *screen;
- struct vte_charcell *cell;
- struct _vte_draw_text_request item;
int row, drow, col, columns;
- long width, height, ascent, descent, delta, cursor_width;
+ long width, height, ascent, descent, delta;
int i, len, fore, back, x, y;
- gboolean blink, selected;
_vte_debug_print(VTE_DEBUG_LIFECYCLE, "vte_terminal_paint()\n");
_vte_debug_print(VTE_DEBUG_WORK, "=");
@@ -10409,157 +10559,7 @@
g_free (rectangles);
}
-
- /* Draw the cursor. */
- if (terminal->pvt->cursor_visible &&
- (CLAMP(screen->cursor_current.col, 0, terminal->column_count - 1) ==
- screen->cursor_current.col) &&
- (CLAMP(screen->cursor_current.row,
- delta, delta + terminal->row_count - 1) ==
- screen->cursor_current.row)) {
- /* Get the location of the cursor. */
- col = screen->cursor_current.col;
- drow = screen->cursor_current.row;
- row = drow - delta;
-
- /* Find the character "under" the cursor. */
- cell = vte_terminal_find_charcell(terminal, col, drow);
- while ((cell != NULL) && (cell->attr.fragment) && (col > 0)) {
- col--;
- cell = vte_terminal_find_charcell(terminal, col, drow);
- }
-
- /* Draw the cursor. */
- item.c = (cell && cell->c) ? cell->c : ' ';
- item.columns = cell ? cell->attr.columns : 1;
- item.x = col * width;
- item.y = row * height;
- cursor_width = item.columns * width;
- if (cell && cell->c != 0) {
- gint cw = _vte_draw_get_char_width (terminal->pvt->draw,
- cell->c, cell->attr.columns);
- cursor_width = MAX(cursor_width, cw);
- cursor_width += cell->attr.bold; /* pseudo-bolding */
- }
- selected = vte_cell_is_selected(terminal, col, drow, NULL);
- if (GTK_WIDGET_HAS_FOCUS(terminal)) {
- blink = terminal->pvt->cursor_blink_state ^
- terminal->pvt->screen->reverse_mode;
- vte_terminal_determine_colors(terminal, cell,
- blink | selected,
- selected,
- blink,
- &fore, &back);
- if (blink) {
- GdkColor color;
- if (selected) {
- goto draw_cursor_outline;
- }
- color.red = terminal->pvt->palette[back].red;
- color.green = terminal->pvt->palette[back].green;
- color.blue = terminal->pvt->palette[back].blue;
- _vte_draw_fill_rectangle(terminal->pvt->draw,
- item.x + VTE_PAD_WIDTH,
- item.y + VTE_PAD_WIDTH,
- cursor_width,
- height,
- &color,
- VTE_DRAW_OPAQUE);
- if (!vte_terminal_unichar_is_local_graphic(terminal, item.c) ||
- !vte_terminal_draw_graphic(terminal,
- item.c,
- fore, back,
- TRUE,
- item.x,
- item.y,
- width,
- item.columns,
- height)) {
- gboolean hilite = FALSE;
- if (cell && terminal->pvt->show_match) {
- hilite = vte_cell_is_between(col, row,
- terminal->pvt->match_start.column,
- terminal->pvt->match_start.row,
- terminal->pvt->match_end.column,
- terminal->pvt->match_end.row,
- TRUE);
- }
- if (cell && cell->c != 0 && cell->c != ' ') {
- vte_terminal_draw_cells(terminal,
- &item, 1,
- fore, back, TRUE, FALSE,
- cell->attr.bold,
- cell->attr.underline,
- cell->attr.strikethrough,
- hilite,
- FALSE,
- width,
- height);
- }
- }
- }
- } else {
- GdkColor color;
-draw_cursor_outline:
- _vte_draw_clear(terminal->pvt->draw,
- col * width + VTE_PAD_WIDTH,
- row * height + VTE_PAD_WIDTH,
- cursor_width, height);
- vte_terminal_determine_colors(terminal, cell,
- terminal->pvt->screen->reverse_mode,
- selected,
- TRUE,
- &fore, &back);
- if (!vte_terminal_unichar_is_local_graphic(terminal, item.c) ||
- !vte_terminal_draw_graphic(terminal,
- item.c,
- fore, back,
- TRUE,
- item.x,
- item.y,
- width,
- item.columns,
- height)) {
- gboolean hilite = FALSE;
- if (cell && terminal->pvt->show_match) {
- hilite = vte_cell_is_between(col, row,
- terminal->pvt->match_start.column,
- terminal->pvt->match_start.row,
- terminal->pvt->match_end.column,
- terminal->pvt->match_end.row,
- TRUE);
- }
- /* Draw it as a hollow rectangle overtop character. */
- if (cell && cell->c != 0 && cell->c != ' ') {
- vte_terminal_draw_cells(terminal,
- &item, 1,
- fore, back, TRUE, FALSE,
- cell->attr.bold,
- cell->attr.underline,
- cell->attr.strikethrough,
- hilite,
- FALSE,
- width,
- height);
- }
- }
- vte_terminal_determine_colors(terminal, cell,
- !terminal->pvt->screen->reverse_mode,
- selected,
- TRUE,
- &fore, &back);
- color.red = terminal->pvt->palette[back].red;
- color.green = terminal->pvt->palette[back].green;
- color.blue = terminal->pvt->palette[back].blue;
- _vte_draw_draw_rectangle(terminal->pvt->draw,
- item.x + VTE_PAD_WIDTH - VTE_CURSOR_OUTLINE,
- item.y + VTE_PAD_WIDTH - VTE_CURSOR_OUTLINE,
- cursor_width + 2*VTE_CURSOR_OUTLINE,
- height + 2*VTE_CURSOR_OUTLINE,
- &color,
- VTE_DRAW_OPAQUE);
- }
- }
+ vte_terminal_paint_cursor(terminal);
/* Draw the pre-edit string (if one exists) over the cursor. */
if (terminal->pvt->im_preedit) {
@@ -11907,7 +11907,9 @@
* vte_terminal_get_cursor_blink_mode:
* @terminal: a #VteTerminal
*
- * Returns the cursor blink mode.
+ * Returns the currently set cursor blink mode.
+ *
+ * Return value: cursor blink mode.
*
* Since: 0.16.15
*/
@@ -11920,6 +11922,47 @@
}
/**
+ * vte_terminal_set_cursor_shape:
+ * @terminal: a #VteTerminal
+ * @shape: the #VteTerminalCursorShape to use
+ *
+ * Sets the shape of the cursor drawn.
+ *
+ * Since: 0.17.6
+ */
+void
+vte_terminal_set_cursor_shape(VteTerminal *terminal, VteTerminalCursorShape shape)
+{
+ VteTerminalPrivate *pvt;
+
+ g_return_if_fail(VTE_IS_TERMINAL(terminal));
+ pvt = terminal->pvt;
+
+ if (pvt->cursor_shape == shape)
+ return;
+
+ pvt->cursor_shape = shape;
+}
+
+/**
+ * vte_terminal_get_cursor_shape:
+ * @terminal: a #VteTerminal
+ *
+ * Returns the currently set cursor shape.
+ *
+ * Return value: cursor shape.
+ *
+ * Since: 0.17.6
+ */
+VteTerminalCursorShape
+vte_terminal_get_cursor_shape(VteTerminal *terminal)
+{
+ g_return_val_if_fail(VTE_IS_TERMINAL(terminal), VTE_CURSOR_SHAPE_BLOCK);
+
+ return terminal->pvt->cursor_shape;
+}
+
+/**
* vte_terminal_set_scrollback_lines:
* @terminal: a #VteTerminal
* @lines: the length of the history buffer
@@ -12535,8 +12578,9 @@
* vte_terminal_get_pty:
* @terminal: a #VteTerminal
*
- * Returns: the file descriptor of the master end of @terminal's PTY,
- * or -1 if the terminal has no PTY.
+ * Returns the file descriptor of the master end of @terminal's PTY.
+ *
+ * Return value: the file descriptor, or -1 if the terminal has no PTY.
*
* Since: 0.17.5
*/
Modified: trunk/src/vte.h
==============================================================================
--- trunk/src/vte.h (original)
+++ trunk/src/vte.h Tue Oct 14 20:25:25 2008
@@ -175,6 +175,13 @@
VTE_CURSOR_BLINK_OFF
} VteTerminalCursorBlinkMode;
+/* Values for the cursor shape setting */
+typedef enum {
+ VTE_CURSOR_SHAPE_BLOCK,
+ VTE_CURSOR_SHAPE_IBEAM,
+ VTE_CURSOR_SHAPE_UNDERLINE
+} VteTerminalCursorShape;
+
/* The structure we return as the supplemental attributes for strings. */
struct _VteCharAttributes {
long row, column;
@@ -292,11 +299,18 @@
/* Set whether or not the cursor blinks. */
#ifndef VTE_DISABLE_DEPRECATED
-void vte_terminal_set_cursor_blinks(VteTerminal *terminal, gboolean blink) G_GNUC_DEPRECATED;
+void vte_terminal_set_cursor_blinks(VteTerminal *terminal,
+ gboolean blink) G_GNUC_DEPRECATED;
#endif
-void vte_terminal_set_cursor_blink_mode(VteTerminal *terminal, VteTerminalCursorBlinkMode mode);
+void vte_terminal_set_cursor_blink_mode(VteTerminal *terminal,
+ VteTerminalCursorBlinkMode mode);
VteTerminalCursorBlinkMode vte_terminal_get_cursor_blink_mode(VteTerminal *terminal);
+/* Set cursor shape */
+void vte_terminal_set_cursor_shape(VteTerminal *terminal,
+ VteTerminalCursorShape shape);
+VteTerminalCursorShape 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);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]