Commit cf8e7d95 authored by Nalin Dahyabhai's avatar Nalin Dahyabhai
Browse files

assorted updates. check for <sys/termios.h> include <sys/termios.h> if

* README: assorted updates.
* configure.in: check for <sys/termios.h>
* src/pty.c: include <sys/termios.h> if found (#141392).
* src/dumpkeys.c, src/mev.c, src/pty.c, src/ssfe.c, src/vte.c: do the same.
* doc/reference/vte-sections.txt: add several functions which are new but
	which weren't in the generated docs before.
* doc/reference/vte-unused.txt: sort.
parent c2453e48
2004-04-29 nalin
* README: assorted updates.
* configure.in: check for <sys/termios.h>
* src/pty.c: include <sys/termios.h> if found (#141392).
* src/dumpkeys.c, src/mev.c, src/pty.c, src/ssfe.c, src/vte.c: do the
same.
* doc/reference/vte-sections.txt: add several functions which are new
but which weren't in the generated docs.
* doc/reference/vte-unused.txt: sort.
2004-04-29 nalin
* src/vte.c(vte_terminal_scroll_region): remove stray debug printfs.
......
......@@ -4,12 +4,15 @@
libtermcap or curses or ncurses) to determine how to drive a terminal, why
can't a terminal emulator use a termcap file to determine how to behave?"
Update: the answer is most likely "because applications which use curses
have more detailed information than that which is found in termcap".
* What does VTE include?
- VTE includes a library (libvte) which implements such a terminal emulator
widget for GTK+ 2.0, and a sample application (vte) which wraps that widget
in a GTK window. Because I'm more concerned with whether or not it works,
all settings are hard-coded to whatever I needed to test the last time I
touched it. If you actually want to use the widget to get work done, you
widget for GTK+ 2.2/2.4, and a sample application (vte) which wraps that
widget in a GTK window. Because I'm more concerned with whether or not it
works, all settings are hard-coded to whatever I needed to test the last time
I touched it. If you actually want to use the widget to get work done, you
should probably be using gnome-terminal.
* How does it work?
......@@ -20,20 +23,23 @@
* What's missing?
- Accessibility doesn't work quite right yet.
- Mouse hilite tracking isn't implemented yet.
- Mouse hilite tracking isn't implemented yet. If you'll pardon the pun, for
certain applications we're terminally unusable without it.
- No support for bidirectional text display.
- No support for shaping.
- Most control sequences are recognized, but many aren't implemented. There
are enough to run ls, vim, less, emacs and mutt, but more need to be
implemented (ds, ff, hd, hu, i1, i3, iP, is, LF, LO, MC, ML, mm, mo, pf, pk,
pl, pn, po, pO, ps, px, r1, r2, r3, RA, RF, rp, rs, RX, SA, SX, wi, several
more from the XTerm set).
- I'm not sure the widget implementation itself is correct. There are many
changes in going from GTK+ 1.2 to 2.0, and examples of the proper way to do
changes in going from GTK+ 1.2 to 2.x, and examples of the proper way to do
things is currently scarce, so some of it's guesswork.
- An actual property interface needs to be retrofitted over the various options
which are only presented as get/set accessors.
* What's weird?
- Relative cursor motion is weird. When the character to the right of the
- Relative cursor motion is weird. When the character to the left of the
cursor is a 3-byte UTF-8 sequence for a character which occupies two
columns on the screen, three things may happen when the application sends
the "cursor left" control sequence:
......@@ -45,7 +51,8 @@
application to emit a control sequence more than once for multi-column
characters.
* the cursor moves one "byte" to the left
This happens to work for a few locales, and is otherwise just broken.
This is what most OS kernels do when reading input using "cat". It
happens to work for a few locales, and is otherwise just plain broken.
Currently VTE follows the second convention. More on this topic:
http://czyborra.com/unicode/terminals.html
http://mail.nl.linux.org/linux-utf8/1999-10/msg00014.html
......
......@@ -234,7 +234,8 @@ AC_DEFINE(VTE_UTF8_BPC,6,[Maximum number of bytes used per UTF-8 character.])
AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE",[Package name.])
# Check for headers.
AC_CHECK_HEADERS(sys/select.h sys/un.h stropts.h termios.h wchar.h)
AC_CHECK_HEADERS(sys/select.h sys/termios.h sys/un.h stropts.h termios.h wchar.h)
AC_HEADER_TIOCGWINSZ
# Check for PTY handling functions.
AC_CHECK_FUNCS(cfmakeraw getpgid getpt grantpt unlockpt ptsname ptsname_r recvmsg)
......
......@@ -41,3 +41,12 @@ Emitted when the #VteReaper object detects that a child of the current process h
@Returns:
<!-- ##### FUNCTION vte_reaper_add_child ##### -->
<para>
</para>
@pid:
@data:
......@@ -474,6 +474,24 @@ keys.
@bold:
<!-- ##### FUNCTION vte_terminal_set_color_cursor ##### -->
<para>
</para>
@terminal:
@cursor_background:
<!-- ##### FUNCTION vte_terminal_set_color_highlight ##### -->
<para>
</para>
@terminal:
@highlight_background:
<!-- ##### FUNCTION vte_terminal_set_colors ##### -->
<para>
......@@ -586,6 +604,30 @@ keys.
@name:
<!-- ##### FUNCTION vte_terminal_set_font_from_string_full ##### -->
<para>
</para>
@terminal:
@name:
@antialias:
<!-- # Unused Parameters # -->
@anti_alias:
<!-- ##### FUNCTION vte_terminal_set_font_full ##### -->
<para>
</para>
@terminal:
@font_desc:
@antialias:
<!-- # Unused Parameters # -->
@anti_alias:
<!-- ##### FUNCTION vte_terminal_get_font ##### -->
<para>
......@@ -768,6 +810,16 @@ keys.
@cursor:
<!-- ##### FUNCTION vte_terminal_match_set_cursor_type ##### -->
<para>
</para>
@terminal:
@tag:
@cursor_type:
<!-- ##### FUNCTION vte_terminal_set_emulation ##### -->
<para>
......@@ -786,6 +838,15 @@ keys.
@Returns:
<!-- ##### FUNCTION vte_terminal_get_default_emulation ##### -->
<para>
</para>
@terminal:
@Returns:
<!-- ##### FUNCTION vte_terminal_set_encoding ##### -->
<para>
......
......@@ -26,6 +26,8 @@ vte_terminal_set_color_bold
vte_terminal_set_color_foreground
vte_terminal_set_color_background
vte_terminal_set_color_dim
vte_terminal_set_color_cursor
vte_terminal_set_color_highlight
vte_terminal_set_colors
vte_terminal_set_default_colors
vte_terminal_set_background_image
......@@ -38,6 +40,8 @@ vte_terminal_set_cursor_blinks
vte_terminal_set_scrollback_lines
vte_terminal_set_font
vte_terminal_set_font_from_string
vte_terminal_set_font_from_string_full
vte_terminal_set_font_full
vte_terminal_get_font
vte_terminal_get_using_xft
vte_terminal_get_has_selection
......@@ -56,8 +60,10 @@ vte_terminal_match_add
vte_terminal_match_remove
vte_terminal_match_check
vte_terminal_match_set_cursor
vte_terminal_match_set_cursor_type
vte_terminal_set_emulation
vte_terminal_get_emulation
vte_terminal_get_default_emulation
vte_terminal_set_encoding
vte_terminal_get_encoding
vte_terminal_get_status_line
......@@ -105,6 +111,7 @@ VTE_TERMINAL_ACCESSIBLE_GET_CLASS
<TITLE>VteReaper</TITLE>
VteReaper
vte_reaper_get
vte_reaper_add_child
<SUBSECTION Standard>
VTE_REAPER
VTE_IS_REAPER
......
......@@ -92,10 +92,10 @@ libvte_la_SOURCES = \
VERSION_REVISION=0
# CURRENT must be incremented when an API or ABI change (addition or removal)
# is made, and REVISION must be reset to 0 when this happens.
VERSION_CURRENT=7
VERSION_CURRENT=8
# AGE must be incremented when an API or ABI addition is made, and REVISION
# must be reset to 0 when this happens.
VERSION_AGE=3
VERSION_AGE=4
libvte_la_LDFLAGS = @LDFLAGS@ -version-info $(VERSION_CURRENT):$(VERSION_REVISION):$(VERSION_AGE)
libvte_la_LIBADD = @LIBS@ @VTE_LIBS@ @X_LIBS@
......
......@@ -21,6 +21,9 @@
#ifdef HAVE_SYS_SELECT_H
#include <sys/select.h>
#endif
#ifdef HAVE_SYS_TERMIOS_H
#include <sys/termios.h>
#endif
#include <sys/time.h>
#include <sys/types.h>
#include <unistd.h>
......@@ -29,7 +32,9 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifdef HAVE_TERMIOS_H
#include <termios.h>
#endif
#include <unistd.h>
#include <glib.h>
......
......@@ -19,12 +19,17 @@
#ident "$Id$"
#include "../config.h"
#include <sys/types.h>
#ifdef HAVE_SYS_TERMIOS_H
#include <sys/termios.h>
#endif
#include <sys/time.h>
#include <stdio.h>
#include <fcntl.h>
#include <signal.h>
#include <string.h>
#ifdef HAVE_TERMIOS_H
#include <termios.h>
#endif
#include <unistd.h>
#include <glib.h>
#include "caps.h"
......
......@@ -21,6 +21,9 @@
#include <sys/types.h>
#include <sys/ioctl.h>
#include <sys/socket.h>
#ifdef HAVE_SYS_TERMIOS_H
#include <sys/termios.h>
#endif
#include <sys/uio.h>
#include <sys/wait.h>
#include <errno.h>
......@@ -30,6 +33,9 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifdef HAVE_TERMIOS_H
#include <termios.h>
#endif
#include <unistd.h>
#ifdef HAVE_SYS_UN_H
#include <sys/un.h>
......
......@@ -38,15 +38,20 @@
#endif
#include <sys/types.h>
#include <sys/time.h>
#include <sys/ioctl.h>
#ifdef HAVE_SYS_TERMIOS_H
#include <sys/termios.h>
#endif
#include <sys/time.h>
#include <errno.h>
#include <fcntl.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifdef HAVE_TERMIOS_H
#include <termios.h>
#endif
#include <time.h>
#include <unistd.h>
......
......@@ -24,6 +24,9 @@
#include <sys/types.h>
#include <sys/param.h>
#include <sys/stat.h>
#ifdef HAVE_SYS_TERMIOS_H
#include <sys/termios.h>
#endif
#include <sys/time.h>
#include <errno.h>
#include <fcntl.h>
......@@ -6428,7 +6431,7 @@ vte_terminal_set_color_background(VteTerminal *terminal,
/**
* vte_terminal_set_color_cursor
* @terminal: a #VteTerminal
* @background: the new color to use for the text cursor
* @cursor_background: the new color to use for the text cursor
*
* Sets the background color for text which is under the cursor. If NULL, text
* under the cursor will be drawn with foreground and background colors
......@@ -6453,7 +6456,7 @@ vte_terminal_set_color_cursor(VteTerminal *terminal,
/**
* vte_terminal_set_color_highlight
* @terminal: a #VteTerminal
* @background: the new color to use for highlighted text
* @highlight_background: the new color to use for highlighted text
*
* Sets the background color for text which is highlighted. If NULL,
* highlighted text (which is usually highlighted because it is selected) will
......@@ -10536,7 +10539,7 @@ vte_terminal_apply_metrics(VteTerminal *terminal,
* vte_terminal_set_font_full:
* @terminal: a #VteTerminal
* @font_desc: The #PangoFontDescription of the desired font.
* @anti_alias: Specify if anti aliasing of the fonts is to be used or not.
* @antialias: Specify if anti aliasing of the fonts is to be used or not.
*
* Sets the font used for rendering all text displayed by the terminal,
* overriding any fonts set using gtk_widget_modify_font(). The terminal
......@@ -10549,7 +10552,7 @@ vte_terminal_apply_metrics(VteTerminal *terminal,
void
vte_terminal_set_font_full(VteTerminal *terminal,
const PangoFontDescription *font_desc,
VteTerminalAntiAlias anti_alias)
VteTerminalAntiAlias antialias)
{
GtkWidget *widget;
PangoFontDescription *desc;
......@@ -10580,19 +10583,19 @@ vte_terminal_set_font_full(VteTerminal *terminal,
}
#endif
}
terminal->pvt->fontantialias = anti_alias;
terminal->pvt->fontantialias = antialias;
/* Free the old font description and save the new one. */
if (terminal->pvt->fontdesc != NULL) {
pango_font_description_free(terminal->pvt->fontdesc);
}
terminal->pvt->fontdesc = desc;
terminal->pvt->fontantialias = anti_alias;
terminal->pvt->fontantialias = antialias;
/* Set the drawing font. */
_vte_draw_set_text_font(terminal->pvt->draw,
terminal->pvt->fontdesc,
anti_alias);
antialias);
vte_terminal_apply_metrics(terminal,
_vte_draw_get_text_width(terminal->pvt->draw),
_vte_draw_get_text_height(terminal->pvt->draw),
......
......@@ -290,11 +290,11 @@ void vte_terminal_set_font(VteTerminal *terminal,
const PangoFontDescription *font_desc);
void vte_terminal_set_font_full(VteTerminal *terminal,
const PangoFontDescription *font_desc,
VteTerminalAntiAlias anti_alias);
VteTerminalAntiAlias antialias);
void vte_terminal_set_font_from_string(VteTerminal *terminal, const char *name);
void vte_terminal_set_font_from_string_full(VteTerminal *terminal,
const char *name,
VteTerminalAntiAlias anti_alias);
VteTerminalAntiAlias antialias);
const PangoFontDescription *vte_terminal_get_font(VteTerminal *terminal);
gboolean vte_terminal_get_using_xft(VteTerminal *terminal);
void vte_terminal_set_allow_bold(VteTerminal *terminal, gboolean allow_bold);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment