From: <kt...@us...> - 2009-06-28 06:00:58
|
Revision: 3662 http://ruby-gnome2.svn.sourceforge.net/ruby-gnome2/?rev=3662&view=rev Author: ktou Date: 2009-06-28 06:00:56 +0000 (Sun, 28 Jun 2009) Log Message: ----------- * src/rbvte-terminal.c: support vte_terminal_{set,get}_cursor_shape(). Modified Paths: -------------- ruby-gnome2/trunk/vte/ChangeLog ruby-gnome2/trunk/vte/src/rbvte-terminal.c Modified: ruby-gnome2/trunk/vte/ChangeLog =================================================================== --- ruby-gnome2/trunk/vte/ChangeLog 2009-06-28 05:50:11 UTC (rev 3661) +++ ruby-gnome2/trunk/vte/ChangeLog 2009-06-28 06:00:56 UTC (rev 3662) @@ -1,7 +1,8 @@ 2009-06-28 Kouhei Sutou <ko...@co...> - * src/rbvte-terminal.c: support - vte_terminal_{set,get}_cursor_blink_mode(). + * src/rbvte-terminal.c: + - support vte_terminal_{set,get}_cursor_blink_mode(). + - support vte_terminal_{set,get}_cursor_shape(). * extconf.rb, src/rbvte.h: use VTE_CHECK_VERSION provided by VTE itself. Modified: ruby-gnome2/trunk/vte/src/rbvte-terminal.c =================================================================== --- ruby-gnome2/trunk/vte/src/rbvte-terminal.c 2009-06-28 05:50:11 UTC (rev 3661) +++ ruby-gnome2/trunk/vte/src/rbvte-terminal.c 2009-06-28 06:00:56 UTC (rev 3662) @@ -405,7 +405,7 @@ static VALUE term_set_cursor_blinks(VALUE self, VALUE blink) { -#ifdef HAVE_TYPE_VTETERMINALCURSORBLINKMODE +#if VTE_CHECK_VERSION(0, 18, 0) VteTerminalCursorBlinkMode mode; mode = RVAL2CBOOL(blink) ? VTE_CURSOR_BLINK_ON : VTE_CURSOR_BLINK_OFF; @@ -416,7 +416,7 @@ return Qnil; } -#ifdef HAVE_TYPE_VTETERMINALCURSORBLINKMODE +#if VTE_CHECK_VERSION(0, 18, 0) static VALUE term_set_cursor_blink_mode(VALUE self, VALUE rb_mode) { @@ -437,7 +437,28 @@ } #endif +#if VTE_CHECK_VERSION(0, 19, 1) static VALUE +term_set_cursor_shape(VALUE self, VALUE rb_shape) +{ + VteTerminalCursorShape shape; + + shape = RVAL2GENUM(rb_shape, VTE_TYPE_TERMINAL_CURSOR_SHAPE); + vte_terminal_set_cursor_shape(RVAL2TERM(self), shape); + return Qnil; +} + +static VALUE +term_get_cursor_shape(VALUE self) +{ + VteTerminalCursorShape shape; + + shape = vte_terminal_get_cursor_shape(RVAL2TERM(self)); + return GENUM2RVAL(shape, VTE_TYPE_TERMINAL_CURSOR_SHAPE); +} +#endif + +static VALUE term_set_scrollback_lines(VALUE self, VALUE lines) { vte_terminal_set_scrollback_lines(RVAL2TERM(self), NUM2LONG(lines)); @@ -824,9 +845,12 @@ Init_vte_terminal(VALUE mVte) { VALUE cTerminal, cTerminalEraseBinding, cTerminalAntiAlias; -#ifdef HAVE_TYPE_VTETERMINALCURSORBLINKMODE +#if VTE_CHECK_VERSION(0, 18, 0) VALUE cTerminalCursorBlinkMode; #endif +#if VTE_CHECK_VERSION(0, 19, 1) + VALUE cTerminalCursorShape; +#endif id_new = rb_intern("new"); id_call = rb_intern("call"); @@ -841,10 +865,14 @@ cTerminal = G_DEF_CLASS(VTE_TYPE_TERMINAL, "Terminal", mVte); cTerminalEraseBinding = G_DEF_CLASS(VTE_TYPE_TERMINAL_ERASE_BINDING, "TerminalEraseBinding", mVte); -#ifdef HAVE_TYPE_VTETERMINALCURSORBLINKMODE +#if VTE_CHECK_VERSION(0, 18, 0) cTerminalCursorBlinkMode = G_DEF_CLASS(VTE_TYPE_TERMINAL_CURSOR_BLINK_MODE, "TerminalCursorBlinkMode", mVte); #endif +#if VTE_CHECK_VERSION(0, 19, 1) + cTerminalCursorShape = G_DEF_CLASS(VTE_TYPE_TERMINAL_CURSOR_SHAPE, + "TerminalCursorShape", mVte); +#endif cTerminalAntiAlias = G_DEF_CLASS(VTE_TYPE_TERMINAL_ANTI_ALIAS, "TerminalAntiAlias", mVte); @@ -911,12 +939,16 @@ rb_define_method(cTerminal, "set_background_transparent", term_set_background_transparent, 1); rb_define_method(cTerminal, "set_cursor_blinks", term_set_cursor_blinks, 1); -#ifdef HAVE_TYPE_VTETERMINALCURSORBLINKMODE +#if VTE_CHECK_VERSION(0, 18, 0) rb_define_method(cTerminal, "set_cursor_blink_mode", term_set_cursor_blink_mode, 1); rb_define_method(cTerminal, "cursor_blink_mode", term_get_cursor_blink_mode, 0); #endif +#if VTE_CHECK_VERSION(0, 19, 1) + rb_define_method(cTerminal, "set_cursor_shape", term_set_cursor_shape, 1); + rb_define_method(cTerminal, "cursor_shape", term_get_cursor_shape, 0); +#endif rb_define_method(cTerminal, "set_scrollback_lines", term_set_scrollback_lines, 1); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |