vte 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +54 -0
- data/ext/vte/rbvte-charattributes.c +76 -0
- data/ext/vte/rbvte-pty.c +120 -0
- data/ext/vte/rbvte-reaper.c +25 -15
- data/ext/vte/rbvte-terminal.c +532 -320
- data/ext/vte/rbvte-terminalaccessible.c +43 -0
- data/ext/vte/rbvte.c +30 -16
- data/ext/vte/rbvte.h +25 -0
- data/lib/vte.rb +2 -0
- data/lib/vte/deprecated.rb +51 -0
- metadata +11 -8
- data/ext/vte/rbvte-access.c +0 -33
data/ChangeLog
CHANGED
@@ -1,3 +1,57 @@
|
|
1
|
+
2011-09-15 Kouhei Sutou <kou@cozmixng.org>
|
2
|
+
|
3
|
+
* lib/vte/deprecated.rb (GLib::Deprecatable#const_missing): don't
|
4
|
+
shadow real const_missing error.
|
5
|
+
|
6
|
+
2011-09-13 Masaaki Aoyagi
|
7
|
+
|
8
|
+
* lib/vte/deprecated.rb:
|
9
|
+
- change module name to GLib::Deprecatable(TODO: move to glib).
|
10
|
+
- improve warning message.
|
11
|
+
- fix constant_get
|
12
|
+
|
13
|
+
2011-09-11 Masaaki Aoyagi
|
14
|
+
|
15
|
+
* ext/vte/rbvte-terminal.c:
|
16
|
+
- add constants(EraseBinding,CursorBlinkMode,CursorShape).
|
17
|
+
* ext/vte/rbvte.c:
|
18
|
+
- delete deprecated constants(TerminalEraseBinding,TerminalCursorBlinkMode,TerminalCursorShape).
|
19
|
+
* lib/vte/deprecated.rb:
|
20
|
+
- define deprecated constants.
|
21
|
+
|
22
|
+
2011-09-11 Masaaki Aoyagi
|
23
|
+
|
24
|
+
* ext/vte/rbvte-terminal.c: merge 'match_set_cursor*' methods.
|
25
|
+
* lib/vte.rb: add require "vte/deprecated".
|
26
|
+
* lib/vte/deprecated.rb: add.
|
27
|
+
|
28
|
+
2011-09-11 Masaaki Aoyagi
|
29
|
+
|
30
|
+
* ext/vte/rbvte-terminal.c: not define method if property exist.
|
31
|
+
|
32
|
+
2011-09-11 Masaaki Aoyagi
|
33
|
+
|
34
|
+
* ext/vte/rbvte-terminal.c: change return value to self
|
35
|
+
|
36
|
+
2011-09-11 Masaaki Aoyagi
|
37
|
+
|
38
|
+
* ext/vte/rbvte.c,rbvte-pty.c,rbvte-terminal.c:
|
39
|
+
- implement version 0.26.2(exclude regular expressions)
|
40
|
+
|
41
|
+
2011-08-28 Masaaki Aoyagi
|
42
|
+
|
43
|
+
* ext/vte/rbvte-access.c: -> ext/vte/rbvte-terminalaccessible.c
|
44
|
+
|
45
|
+
2011-07-24 Masaaki Aoyagi
|
46
|
+
|
47
|
+
* ext/vte/*:
|
48
|
+
- divide by namespace.
|
49
|
+
- apply naming rules.
|
50
|
+
|
51
|
+
2011-07-23 Masaaki Aoyagi
|
52
|
+
|
53
|
+
* ext/vte/*.c: change file header comment.
|
54
|
+
|
1
55
|
2011-03-04 Kouhei Sutou <kou@clear-code.com>
|
2
56
|
|
3
57
|
* ext/vte/depend: fix .pc path. #3199587
|
@@ -0,0 +1,76 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/*
|
3
|
+
* Copyright (C) 2006-2011 Ruby-GNOME2 Project Team
|
4
|
+
*
|
5
|
+
* This library is free software; you can redistribute it and/or
|
6
|
+
* modify it under the terms of the GNU Lesser General Public
|
7
|
+
* License as published by the Free Software Foundation; either
|
8
|
+
* version 2.1 of the License, or (at your option) any later version.
|
9
|
+
*
|
10
|
+
* This library is distributed in the hope that it will be useful,
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
|
+
* Lesser General Public License for more details.
|
14
|
+
*
|
15
|
+
* You should have received a copy of the GNU Lesser General Public
|
16
|
+
* License along with this library; if not, write to the Free Software
|
17
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
18
|
+
* MA 02110-1301 USA
|
19
|
+
*/
|
20
|
+
|
21
|
+
#include "rbvte.h"
|
22
|
+
|
23
|
+
#define RG_TARGET_NAMESPACE cCharAttributes
|
24
|
+
|
25
|
+
static ID id_row, id_column, id_fore, id_back, id_underline, id_strikethrough;
|
26
|
+
|
27
|
+
static VALUE
|
28
|
+
rg_initialize(VALUE self, VALUE row, VALUE column, VALUE fore, VALUE back,
|
29
|
+
VALUE underline, VALUE strikethrough)
|
30
|
+
{
|
31
|
+
rb_ivar_set(self, id_row, row);
|
32
|
+
rb_ivar_set(self, id_column, column);
|
33
|
+
rb_ivar_set(self, id_fore, fore);
|
34
|
+
rb_ivar_set(self, id_back, back);
|
35
|
+
rb_ivar_set(self, id_underline, underline);
|
36
|
+
rb_ivar_set(self, id_strikethrough, strikethrough);
|
37
|
+
return Qnil;
|
38
|
+
}
|
39
|
+
|
40
|
+
static VALUE
|
41
|
+
rg_underline_p(VALUE self)
|
42
|
+
{
|
43
|
+
return rb_ivar_get(self, id_underline);
|
44
|
+
}
|
45
|
+
|
46
|
+
static VALUE
|
47
|
+
rg_strikethrough_p(VALUE self)
|
48
|
+
{
|
49
|
+
return rb_ivar_get(self, id_strikethrough);
|
50
|
+
}
|
51
|
+
|
52
|
+
void
|
53
|
+
Init_vte_charattributes(VALUE mVte)
|
54
|
+
{
|
55
|
+
VALUE RG_TARGET_NAMESPACE;
|
56
|
+
|
57
|
+
id_row = rb_intern("@row");
|
58
|
+
id_column = rb_intern("@column");
|
59
|
+
id_fore = rb_intern("@fore");
|
60
|
+
id_back = rb_intern("@back");
|
61
|
+
id_underline = rb_intern("@underline");
|
62
|
+
id_strikethrough = rb_intern("@strikethrough");
|
63
|
+
|
64
|
+
RG_TARGET_NAMESPACE = rb_define_class_under(mVte, "CharAttributes", rb_cObject);
|
65
|
+
|
66
|
+
RG_DEF_METHOD(initialize, 6);
|
67
|
+
RG_DEF_ATTR("row", TRUE, FALSE, TRUE);
|
68
|
+
RG_DEF_ATTR("column", TRUE, FALSE, TRUE);
|
69
|
+
RG_DEF_ATTR("fore", TRUE, FALSE, TRUE);
|
70
|
+
RG_DEF_ATTR("back", TRUE, FALSE, TRUE);
|
71
|
+
RG_DEF_ALIAS("foreground", "fore");
|
72
|
+
RG_DEF_ALIAS("background", "back");
|
73
|
+
RG_DEF_METHOD_P(underline, 0);
|
74
|
+
RG_DEF_METHOD_P(strikethrough, 0);
|
75
|
+
}
|
76
|
+
|
data/ext/vte/rbvte-pty.c
ADDED
@@ -0,0 +1,120 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/*
|
3
|
+
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
+
*
|
5
|
+
* This library is free software; you can redistribute it and/or
|
6
|
+
* modify it under the terms of the GNU Lesser General Public
|
7
|
+
* License as published by the Free Software Foundation; either
|
8
|
+
* version 2.1 of the License, or (at your option) any later version.
|
9
|
+
*
|
10
|
+
* This library is distributed in the hope that it will be useful,
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
|
+
* Lesser General Public License for more details.
|
14
|
+
*
|
15
|
+
* You should have received a copy of the GNU Lesser General Public
|
16
|
+
* License along with this library; if not, write to the Free Software
|
17
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
18
|
+
* MA 02110-1301 USA
|
19
|
+
*/
|
20
|
+
|
21
|
+
#include "rbvte.h"
|
22
|
+
|
23
|
+
#define RG_TARGET_NAMESPACE cPty
|
24
|
+
#define _SELF(s) (VTE_PTY(RVAL2GOBJ(s)))
|
25
|
+
|
26
|
+
#if VTE_CHECK_VERSION(0, 26, 0)
|
27
|
+
static VALUE
|
28
|
+
rg_initialize(VALUE self, VALUE flags_or_fd)
|
29
|
+
{
|
30
|
+
VtePty *pty = NULL;
|
31
|
+
GError *error = NULL;
|
32
|
+
|
33
|
+
if (TYPE(flags_or_fd) == T_FIXNUM) {
|
34
|
+
pty = vte_pty_new_foreign(NUM2INT(flags_or_fd), &error);
|
35
|
+
} else {
|
36
|
+
pty = vte_pty_new(RVAL2GFLAGS(flags_or_fd, VTE_TYPE_PTY_FLAGS), &error);
|
37
|
+
}
|
38
|
+
if (error)
|
39
|
+
RAISE_GERROR(error);
|
40
|
+
|
41
|
+
G_INITIALIZE(self, pty);
|
42
|
+
|
43
|
+
return Qnil;
|
44
|
+
}
|
45
|
+
|
46
|
+
static VALUE
|
47
|
+
rg_child_setup(VALUE self)
|
48
|
+
{
|
49
|
+
vte_pty_child_setup(_SELF(self));
|
50
|
+
|
51
|
+
return self;
|
52
|
+
}
|
53
|
+
|
54
|
+
static VALUE
|
55
|
+
rg_close(VALUE self)
|
56
|
+
{
|
57
|
+
vte_pty_close(_SELF(self));
|
58
|
+
|
59
|
+
return self;
|
60
|
+
}
|
61
|
+
|
62
|
+
static VALUE
|
63
|
+
rg_size(VALUE self)
|
64
|
+
{
|
65
|
+
int rows, columns;
|
66
|
+
gboolean result;
|
67
|
+
GError *error = NULL;
|
68
|
+
|
69
|
+
result = vte_pty_get_size(_SELF(self), &rows, &columns, &error);
|
70
|
+
if (error)
|
71
|
+
RAISE_GERROR(error);
|
72
|
+
|
73
|
+
return rb_ary_new3(2, INT2NUM(rows), INT2NUM(columns));
|
74
|
+
}
|
75
|
+
|
76
|
+
static VALUE
|
77
|
+
rg_set_size(VALUE self, VALUE rows, VALUE columns)
|
78
|
+
{
|
79
|
+
gboolean result;
|
80
|
+
GError *error = NULL;
|
81
|
+
|
82
|
+
result = vte_pty_set_size(_SELF(self), NUM2INT(rows), NUM2INT(columns), &error);
|
83
|
+
if (error)
|
84
|
+
RAISE_GERROR(error);
|
85
|
+
|
86
|
+
return self;
|
87
|
+
}
|
88
|
+
|
89
|
+
static VALUE
|
90
|
+
rg_set_utf8(VALUE self, VALUE utf8)
|
91
|
+
{
|
92
|
+
gboolean result;
|
93
|
+
GError *error = NULL;
|
94
|
+
|
95
|
+
result = vte_pty_set_utf8(_SELF(self), RVAL2CBOOL(utf8), &error);
|
96
|
+
if (error)
|
97
|
+
RAISE_GERROR(error);
|
98
|
+
|
99
|
+
return self;
|
100
|
+
}
|
101
|
+
#endif
|
102
|
+
|
103
|
+
void
|
104
|
+
Init_vte_pty(VALUE mVte)
|
105
|
+
{
|
106
|
+
#if VTE_CHECK_VERSION(0, 26, 0)
|
107
|
+
VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(VTE_TYPE_PTY, "Pty", mVte);
|
108
|
+
G_DEF_CLASS(VTE_TYPE_PTY_ERROR, "Error", RG_TARGET_NAMESPACE);
|
109
|
+
G_DEF_CLASS(VTE_TYPE_PTY_FLAGS, "Flags", RG_TARGET_NAMESPACE);
|
110
|
+
|
111
|
+
RG_DEF_METHOD(initialize, 1);
|
112
|
+
RG_DEF_METHOD(child_setup, 0);
|
113
|
+
RG_DEF_METHOD(close, 0);
|
114
|
+
RG_DEF_METHOD(size, 0);
|
115
|
+
RG_DEF_METHOD(set_size, 2);
|
116
|
+
RG_DEF_METHOD(set_utf8, 1);
|
117
|
+
|
118
|
+
G_DEF_SETTERS(RG_TARGET_NAMESPACE);
|
119
|
+
#endif
|
120
|
+
}
|
data/ext/vte/rbvte-reaper.c
CHANGED
@@ -1,19 +1,29 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
2
|
+
/*
|
3
|
+
* Copyright (C) 2006-2011 Ruby-GNOME2 Project Team
|
4
|
+
*
|
5
|
+
* This library is free software; you can redistribute it and/or
|
6
|
+
* modify it under the terms of the GNU Lesser General Public
|
7
|
+
* License as published by the Free Software Foundation; either
|
8
|
+
* version 2.1 of the License, or (at your option) any later version.
|
9
|
+
*
|
10
|
+
* This library is distributed in the hope that it will be useful,
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
|
+
* Lesser General Public License for more details.
|
14
|
+
*
|
15
|
+
* You should have received a copy of the GNU Lesser General Public
|
16
|
+
* License along with this library; if not, write to the Free Software
|
17
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
18
|
+
* MA 02110-1301 USA
|
19
|
+
*/
|
12
20
|
|
13
21
|
#include "rbvte.h"
|
14
22
|
|
23
|
+
#define RG_TARGET_NAMESPACE cReaper
|
24
|
+
|
15
25
|
static VALUE
|
16
|
-
|
26
|
+
rg_m_get(VALUE self)
|
17
27
|
{
|
18
28
|
return GOBJ2RVAL(vte_reaper_get());
|
19
29
|
}
|
@@ -21,11 +31,11 @@ reaper_get(VALUE self)
|
|
21
31
|
void
|
22
32
|
Init_vte_reaper(VALUE mVte)
|
23
33
|
{
|
24
|
-
VALUE
|
34
|
+
VALUE RG_TARGET_NAMESPACE;
|
25
35
|
|
26
|
-
|
36
|
+
RG_TARGET_NAMESPACE = G_DEF_CLASS(VTE_TYPE_REAPER, "Reaper", mVte);
|
27
37
|
|
28
|
-
|
38
|
+
RG_DEF_MODFUNC(get, 0);
|
29
39
|
|
30
|
-
G_DEF_SETTERS(
|
40
|
+
G_DEF_SETTERS(RG_TARGET_NAMESPACE);
|
31
41
|
}
|
data/ext/vte/rbvte-terminal.c
CHANGED
@@ -1,21 +1,32 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
-
|
2
|
+
/*
|
3
|
+
* Copyright (C) 2006-2011 Ruby-GNOME2 Project Team
|
4
|
+
*
|
5
|
+
* This library is free software; you can redistribute it and/or
|
6
|
+
* modify it under the terms of the GNU Lesser General Public
|
7
|
+
* License as published by the Free Software Foundation; either
|
8
|
+
* version 2.1 of the License, or (at your option) any later version.
|
9
|
+
*
|
10
|
+
* This library is distributed in the hope that it will be useful,
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
|
+
* Lesser General Public License for more details.
|
14
|
+
*
|
15
|
+
* You should have received a copy of the GNU Lesser General Public
|
16
|
+
* License along with this library; if not, write to the Free Software
|
17
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
18
|
+
* MA 02110-1301 USA
|
19
|
+
*/
|
3
20
|
|
4
|
-
|
5
|
-
|
6
|
-
$Author: ggc $
|
7
|
-
$Date: 2007/07/13 16:07:34 $
|
8
|
-
|
9
|
-
Copyright (C) 2006 Ruby-GNOME2 Project Team
|
21
|
+
#include "rbvte.h"
|
10
22
|
|
11
|
-
|
23
|
+
#include <stdarg.h>
|
24
|
+
#include <pwd.h>
|
12
25
|
|
13
|
-
#
|
26
|
+
#define RG_TARGET_NAMESPACE cTerminal
|
27
|
+
#define _SELF(s) (VTE_TERMINAL(RVAL2GOBJ(s)))
|
14
28
|
|
15
|
-
static VALUE cCharAttributes;
|
16
29
|
static ID id_new, id_call;
|
17
|
-
static ID id_row, id_column, id_fore, id_back, id_underline, id_strikethrough;
|
18
|
-
|
19
30
|
|
20
31
|
static char **
|
21
32
|
rval2cstrary(VALUE ary)
|
@@ -53,15 +64,16 @@ static VALUE
|
|
53
64
|
attrary2rval(GArray *attrs)
|
54
65
|
{
|
55
66
|
long i, len;
|
56
|
-
VALUE rb_attrs;
|
67
|
+
VALUE rb_attrs, rb_class;
|
57
68
|
|
58
69
|
len = attrs->len;
|
59
70
|
rb_attrs = rb_ary_new2(len);
|
71
|
+
rb_class = rb_const_get(rb_const_get(rb_cObject, rb_intern("Vte")), rb_intern("CharAttributes"));
|
60
72
|
|
61
73
|
for (i = 0; i < len; i++) {
|
62
74
|
VteCharAttributes *attr;
|
63
75
|
attr = &g_array_index(attrs, VteCharAttributes, i);
|
64
|
-
rb_ary_push(rb_attrs, rb_funcall(
|
76
|
+
rb_ary_push(rb_attrs, rb_funcall(rb_class, id_new, 6,
|
65
77
|
LONG2NUM(attr->row),
|
66
78
|
LONG2NUM(attr->column),
|
67
79
|
COLOR2RVAL(&(attr->fore)),
|
@@ -73,44 +85,130 @@ attrary2rval(GArray *attrs)
|
|
73
85
|
return rb_attrs;
|
74
86
|
}
|
75
87
|
|
76
|
-
|
77
|
-
|
78
88
|
static VALUE
|
79
|
-
|
80
|
-
VALUE underline, VALUE strikethrough)
|
89
|
+
rg_initialize(VALUE self)
|
81
90
|
{
|
82
|
-
|
83
|
-
rb_ivar_set(self, id_column, column);
|
84
|
-
rb_ivar_set(self, id_fore, fore);
|
85
|
-
rb_ivar_set(self, id_back, back);
|
86
|
-
rb_ivar_set(self, id_underline, underline);
|
87
|
-
rb_ivar_set(self, id_strikethrough, strikethrough);
|
91
|
+
RBGTK_INITIALIZE(self, vte_terminal_new());
|
88
92
|
return Qnil;
|
89
93
|
}
|
90
94
|
|
91
|
-
|
92
|
-
|
95
|
+
#if VTE_CHECK_VERSION(0, 26, 0)
|
96
|
+
static const char *
|
97
|
+
rb_grn_inspect (VALUE object)
|
93
98
|
{
|
94
|
-
|
99
|
+
VALUE inspected;
|
100
|
+
|
101
|
+
inspected = rb_funcall(object, rb_intern("inspect"), 0);
|
102
|
+
return StringValueCStr(inspected);
|
103
|
+
}
|
104
|
+
|
105
|
+
|
106
|
+
static void
|
107
|
+
rb_grn_scan_options (VALUE options, ...)
|
108
|
+
{
|
109
|
+
VALUE original_options = options;
|
110
|
+
VALUE available_keys;
|
111
|
+
const char *key;
|
112
|
+
VALUE *value;
|
113
|
+
va_list args;
|
114
|
+
|
115
|
+
options = rb_check_convert_type(options, T_HASH, "Hash", "to_hash");
|
116
|
+
if (NIL_P(options)) {
|
117
|
+
options = rb_hash_new();
|
118
|
+
} else if (options == original_options) {
|
119
|
+
options = rb_funcall(options, rb_intern("dup"), 0);
|
120
|
+
}
|
121
|
+
|
122
|
+
available_keys = rb_ary_new();
|
123
|
+
va_start(args, options);
|
124
|
+
key = va_arg(args, const char *);
|
125
|
+
while (key) {
|
126
|
+
VALUE rb_key;
|
127
|
+
value = va_arg(args, VALUE *);
|
128
|
+
|
129
|
+
rb_key = ID2SYM(rb_intern(key));
|
130
|
+
rb_ary_push(available_keys, rb_key);
|
131
|
+
*value = rb_funcall(options, rb_intern("delete"), 1, rb_key);
|
132
|
+
|
133
|
+
key = va_arg(args, const char *);
|
134
|
+
}
|
135
|
+
va_end(args);
|
136
|
+
|
137
|
+
if (RVAL2CBOOL(rb_funcall(options, rb_intern("empty?"), 0)))
|
138
|
+
return;
|
139
|
+
|
140
|
+
rb_raise(rb_eArgError,
|
141
|
+
"unexpected key(s) exist: %s: available keys: %s",
|
142
|
+
rb_grn_inspect(rb_funcall(options, rb_intern("keys"), 0)),
|
143
|
+
rb_grn_inspect(available_keys));
|
95
144
|
}
|
96
145
|
|
97
146
|
static VALUE
|
98
|
-
|
147
|
+
fork_command_default_argv(void)
|
99
148
|
{
|
100
|
-
|
101
|
-
|
149
|
+
struct passwd *pwd;
|
150
|
+
const char *shell = NULL;
|
102
151
|
|
152
|
+
pwd = getpwuid(getuid());
|
153
|
+
if (pwd != NULL)
|
154
|
+
shell = pwd->pw_shell;
|
155
|
+
if (shell == NULL)
|
156
|
+
shell = g_getenv("SHELL") ? g_getenv("SHELL") : "/bin/sh";
|
157
|
+
|
158
|
+
return rb_ary_new3(1, CSTR2RVAL(shell));
|
159
|
+
}
|
103
160
|
|
104
|
-
|
105
161
|
static VALUE
|
106
|
-
|
162
|
+
fork_command_full(int argc, VALUE *argv, VALUE self)
|
107
163
|
{
|
108
|
-
|
109
|
-
|
164
|
+
VALUE options, rb_pty_flags, rb_working_directory, rb_command_argv, rb_envv, rb_spawn_flags;
|
165
|
+
int pty_flags, spawn_flags;
|
166
|
+
char *working_directory;
|
167
|
+
char **command_argv;
|
168
|
+
char **envv;
|
169
|
+
GPid child_pid;
|
170
|
+
gboolean result;
|
171
|
+
GError *error = NULL;
|
172
|
+
|
173
|
+
rb_scan_args(argc, argv, "01", &options);
|
174
|
+
rb_grn_scan_options(options,
|
175
|
+
"pty_flags", &rb_pty_flags,
|
176
|
+
"working_directory", &rb_working_directory,
|
177
|
+
"argv", &rb_command_argv,
|
178
|
+
"envv", &rb_envv,
|
179
|
+
"spawn_flags", &rb_spawn_flags,
|
180
|
+
NULL);
|
181
|
+
pty_flags = NIL_P(rb_pty_flags) ?
|
182
|
+
VTE_PTY_DEFAULT :
|
183
|
+
RVAL2GFLAGS(rb_pty_flags, VTE_TYPE_PTY_FLAGS);
|
184
|
+
working_directory = NIL_P(rb_working_directory) ? NULL : RVAL2CSTR(rb_working_directory);
|
185
|
+
command_argv = rval2cstrary(NIL_P(rb_command_argv) ? fork_command_default_argv() : rb_command_argv);
|
186
|
+
envv = rval2cstrary(rb_envv);
|
187
|
+
spawn_flags = NIL_P(rb_spawn_flags) ?
|
188
|
+
G_SPAWN_CHILD_INHERITS_STDIN | G_SPAWN_SEARCH_PATH :
|
189
|
+
NUM2INT(rb_spawn_flags);
|
190
|
+
|
191
|
+
result = vte_terminal_fork_command_full(_SELF(self),
|
192
|
+
pty_flags,
|
193
|
+
working_directory,
|
194
|
+
command_argv,
|
195
|
+
envv,
|
196
|
+
spawn_flags,
|
197
|
+
NULL,
|
198
|
+
NULL,
|
199
|
+
&child_pid,
|
200
|
+
&error);
|
201
|
+
free_cstrary(command_argv);
|
202
|
+
free_cstrary(envv);
|
203
|
+
if (error)
|
204
|
+
RAISE_GERROR(error);
|
205
|
+
|
206
|
+
return INT2NUM(child_pid);
|
110
207
|
}
|
208
|
+
#endif
|
111
209
|
|
112
210
|
static VALUE
|
113
|
-
|
211
|
+
rg_fork_command(int argc, VALUE *argv, VALUE self)
|
114
212
|
{
|
115
213
|
VALUE rb_command, rb_command_argv, rb_envv, rb_directory;
|
116
214
|
VALUE lastlog, utmp, wtmp;
|
@@ -123,6 +221,15 @@ term_fork_command(int argc, VALUE *argv, VALUE self)
|
|
123
221
|
rb_scan_args(argc, argv, "07", &rb_command, &rb_command_argv,
|
124
222
|
&rb_envv, &rb_directory, &lastlog, &utmp, &wtmp);
|
125
223
|
|
224
|
+
#if VTE_CHECK_VERSION(0, 26, 0)
|
225
|
+
if (argc == 0 || TYPE(rb_command) == T_HASH)
|
226
|
+
return fork_command_full(1, &rb_command, self);
|
227
|
+
|
228
|
+
rb_warn("'fork_commad(command, argv, envv, directory, lastlog, utmp, wtmp)' style"
|
229
|
+
" has been deprecated since version 0.26."
|
230
|
+
" Use 'fork_commad(options = {})' style.");
|
231
|
+
#endif
|
232
|
+
|
126
233
|
command = NIL_P(rb_command) ? NULL : RVAL2CSTR(rb_command);
|
127
234
|
command_argv = rval2cstrary(rb_command_argv);
|
128
235
|
envv = rval2cstrary(rb_envv);
|
@@ -139,7 +246,7 @@ term_fork_command(int argc, VALUE *argv, VALUE self)
|
|
139
246
|
}
|
140
247
|
|
141
248
|
static VALUE
|
142
|
-
|
249
|
+
rg_fork_pty(int argc, VALUE *argv, VALUE self)
|
143
250
|
{
|
144
251
|
VALUE rb_envv, rb_directory, lastlog, utmp, wtmp;
|
145
252
|
char **envv;
|
@@ -161,7 +268,7 @@ term_fork_pty(int argc, VALUE *argv, VALUE self)
|
|
161
268
|
}
|
162
269
|
|
163
270
|
static VALUE
|
164
|
-
|
271
|
+
rg_feed(VALUE self, VALUE data)
|
165
272
|
{
|
166
273
|
glong length;
|
167
274
|
|
@@ -171,11 +278,11 @@ term_feed(VALUE self, VALUE data)
|
|
171
278
|
vte_terminal_feed(RVAL2TERM(self), RSTRING_PTR(data), length);
|
172
279
|
}
|
173
280
|
|
174
|
-
return
|
281
|
+
return self;
|
175
282
|
}
|
176
283
|
|
177
284
|
static VALUE
|
178
|
-
|
285
|
+
rg_feed_child(VALUE self, VALUE data)
|
179
286
|
{
|
180
287
|
glong length;
|
181
288
|
|
@@ -185,11 +292,11 @@ term_feed_child(VALUE self, VALUE data)
|
|
185
292
|
vte_terminal_feed_child(RVAL2TERM(self), RSTRING_PTR(data), length);
|
186
293
|
}
|
187
294
|
|
188
|
-
return
|
295
|
+
return self;
|
189
296
|
}
|
190
297
|
|
191
298
|
static VALUE
|
192
|
-
|
299
|
+
rg_feed_child_binary(VALUE self, VALUE data)
|
193
300
|
{
|
194
301
|
glong length;
|
195
302
|
|
@@ -200,138 +307,138 @@ term_feed_child_binary(VALUE self, VALUE data)
|
|
200
307
|
RSTRING_PTR(data), length);
|
201
308
|
}
|
202
309
|
|
203
|
-
return
|
310
|
+
return self;
|
204
311
|
}
|
205
312
|
|
206
313
|
static VALUE
|
207
|
-
|
314
|
+
rg_copy_clipboard(VALUE self)
|
208
315
|
{
|
209
316
|
vte_terminal_copy_clipboard(RVAL2TERM(self));
|
210
|
-
return
|
317
|
+
return self;
|
211
318
|
}
|
212
319
|
|
213
320
|
static VALUE
|
214
|
-
|
321
|
+
rg_paste_clipboard(VALUE self)
|
215
322
|
{
|
216
323
|
vte_terminal_paste_clipboard(RVAL2TERM(self));
|
217
|
-
return
|
324
|
+
return self;
|
218
325
|
}
|
219
326
|
|
220
327
|
static VALUE
|
221
|
-
|
328
|
+
rg_copy_primary(VALUE self)
|
222
329
|
{
|
223
330
|
vte_terminal_copy_primary(RVAL2TERM(self));
|
224
|
-
return
|
331
|
+
return self;
|
225
332
|
}
|
226
333
|
|
227
334
|
static VALUE
|
228
|
-
|
335
|
+
rg_paste_primary(VALUE self)
|
229
336
|
{
|
230
337
|
vte_terminal_paste_primary(RVAL2TERM(self));
|
231
|
-
return
|
338
|
+
return self;
|
232
339
|
}
|
233
340
|
|
234
341
|
static VALUE
|
235
|
-
|
342
|
+
rg_set_size(VALUE self, VALUE columns, VALUE rows)
|
236
343
|
{
|
237
344
|
vte_terminal_set_size(RVAL2TERM(self), NUM2LONG(columns), NUM2LONG(rows));
|
238
|
-
return
|
345
|
+
return self;
|
239
346
|
}
|
240
347
|
|
241
348
|
static VALUE
|
242
|
-
|
349
|
+
rg_set_audible_bell(VALUE self, VALUE is_audible)
|
243
350
|
{
|
244
351
|
vte_terminal_set_audible_bell(RVAL2TERM(self), RVAL2CBOOL(is_audible));
|
245
|
-
return
|
352
|
+
return self;
|
246
353
|
}
|
247
354
|
|
248
355
|
static VALUE
|
249
|
-
|
356
|
+
rg_audible_bell_p(VALUE self)
|
250
357
|
{
|
251
358
|
return CBOOL2RVAL(vte_terminal_get_audible_bell(RVAL2TERM(self)));
|
252
359
|
}
|
253
360
|
|
254
361
|
static VALUE
|
255
|
-
|
362
|
+
rg_set_visible_bell(VALUE self, VALUE is_visible)
|
256
363
|
{
|
257
364
|
vte_terminal_set_visible_bell(RVAL2TERM(self), RVAL2CBOOL(is_visible));
|
258
|
-
return
|
365
|
+
return self;
|
259
366
|
}
|
260
367
|
|
261
368
|
static VALUE
|
262
|
-
|
369
|
+
rg_visible_bell_p(VALUE self)
|
263
370
|
{
|
264
371
|
return CBOOL2RVAL(vte_terminal_get_visible_bell(RVAL2TERM(self)));
|
265
372
|
}
|
266
373
|
|
267
374
|
static VALUE
|
268
|
-
|
375
|
+
rg_set_scroll_background(VALUE self, VALUE scroll)
|
269
376
|
{
|
270
377
|
vte_terminal_set_scroll_background(RVAL2TERM(self), RVAL2CBOOL(scroll));
|
271
|
-
return
|
378
|
+
return self;
|
272
379
|
}
|
273
380
|
|
274
381
|
static VALUE
|
275
|
-
|
382
|
+
rg_set_scroll_on_output(VALUE self, VALUE scroll)
|
276
383
|
{
|
277
384
|
vte_terminal_set_scroll_on_output(RVAL2TERM(self), RVAL2CBOOL(scroll));
|
278
|
-
return
|
385
|
+
return self;
|
279
386
|
}
|
280
387
|
|
281
388
|
static VALUE
|
282
|
-
|
389
|
+
rg_set_scroll_on_keystroke(VALUE self, VALUE scroll)
|
283
390
|
{
|
284
391
|
vte_terminal_set_scroll_on_keystroke(RVAL2TERM(self), RVAL2CBOOL(scroll));
|
285
|
-
return
|
392
|
+
return self;
|
286
393
|
}
|
287
394
|
|
288
395
|
static VALUE
|
289
|
-
|
396
|
+
rg_set_color_dim(VALUE self, VALUE dim)
|
290
397
|
{
|
291
398
|
vte_terminal_set_color_dim(RVAL2TERM(self), RVAL2COLOR(dim));
|
292
|
-
return
|
399
|
+
return self;
|
293
400
|
}
|
294
401
|
|
295
402
|
static VALUE
|
296
|
-
|
403
|
+
rg_set_color_bold(VALUE self, VALUE bold)
|
297
404
|
{
|
298
405
|
vte_terminal_set_color_bold(RVAL2TERM(self), RVAL2COLOR(bold));
|
299
|
-
return
|
406
|
+
return self;
|
300
407
|
}
|
301
408
|
|
302
409
|
static VALUE
|
303
|
-
|
410
|
+
rg_set_color_foreground(VALUE self, VALUE foreground)
|
304
411
|
{
|
305
412
|
vte_terminal_set_color_foreground(RVAL2TERM(self), RVAL2COLOR(foreground));
|
306
|
-
return
|
413
|
+
return self;
|
307
414
|
}
|
308
415
|
|
309
416
|
static VALUE
|
310
|
-
|
417
|
+
rg_set_color_background(VALUE self, VALUE background)
|
311
418
|
{
|
312
419
|
vte_terminal_set_color_background(RVAL2TERM(self), RVAL2COLOR(background));
|
313
|
-
return
|
420
|
+
return self;
|
314
421
|
}
|
315
422
|
|
316
423
|
static VALUE
|
317
|
-
|
424
|
+
rg_set_color_cursor(VALUE self, VALUE cursor)
|
318
425
|
{
|
319
426
|
vte_terminal_set_color_cursor(RVAL2TERM(self),
|
320
427
|
NIL_P(cursor) ? NULL : RVAL2COLOR(cursor));
|
321
|
-
return
|
428
|
+
return self;
|
322
429
|
}
|
323
430
|
|
324
431
|
static VALUE
|
325
|
-
|
432
|
+
rg_set_color_highlight(VALUE self, VALUE highlight)
|
326
433
|
{
|
327
434
|
vte_terminal_set_color_highlight(RVAL2TERM(self),
|
328
435
|
NIL_P(highlight) ?
|
329
436
|
NULL : RVAL2COLOR(highlight));
|
330
|
-
return
|
437
|
+
return self;
|
331
438
|
}
|
332
439
|
|
333
440
|
static VALUE
|
334
|
-
|
441
|
+
rg_set_colors(VALUE self, VALUE foreground, VALUE background,
|
335
442
|
VALUE rb_palette)
|
336
443
|
{
|
337
444
|
glong i, len;
|
@@ -355,18 +462,18 @@ term_set_colors(VALUE self, VALUE foreground, VALUE background,
|
|
355
462
|
|
356
463
|
vte_terminal_set_colors(RVAL2TERM(self), RVAL2COLOR(foreground),
|
357
464
|
RVAL2COLOR(background), palette, len);
|
358
|
-
return
|
465
|
+
return self;
|
359
466
|
}
|
360
467
|
|
361
468
|
static VALUE
|
362
|
-
|
469
|
+
rg_set_default_colors(VALUE self)
|
363
470
|
{
|
364
471
|
vte_terminal_set_default_colors(RVAL2TERM(self));
|
365
|
-
return
|
472
|
+
return self;
|
366
473
|
}
|
367
474
|
|
368
475
|
static VALUE
|
369
|
-
|
476
|
+
rg_set_background_image(VALUE self, VALUE image_or_path)
|
370
477
|
{
|
371
478
|
if (RVAL2CBOOL(rb_obj_is_kind_of(image_or_path, rb_cString))) {
|
372
479
|
vte_terminal_set_background_image_file(RVAL2TERM(self),
|
@@ -376,34 +483,34 @@ term_set_background_image(VALUE self, VALUE image_or_path)
|
|
376
483
|
RVAL2GOBJ(image_or_path));
|
377
484
|
}
|
378
485
|
|
379
|
-
return
|
486
|
+
return self;
|
380
487
|
}
|
381
488
|
|
382
489
|
static VALUE
|
383
|
-
|
490
|
+
rg_set_background_tint_color(VALUE self, VALUE color)
|
384
491
|
{
|
385
492
|
vte_terminal_set_background_tint_color(RVAL2TERM(self), RVAL2COLOR(color));
|
386
|
-
return
|
493
|
+
return self;
|
387
494
|
}
|
388
495
|
|
389
496
|
static VALUE
|
390
|
-
|
497
|
+
rg_set_background_saturation(VALUE self, VALUE saturation)
|
391
498
|
{
|
392
499
|
vte_terminal_set_background_saturation(RVAL2TERM(self),
|
393
500
|
NUM2DBL(saturation));
|
394
|
-
return
|
501
|
+
return self;
|
395
502
|
}
|
396
503
|
|
397
504
|
static VALUE
|
398
|
-
|
505
|
+
rg_set_background_transparent(VALUE self, VALUE transparent)
|
399
506
|
{
|
400
507
|
vte_terminal_set_background_transparent(RVAL2TERM(self),
|
401
508
|
RVAL2CBOOL(transparent));
|
402
|
-
return
|
509
|
+
return self;
|
403
510
|
}
|
404
511
|
|
405
512
|
static VALUE
|
406
|
-
|
513
|
+
rg_set_cursor_blinks(VALUE self, VALUE blink)
|
407
514
|
{
|
408
515
|
#if VTE_CHECK_VERSION(0, 18, 0)
|
409
516
|
VteTerminalCursorBlinkMode mode;
|
@@ -413,22 +520,22 @@ term_set_cursor_blinks(VALUE self, VALUE blink)
|
|
413
520
|
#else
|
414
521
|
vte_terminal_set_cursor_blinks(RVAL2TERM(self), RVAL2CBOOL(blink));
|
415
522
|
#endif
|
416
|
-
return
|
523
|
+
return self;
|
417
524
|
}
|
418
525
|
|
419
526
|
#if VTE_CHECK_VERSION(0, 18, 0)
|
420
527
|
static VALUE
|
421
|
-
|
528
|
+
rg_set_cursor_blink_mode(VALUE self, VALUE rb_mode)
|
422
529
|
{
|
423
530
|
VteTerminalCursorBlinkMode mode;
|
424
531
|
|
425
532
|
mode = RVAL2GENUM(rb_mode, VTE_TYPE_TERMINAL_CURSOR_BLINK_MODE);
|
426
533
|
vte_terminal_set_cursor_blink_mode(RVAL2TERM(self), mode);
|
427
|
-
return
|
534
|
+
return self;
|
428
535
|
}
|
429
536
|
|
430
537
|
static VALUE
|
431
|
-
|
538
|
+
rg_cursor_blink_mode(VALUE self)
|
432
539
|
{
|
433
540
|
VteTerminalCursorBlinkMode mode;
|
434
541
|
|
@@ -439,17 +546,17 @@ term_get_cursor_blink_mode(VALUE self)
|
|
439
546
|
|
440
547
|
#if VTE_CHECK_VERSION(0, 19, 1)
|
441
548
|
static VALUE
|
442
|
-
|
549
|
+
rg_set_cursor_shape(VALUE self, VALUE rb_shape)
|
443
550
|
{
|
444
551
|
VteTerminalCursorShape shape;
|
445
552
|
|
446
553
|
shape = RVAL2GENUM(rb_shape, VTE_TYPE_TERMINAL_CURSOR_SHAPE);
|
447
554
|
vte_terminal_set_cursor_shape(RVAL2TERM(self), shape);
|
448
|
-
return
|
555
|
+
return self;
|
449
556
|
}
|
450
557
|
|
451
558
|
static VALUE
|
452
|
-
|
559
|
+
rg_cursor_shape(VALUE self)
|
453
560
|
{
|
454
561
|
VteTerminalCursorShape shape;
|
455
562
|
|
@@ -457,35 +564,37 @@ term_get_cursor_shape(VALUE self)
|
|
457
564
|
return GENUM2RVAL(shape, VTE_TYPE_TERMINAL_CURSOR_SHAPE);
|
458
565
|
}
|
459
566
|
|
567
|
+
#if !VTE_CHECK_VERSION(0, 20, 0)
|
460
568
|
static VALUE
|
461
|
-
|
569
|
+
rg_pty(VALUE self)
|
462
570
|
{
|
463
571
|
return INT2NUM(vte_terminal_get_pty(RVAL2TERM(self)));
|
464
572
|
}
|
573
|
+
#endif
|
465
574
|
|
466
575
|
static VALUE
|
467
|
-
|
576
|
+
rg_child_exit_status(VALUE self)
|
468
577
|
{
|
469
578
|
return INT2NUM(vte_terminal_get_child_exit_status(RVAL2TERM(self)));
|
470
579
|
}
|
471
580
|
#endif
|
472
581
|
|
473
582
|
static VALUE
|
474
|
-
|
583
|
+
rg_set_scrollback_lines(VALUE self, VALUE lines)
|
475
584
|
{
|
476
585
|
vte_terminal_set_scrollback_lines(RVAL2TERM(self), NUM2LONG(lines));
|
477
|
-
return
|
586
|
+
return self;
|
478
587
|
}
|
479
588
|
|
480
589
|
static VALUE
|
481
|
-
|
590
|
+
rg_im_append_menuitems(VALUE self, VALUE menushell)
|
482
591
|
{
|
483
592
|
vte_terminal_im_append_menuitems(RVAL2TERM(self), RVAL2GOBJ(menushell));
|
484
|
-
return
|
593
|
+
return self;
|
485
594
|
}
|
486
595
|
|
487
596
|
static VALUE
|
488
|
-
|
597
|
+
rg_set_font(int argc, VALUE *argv, VALUE self)
|
489
598
|
{
|
490
599
|
VALUE font_desc_or_name, rb_antialias;
|
491
600
|
VteTerminalAntiAlias antialias = VTE_ANTI_ALIAS_USE_DEFAULT;
|
@@ -513,11 +622,11 @@ term_set_font(int argc, VALUE *argv, VALUE self)
|
|
513
622
|
vte_terminal_set_font_full(term, font_desc, antialias);
|
514
623
|
}
|
515
624
|
|
516
|
-
return
|
625
|
+
return self;
|
517
626
|
}
|
518
627
|
|
519
628
|
static VALUE
|
520
|
-
|
629
|
+
rg_font(VALUE self)
|
521
630
|
{
|
522
631
|
PangoFontDescription *font_desc;
|
523
632
|
font_desc = (PangoFontDescription *)vte_terminal_get_font(RVAL2TERM(self));
|
@@ -525,78 +634,78 @@ term_get_font(VALUE self)
|
|
525
634
|
}
|
526
635
|
|
527
636
|
static VALUE
|
528
|
-
|
637
|
+
rg_using_xft_p(VALUE self)
|
529
638
|
{
|
530
639
|
return CBOOL2RVAL(vte_terminal_get_using_xft(RVAL2TERM(self)));
|
531
640
|
}
|
532
641
|
|
533
642
|
static VALUE
|
534
|
-
|
643
|
+
rg_set_allow_bold(VALUE self, VALUE allow_bold)
|
535
644
|
{
|
536
645
|
vte_terminal_set_allow_bold(RVAL2TERM(self), RVAL2CBOOL(allow_bold));
|
537
|
-
return
|
646
|
+
return self;
|
538
647
|
}
|
539
648
|
|
540
649
|
static VALUE
|
541
|
-
|
650
|
+
rg_allow_bold_p(VALUE self)
|
542
651
|
{
|
543
652
|
return CBOOL2RVAL(vte_terminal_get_allow_bold(RVAL2TERM(self)));
|
544
653
|
}
|
545
654
|
|
546
655
|
static VALUE
|
547
|
-
|
656
|
+
rg_has_selection_p(VALUE self)
|
548
657
|
{
|
549
658
|
return CBOOL2RVAL(vte_terminal_get_has_selection(RVAL2TERM(self)));
|
550
659
|
}
|
551
660
|
|
552
661
|
static VALUE
|
553
|
-
|
662
|
+
rg_set_word_chars(VALUE self, VALUE word_chars)
|
554
663
|
{
|
555
664
|
vte_terminal_set_word_chars(RVAL2TERM(self),
|
556
665
|
NIL_P(word_chars) ?
|
557
666
|
NULL : RVAL2CSTR(word_chars));
|
558
|
-
return
|
667
|
+
return self;
|
559
668
|
}
|
560
669
|
|
561
670
|
static VALUE
|
562
|
-
|
671
|
+
rg_word_char_p(VALUE self, VALUE c)
|
563
672
|
{
|
564
673
|
return CBOOL2RVAL(vte_terminal_is_word_char(RVAL2TERM(self), NUM2UINT(c)));
|
565
674
|
}
|
566
675
|
|
567
676
|
static VALUE
|
568
|
-
|
677
|
+
rg_set_backspace_binding(VALUE self, VALUE binding)
|
569
678
|
{
|
570
679
|
vte_terminal_set_backspace_binding(RVAL2TERM(self), RVAL2EB(binding));
|
571
|
-
return
|
680
|
+
return self;
|
572
681
|
}
|
573
682
|
|
574
683
|
static VALUE
|
575
|
-
|
684
|
+
rg_set_delete_binding(VALUE self, VALUE binding)
|
576
685
|
{
|
577
686
|
vte_terminal_set_delete_binding(RVAL2TERM(self), RVAL2EB(binding));
|
578
|
-
return
|
687
|
+
return self;
|
579
688
|
}
|
580
689
|
|
581
690
|
static VALUE
|
582
|
-
|
691
|
+
rg_mouse_autohide_p(VALUE self)
|
583
692
|
{
|
584
693
|
return CBOOL2RVAL(vte_terminal_get_mouse_autohide(RVAL2TERM(self)));
|
585
694
|
}
|
586
695
|
|
587
696
|
static VALUE
|
588
|
-
|
697
|
+
rg_set_mouse_autohide(VALUE self, VALUE setting)
|
589
698
|
{
|
590
699
|
vte_terminal_set_mouse_autohide(RVAL2TERM(self), RVAL2CBOOL(setting));
|
591
|
-
return
|
700
|
+
return self;
|
592
701
|
}
|
593
702
|
|
594
703
|
static VALUE
|
595
|
-
|
704
|
+
rg_reset(VALUE self, VALUE full, VALUE clear_history)
|
596
705
|
{
|
597
706
|
vte_terminal_reset(RVAL2TERM(self), RVAL2CBOOL(full),
|
598
707
|
RVAL2CBOOL(clear_history));
|
599
|
-
return
|
708
|
+
return self;
|
600
709
|
}
|
601
710
|
|
602
711
|
static gboolean
|
@@ -617,7 +726,7 @@ term_is_selected_cb(VteTerminal *terminal, glong column, glong row,
|
|
617
726
|
}
|
618
727
|
|
619
728
|
static VALUE
|
620
|
-
|
729
|
+
rg_get_text(int argc, VALUE *argv, VALUE self)
|
621
730
|
{
|
622
731
|
VALUE get_attrs, include_trailing_spaces, proc, rb_text;
|
623
732
|
GArray *attrs = NULL;
|
@@ -650,7 +759,7 @@ term_get_text(int argc, VALUE *argv, VALUE self)
|
|
650
759
|
}
|
651
760
|
|
652
761
|
static VALUE
|
653
|
-
|
762
|
+
rg_get_text_range(int argc, VALUE *argv, VALUE self)
|
654
763
|
{
|
655
764
|
VALUE start_row, start_col, end_row, end_col, get_attrs, proc, rb_text;
|
656
765
|
GArray *attrs = NULL;
|
@@ -684,7 +793,7 @@ term_get_text_range(int argc, VALUE *argv, VALUE self)
|
|
684
793
|
}
|
685
794
|
|
686
795
|
static VALUE
|
687
|
-
|
796
|
+
rg_cursor_position(VALUE self)
|
688
797
|
{
|
689
798
|
glong column, row;
|
690
799
|
vte_terminal_get_cursor_position(RVAL2TERM(self), &column, &row);
|
@@ -692,43 +801,43 @@ term_get_cursor_position(VALUE self)
|
|
692
801
|
}
|
693
802
|
|
694
803
|
static VALUE
|
695
|
-
|
804
|
+
rg_match_clear_all(VALUE self)
|
696
805
|
{
|
697
806
|
vte_terminal_match_clear_all(RVAL2TERM(self));
|
698
|
-
return
|
807
|
+
return self;
|
699
808
|
}
|
700
809
|
|
701
810
|
static VALUE
|
702
|
-
|
811
|
+
rg_match_add(VALUE self, VALUE match)
|
703
812
|
{
|
704
813
|
return INT2NUM(vte_terminal_match_add(RVAL2TERM(self), RVAL2CSTR(match)));
|
705
814
|
}
|
706
815
|
|
707
816
|
static VALUE
|
708
|
-
|
817
|
+
rg_match_set_cursor(VALUE self, VALUE tag, VALUE cursor)
|
709
818
|
{
|
710
|
-
|
711
|
-
|
712
|
-
|
713
|
-
|
819
|
+
if (NIL_P(cursor) || RVAL2GTYPE(cursor) == GDK_TYPE_CURSOR) {
|
820
|
+
vte_terminal_match_set_cursor(RVAL2TERM(self), NUM2INT(tag), RVAL2GOBJ(cursor));
|
821
|
+
} else if (RVAL2GTYPE(cursor) == GDK_TYPE_CURSOR_TYPE) {
|
822
|
+
vte_terminal_match_set_cursor_type(RVAL2TERM(self), NUM2INT(tag), RVAL2CT(cursor));
|
823
|
+
#if VTE_CHECK_VERSION(0, 17, 1)
|
824
|
+
} else {
|
825
|
+
vte_terminal_match_set_cursor_name(_SELF(self), NUM2INT(tag), RVAL2CSTR(cursor));
|
826
|
+
#endif
|
827
|
+
}
|
714
828
|
|
715
|
-
|
716
|
-
term_match_set_cursor_type(VALUE self, VALUE tag, VALUE cursor_type)
|
717
|
-
{
|
718
|
-
vte_terminal_match_set_cursor_type(RVAL2TERM(self), NUM2INT(tag),
|
719
|
-
RVAL2CT(cursor_type));
|
720
|
-
return Qnil;
|
829
|
+
return self;
|
721
830
|
}
|
722
831
|
|
723
832
|
static VALUE
|
724
|
-
|
833
|
+
rg_match_remove(VALUE self, VALUE tag)
|
725
834
|
{
|
726
835
|
vte_terminal_match_remove(RVAL2TERM(self), NUM2INT(tag));
|
727
|
-
return
|
836
|
+
return self;
|
728
837
|
}
|
729
838
|
|
730
839
|
static VALUE
|
731
|
-
|
840
|
+
rg_match_check(VALUE self, VALUE column, VALUE row)
|
732
841
|
{
|
733
842
|
char *string;
|
734
843
|
int tag;
|
@@ -745,286 +854,389 @@ term_match_check(VALUE self, VALUE column, VALUE row)
|
|
745
854
|
}
|
746
855
|
}
|
747
856
|
|
857
|
+
#if !VTE_CHECK_VERSION(0, 20, 0)
|
748
858
|
static VALUE
|
749
|
-
|
859
|
+
rg_set_emulation(VALUE self, VALUE emulation)
|
750
860
|
{
|
751
861
|
vte_terminal_set_emulation(RVAL2TERM(self), RVAL2CSTR(emulation));
|
752
|
-
return
|
862
|
+
return self;
|
753
863
|
}
|
754
864
|
|
755
865
|
static VALUE
|
756
|
-
|
866
|
+
rg_emulation(VALUE self)
|
757
867
|
{
|
758
868
|
return CSTR2RVAL(vte_terminal_get_emulation(RVAL2TERM(self)));
|
759
869
|
}
|
870
|
+
#endif
|
760
871
|
|
761
872
|
static VALUE
|
762
|
-
|
873
|
+
rg_default_emulation(VALUE self)
|
763
874
|
{
|
764
875
|
return CSTR2RVAL(vte_terminal_get_default_emulation(RVAL2TERM(self)));
|
765
876
|
}
|
766
877
|
|
878
|
+
#if !VTE_CHECK_VERSION(0, 20, 0)
|
767
879
|
static VALUE
|
768
|
-
|
880
|
+
rg_set_encoding(VALUE self, VALUE encoding)
|
769
881
|
{
|
770
882
|
vte_terminal_set_encoding(RVAL2TERM(self), RVAL2CSTR(encoding));
|
771
|
-
return
|
883
|
+
return self;
|
772
884
|
}
|
773
885
|
|
774
886
|
static VALUE
|
775
|
-
|
887
|
+
rg_encoding(VALUE self)
|
776
888
|
{
|
777
889
|
return CSTR2RVAL(vte_terminal_get_encoding(RVAL2TERM(self)));
|
778
890
|
}
|
891
|
+
#endif
|
779
892
|
|
780
893
|
static VALUE
|
781
|
-
|
894
|
+
rg_status_line(VALUE self)
|
782
895
|
{
|
783
896
|
return CSTR2RVAL(vte_terminal_get_status_line(RVAL2TERM(self)));
|
784
897
|
}
|
785
898
|
|
786
899
|
static VALUE
|
787
|
-
|
900
|
+
rg_padding(VALUE self)
|
788
901
|
{
|
789
902
|
int xpad, ypad;
|
790
903
|
vte_terminal_get_padding(RVAL2TERM(self), &xpad, &ypad);
|
791
904
|
return rb_ary_new3(2, INT2NUM(xpad), INT2NUM(ypad));
|
792
905
|
}
|
793
906
|
|
907
|
+
#if !VTE_CHECK_VERSION(0, 20, 0)
|
794
908
|
static VALUE
|
795
|
-
|
909
|
+
rg_set_pty(VALUE self, VALUE pty_master)
|
796
910
|
{
|
797
911
|
vte_terminal_set_pty(RVAL2TERM(self), NUM2INT(pty_master));
|
798
|
-
return
|
912
|
+
return self;
|
799
913
|
}
|
914
|
+
#endif
|
800
915
|
|
801
916
|
static VALUE
|
802
|
-
|
917
|
+
rg_adjustment(VALUE self)
|
803
918
|
{
|
804
919
|
return GOBJ2RVAL(vte_terminal_get_adjustment(RVAL2TERM(self)));
|
805
920
|
}
|
806
921
|
|
807
922
|
static VALUE
|
808
|
-
|
923
|
+
rg_char_width(VALUE self)
|
809
924
|
{
|
810
925
|
return LONG2NUM(vte_terminal_get_char_width(RVAL2TERM(self)));
|
811
926
|
}
|
812
927
|
|
813
928
|
static VALUE
|
814
|
-
|
929
|
+
rg_char_height(VALUE self)
|
815
930
|
{
|
816
931
|
return LONG2NUM(vte_terminal_get_char_height(RVAL2TERM(self)));
|
817
932
|
}
|
818
933
|
|
819
934
|
static VALUE
|
820
|
-
|
935
|
+
rg_char_descent(VALUE self)
|
821
936
|
{
|
822
937
|
return LONG2NUM(vte_terminal_get_char_descent(RVAL2TERM(self)));
|
823
938
|
}
|
824
939
|
|
825
940
|
static VALUE
|
826
|
-
|
941
|
+
rg_char_ascent(VALUE self)
|
827
942
|
{
|
828
943
|
return LONG2NUM(vte_terminal_get_char_ascent(RVAL2TERM(self)));
|
829
944
|
}
|
830
945
|
|
831
946
|
static VALUE
|
832
|
-
|
947
|
+
rg_row_count(VALUE self)
|
833
948
|
{
|
834
949
|
return LONG2NUM(vte_terminal_get_row_count(RVAL2TERM(self)));
|
835
950
|
}
|
836
951
|
|
837
952
|
static VALUE
|
838
|
-
|
953
|
+
rg_column_count(VALUE self)
|
839
954
|
{
|
840
955
|
return LONG2NUM(vte_terminal_get_column_count(RVAL2TERM(self)));
|
841
956
|
}
|
842
957
|
|
843
958
|
static VALUE
|
844
|
-
|
959
|
+
rg_window_title(VALUE self)
|
845
960
|
{
|
846
961
|
return CSTR2RVAL(vte_terminal_get_window_title(RVAL2TERM(self)));
|
847
962
|
}
|
848
963
|
|
849
964
|
static VALUE
|
850
|
-
|
965
|
+
rg_icon_title(VALUE self)
|
851
966
|
{
|
852
967
|
return CSTR2RVAL(vte_terminal_get_icon_title(RVAL2TERM(self)));
|
853
968
|
}
|
854
969
|
|
970
|
+
#if VTE_CHECK_VERSION(0, 26, 0)
|
971
|
+
static VALUE
|
972
|
+
rg_pty_new(VALUE self, VALUE flags)
|
973
|
+
{
|
974
|
+
VtePty *result;
|
975
|
+
GError *error = NULL;
|
855
976
|
|
856
|
-
|
857
|
-
|
977
|
+
result = vte_terminal_pty_new(_SELF(self), RVAL2GFLAGS(flags, VTE_TYPE_PTY_FLAGS), &error);
|
978
|
+
if (error)
|
979
|
+
RAISE_GERROR(error);
|
980
|
+
|
981
|
+
return GOBJ2RVAL(result);
|
982
|
+
}
|
983
|
+
#endif
|
984
|
+
|
985
|
+
#if VTE_CHECK_VERSION(0, 26, 0)
|
986
|
+
static VALUE
|
987
|
+
rg_search_find_next(VALUE self)
|
858
988
|
{
|
859
|
-
|
860
|
-
|
861
|
-
|
989
|
+
gboolean result;
|
990
|
+
|
991
|
+
result = vte_terminal_search_find_next(_SELF(self));
|
992
|
+
|
993
|
+
return CBOOL2RVAL(result);
|
994
|
+
}
|
862
995
|
#endif
|
863
|
-
|
864
|
-
|
996
|
+
|
997
|
+
#if VTE_CHECK_VERSION(0, 26, 0)
|
998
|
+
static VALUE
|
999
|
+
rg_search_find_previous(VALUE self)
|
1000
|
+
{
|
1001
|
+
gboolean result;
|
1002
|
+
|
1003
|
+
result = vte_terminal_search_find_previous(_SELF(self));
|
1004
|
+
|
1005
|
+
return CBOOL2RVAL(result);
|
1006
|
+
}
|
1007
|
+
#endif
|
1008
|
+
|
1009
|
+
#if VTE_CHECK_VERSION(0, 26, 0)
|
1010
|
+
static VALUE
|
1011
|
+
rg_search_get_wrap_around_p(VALUE self)
|
1012
|
+
{
|
1013
|
+
gboolean result;
|
1014
|
+
|
1015
|
+
result = vte_terminal_search_get_wrap_around(_SELF(self));
|
1016
|
+
|
1017
|
+
return CBOOL2RVAL(result);
|
1018
|
+
}
|
1019
|
+
#endif
|
1020
|
+
|
1021
|
+
#if VTE_CHECK_VERSION(0, 26, 0)
|
1022
|
+
static VALUE
|
1023
|
+
rg_search_set_wrap_around(VALUE self, VALUE wrap_around)
|
1024
|
+
{
|
1025
|
+
vte_terminal_search_set_wrap_around(_SELF(self), RVAL2CBOOL(wrap_around));
|
1026
|
+
|
1027
|
+
return self;
|
1028
|
+
}
|
1029
|
+
#endif
|
1030
|
+
|
1031
|
+
#if VTE_CHECK_VERSION(0, 16, 0)
|
1032
|
+
static VALUE
|
1033
|
+
rg_select_all(VALUE self)
|
1034
|
+
{
|
1035
|
+
vte_terminal_select_all(_SELF(self));
|
1036
|
+
|
1037
|
+
return self;
|
1038
|
+
}
|
865
1039
|
#endif
|
866
1040
|
|
1041
|
+
#if VTE_CHECK_VERSION(0, 16, 0)
|
1042
|
+
static VALUE
|
1043
|
+
rg_select_none(VALUE self)
|
1044
|
+
{
|
1045
|
+
vte_terminal_select_none(_SELF(self));
|
1046
|
+
|
1047
|
+
return self;
|
1048
|
+
}
|
1049
|
+
#endif
|
1050
|
+
|
1051
|
+
static VALUE
|
1052
|
+
rg_set_opacity(VALUE self, VALUE opacity)
|
1053
|
+
{
|
1054
|
+
vte_terminal_set_opacity(_SELF(self), NUM2UINT(opacity));
|
1055
|
+
|
1056
|
+
return self;
|
1057
|
+
}
|
1058
|
+
|
1059
|
+
#if VTE_CHECK_VERSION(0, 26, 0)
|
1060
|
+
static VALUE
|
1061
|
+
rg_watch_child(VALUE self, VALUE child_pid)
|
1062
|
+
{
|
1063
|
+
vte_terminal_watch_child(_SELF(self), NUM2INT(child_pid));
|
1064
|
+
|
1065
|
+
return self;
|
1066
|
+
}
|
1067
|
+
#endif
|
1068
|
+
|
1069
|
+
#if VTE_CHECK_VERSION(0, 24, 0)
|
1070
|
+
static VALUE
|
1071
|
+
rg_write_contents(int argc, VALUE *argv, VALUE self)
|
1072
|
+
{
|
1073
|
+
VALUE stream, flags, rb_cancellable;
|
1074
|
+
GCancellable *cancellable;
|
1075
|
+
gboolean result;
|
1076
|
+
GError *error = NULL;
|
1077
|
+
|
1078
|
+
rb_scan_args(argc, argv, "21", &stream, &flags, &rb_cancellable);
|
1079
|
+
cancellable = NIL_P(rb_cancellable) ? NULL : RVAL2GOBJ(rb_cancellable);
|
1080
|
+
|
1081
|
+
result = vte_terminal_write_contents(_SELF(self),
|
1082
|
+
RVAL2GOBJ(stream),
|
1083
|
+
RVAL2GENUM(flags, VTE_TYPE_TERMINAL_WRITE_FLAGS),
|
1084
|
+
cancellable,
|
1085
|
+
&error);
|
1086
|
+
if (error)
|
1087
|
+
RAISE_GERROR(error);
|
1088
|
+
|
1089
|
+
return CBOOL2RVAL(result);
|
1090
|
+
}
|
1091
|
+
#endif
|
1092
|
+
|
1093
|
+
void
|
1094
|
+
Init_vte_terminal(VALUE mVte)
|
1095
|
+
{
|
1096
|
+
VALUE RG_TARGET_NAMESPACE;
|
1097
|
+
|
867
1098
|
id_new = rb_intern("new");
|
868
1099
|
id_call = rb_intern("call");
|
869
1100
|
|
870
|
-
|
871
|
-
id_column = rb_intern("@column");
|
872
|
-
id_fore = rb_intern("@fore");
|
873
|
-
id_back = rb_intern("@back");
|
874
|
-
id_underline = rb_intern("@underline");
|
875
|
-
id_strikethrough = rb_intern("@strikethrough");
|
1101
|
+
RG_TARGET_NAMESPACE = G_DEF_CLASS(VTE_TYPE_TERMINAL, "Terminal", mVte);
|
876
1102
|
|
877
|
-
|
878
|
-
cTerminalEraseBinding = G_DEF_CLASS(VTE_TYPE_TERMINAL_ERASE_BINDING,
|
879
|
-
"TerminalEraseBinding", mVte);
|
1103
|
+
G_DEF_CLASS(VTE_TYPE_TERMINAL_ERASE_BINDING, "EraseBinding", RG_TARGET_NAMESPACE);
|
880
1104
|
#if VTE_CHECK_VERSION(0, 18, 0)
|
881
|
-
|
882
|
-
"TerminalCursorBlinkMode", mVte);
|
1105
|
+
G_DEF_CLASS(VTE_TYPE_TERMINAL_CURSOR_BLINK_MODE, "CursorBlinkMode", RG_TARGET_NAMESPACE);
|
883
1106
|
#endif
|
884
1107
|
#if VTE_CHECK_VERSION(0, 19, 1)
|
885
|
-
|
886
|
-
"TerminalCursorShape", mVte);
|
1108
|
+
G_DEF_CLASS(VTE_TYPE_TERMINAL_CURSOR_SHAPE, "CursorShape", RG_TARGET_NAMESPACE);
|
887
1109
|
#endif
|
888
|
-
|
889
|
-
|
890
|
-
|
891
|
-
|
892
|
-
|
893
|
-
|
894
|
-
|
895
|
-
|
896
|
-
|
897
|
-
|
898
|
-
|
899
|
-
|
900
|
-
|
901
|
-
|
902
|
-
|
903
|
-
|
904
|
-
|
905
|
-
|
906
|
-
|
907
|
-
|
908
|
-
|
909
|
-
|
910
|
-
|
911
|
-
|
912
|
-
|
913
|
-
|
914
|
-
|
915
|
-
|
916
|
-
|
917
|
-
|
918
|
-
|
919
|
-
|
920
|
-
|
921
|
-
|
922
|
-
|
923
|
-
|
924
|
-
|
925
|
-
|
926
|
-
|
927
|
-
|
928
|
-
rb_define_method(cTerminal, "set_scroll_on_output",
|
929
|
-
term_set_scroll_on_output, 1);
|
930
|
-
rb_define_method(cTerminal, "set_scroll_on_keystroke",
|
931
|
-
term_set_scroll_on_keystroke, 1);
|
932
|
-
|
933
|
-
rb_define_method(cTerminal, "set_color_dim", term_set_color_dim, 1);
|
934
|
-
rb_define_method(cTerminal, "set_color_bold", term_set_color_bold, 1);
|
935
|
-
rb_define_method(cTerminal, "set_color_foreground",
|
936
|
-
term_set_color_foreground, 1);
|
937
|
-
rb_define_method(cTerminal, "set_color_background",
|
938
|
-
term_set_color_background, 1);
|
939
|
-
rb_define_method(cTerminal, "set_color_cursor", term_set_color_cursor, 1);
|
940
|
-
rb_define_method(cTerminal, "set_color_highlight",
|
941
|
-
term_set_color_highlight, 1);
|
942
|
-
rb_define_method(cTerminal, "set_colors", term_set_colors, 3);
|
943
|
-
rb_define_method(cTerminal, "set_default_colors",
|
944
|
-
term_set_default_colors, 0);
|
945
|
-
rb_define_method(cTerminal, "set_background_image",
|
946
|
-
term_set_background_image, 1);
|
947
|
-
rb_define_method(cTerminal, "set_background_tint_color",
|
948
|
-
term_set_background_tint_color, 1);
|
949
|
-
rb_define_method(cTerminal, "set_background_saturation",
|
950
|
-
term_set_background_saturation, 1);
|
951
|
-
rb_define_method(cTerminal, "set_background_transparent",
|
952
|
-
term_set_background_transparent, 1);
|
953
|
-
rb_define_method(cTerminal, "set_cursor_blinks", term_set_cursor_blinks, 1);
|
1110
|
+
G_DEF_CLASS(VTE_TYPE_TERMINAL_WRITE_FLAGS, "WriteFlags", RG_TARGET_NAMESPACE);
|
1111
|
+
|
1112
|
+
RG_DEF_METHOD(initialize, 0);
|
1113
|
+
|
1114
|
+
RG_DEF_METHOD(fork_command, -1);
|
1115
|
+
RG_DEF_METHOD(fork_pty, -1);
|
1116
|
+
|
1117
|
+
RG_DEF_METHOD(feed, 1);
|
1118
|
+
RG_DEF_METHOD(feed_child, 1);
|
1119
|
+
RG_DEF_METHOD(feed_child_binary, 1);
|
1120
|
+
|
1121
|
+
RG_DEF_METHOD(copy_clipboard, 0);
|
1122
|
+
RG_DEF_METHOD(paste_clipboard, 0);
|
1123
|
+
RG_DEF_METHOD(copy_primary, 0);
|
1124
|
+
RG_DEF_METHOD(paste_primary, 0);
|
1125
|
+
|
1126
|
+
RG_DEF_METHOD(set_size, 2);
|
1127
|
+
|
1128
|
+
RG_DEF_METHOD(set_audible_bell, 1);
|
1129
|
+
RG_DEF_METHOD_P(audible_bell, 0);
|
1130
|
+
RG_DEF_METHOD(set_visible_bell, 1);
|
1131
|
+
RG_DEF_METHOD_P(visible_bell, 0);
|
1132
|
+
|
1133
|
+
RG_DEF_METHOD(set_scroll_background, 1);
|
1134
|
+
RG_DEF_METHOD(set_scroll_on_output, 1);
|
1135
|
+
RG_DEF_METHOD(set_scroll_on_keystroke, 1);
|
1136
|
+
|
1137
|
+
RG_DEF_METHOD(set_color_dim, 1);
|
1138
|
+
RG_DEF_METHOD(set_color_bold, 1);
|
1139
|
+
RG_DEF_METHOD(set_color_foreground, 1);
|
1140
|
+
RG_DEF_METHOD(set_color_background, 1);
|
1141
|
+
RG_DEF_METHOD(set_color_cursor, 1);
|
1142
|
+
RG_DEF_METHOD(set_color_highlight, 1);
|
1143
|
+
RG_DEF_METHOD(set_colors, 3);
|
1144
|
+
RG_DEF_METHOD(set_default_colors, 0);
|
1145
|
+
RG_DEF_METHOD(set_background_image, 1);
|
1146
|
+
RG_DEF_METHOD(set_background_tint_color, 1);
|
1147
|
+
RG_DEF_METHOD(set_background_saturation, 1);
|
1148
|
+
RG_DEF_METHOD(set_background_transparent, 1);
|
1149
|
+
RG_DEF_METHOD(set_cursor_blinks, 1);
|
954
1150
|
#if VTE_CHECK_VERSION(0, 18, 0)
|
955
|
-
|
956
|
-
|
957
|
-
rb_define_method(cTerminal, "cursor_blink_mode",
|
958
|
-
term_get_cursor_blink_mode, 0);
|
1151
|
+
RG_DEF_METHOD(set_cursor_blink_mode, 1);
|
1152
|
+
RG_DEF_METHOD(cursor_blink_mode, 0);
|
959
1153
|
#endif
|
960
1154
|
#if VTE_CHECK_VERSION(0, 19, 1)
|
961
|
-
|
962
|
-
|
963
|
-
|
964
|
-
|
965
|
-
|
1155
|
+
RG_DEF_METHOD(set_cursor_shape, 1);
|
1156
|
+
RG_DEF_METHOD(cursor_shape, 0);
|
1157
|
+
#if !VTE_CHECK_VERSION(0, 20, 0)
|
1158
|
+
RG_DEF_METHOD(pty, 0);
|
1159
|
+
#endif
|
1160
|
+
RG_DEF_METHOD(child_exit_status, 0);
|
966
1161
|
#endif
|
967
|
-
|
968
|
-
|
969
|
-
|
970
|
-
|
971
|
-
|
972
|
-
|
973
|
-
|
974
|
-
|
975
|
-
|
976
|
-
|
977
|
-
|
978
|
-
|
979
|
-
|
980
|
-
|
981
|
-
|
982
|
-
|
983
|
-
|
984
|
-
|
985
|
-
|
986
|
-
|
987
|
-
|
988
|
-
|
989
|
-
|
990
|
-
|
991
|
-
|
992
|
-
|
993
|
-
|
994
|
-
|
995
|
-
|
996
|
-
|
997
|
-
|
998
|
-
|
999
|
-
|
1000
|
-
|
1001
|
-
|
1002
|
-
|
1003
|
-
|
1004
|
-
|
1005
|
-
|
1006
|
-
|
1007
|
-
|
1008
|
-
|
1009
|
-
|
1010
|
-
|
1011
|
-
|
1012
|
-
|
1013
|
-
|
1014
|
-
|
1015
|
-
|
1016
|
-
|
1017
|
-
|
1018
|
-
|
1019
|
-
|
1020
|
-
|
1021
|
-
|
1022
|
-
|
1023
|
-
|
1024
|
-
|
1025
|
-
|
1026
|
-
|
1027
|
-
|
1028
|
-
|
1029
|
-
|
1162
|
+
RG_DEF_METHOD(set_scrollback_lines, 1);
|
1163
|
+
|
1164
|
+
RG_DEF_METHOD(im_append_menuitems, 1);
|
1165
|
+
|
1166
|
+
RG_DEF_METHOD(set_font, -1);
|
1167
|
+
RG_DEF_METHOD(font, 0);
|
1168
|
+
RG_DEF_METHOD_P(using_xft, 0);
|
1169
|
+
RG_DEF_METHOD(set_allow_bold, 1);
|
1170
|
+
RG_DEF_METHOD_P(allow_bold, 0);
|
1171
|
+
RG_DEF_METHOD_P(has_selection, 0);
|
1172
|
+
RG_DEF_ALIAS("have_selection?", "has_selection?");
|
1173
|
+
RG_DEF_METHOD(set_word_chars, 1);
|
1174
|
+
RG_DEF_METHOD_P(word_char, 1);
|
1175
|
+
RG_DEF_METHOD(set_backspace_binding, 1);
|
1176
|
+
RG_DEF_METHOD(set_delete_binding, 1);
|
1177
|
+
RG_DEF_METHOD_P(mouse_autohide, 0);
|
1178
|
+
RG_DEF_METHOD(set_mouse_autohide, 1);
|
1179
|
+
|
1180
|
+
RG_DEF_METHOD(reset, 2);
|
1181
|
+
|
1182
|
+
RG_DEF_METHOD(get_text, -1);
|
1183
|
+
RG_DEF_METHOD(get_text_range, -1);
|
1184
|
+
|
1185
|
+
RG_DEF_METHOD(cursor_position, 0);
|
1186
|
+
|
1187
|
+
RG_DEF_METHOD(match_clear_all, 0);
|
1188
|
+
RG_DEF_METHOD(match_add, 1);
|
1189
|
+
RG_DEF_METHOD(match_set_cursor, 2);
|
1190
|
+
RG_DEF_METHOD(match_remove, 1);
|
1191
|
+
RG_DEF_METHOD(match_check, 2);
|
1192
|
+
|
1193
|
+
#if !VTE_CHECK_VERSION(0, 20, 0)
|
1194
|
+
RG_DEF_METHOD(set_emulation, 1);
|
1195
|
+
RG_DEF_METHOD(emulation, 0);
|
1196
|
+
#endif
|
1197
|
+
RG_DEF_METHOD(default_emulation, 0);
|
1198
|
+
|
1199
|
+
#if !VTE_CHECK_VERSION(0, 20, 0)
|
1200
|
+
RG_DEF_METHOD(set_encoding, 1);
|
1201
|
+
RG_DEF_METHOD(encoding, 0);
|
1202
|
+
#endif
|
1203
|
+
|
1204
|
+
RG_DEF_METHOD(status_line, 0);
|
1205
|
+
RG_DEF_METHOD(padding, 0);
|
1206
|
+
|
1207
|
+
#if !VTE_CHECK_VERSION(0, 20, 0)
|
1208
|
+
RG_DEF_METHOD(set_pty, 1);
|
1209
|
+
#endif
|
1210
|
+
|
1211
|
+
RG_DEF_METHOD(adjustment, 0);
|
1212
|
+
RG_DEF_METHOD(char_width, 0);
|
1213
|
+
RG_DEF_METHOD(char_height, 0);
|
1214
|
+
RG_DEF_METHOD(char_descent, 0);
|
1215
|
+
RG_DEF_METHOD(char_ascent, 0);
|
1216
|
+
RG_DEF_METHOD(row_count, 0);
|
1217
|
+
RG_DEF_METHOD(column_count, 0);
|
1218
|
+
RG_DEF_METHOD(window_title, 0);
|
1219
|
+
RG_DEF_METHOD(icon_title, 0);
|
1220
|
+
|
1221
|
+
#if VTE_CHECK_VERSION(0, 26, 0)
|
1222
|
+
RG_DEF_METHOD(pty_new, 1);
|
1223
|
+
RG_DEF_METHOD(search_find_next, 0);
|
1224
|
+
RG_DEF_METHOD(search_find_previous, 0);
|
1225
|
+
RG_DEF_METHOD_P(search_get_wrap_around, 0);
|
1226
|
+
RG_DEF_METHOD(search_set_wrap_around, 1);
|
1227
|
+
RG_DEF_ALIAS("search_wrap_around=", "search_set_wrap_around");
|
1228
|
+
#endif
|
1229
|
+
#if VTE_CHECK_VERSION(0, 16, 0)
|
1230
|
+
RG_DEF_METHOD(select_all, 0);
|
1231
|
+
RG_DEF_METHOD(select_none, 0);
|
1232
|
+
#endif
|
1233
|
+
RG_DEF_METHOD(set_opacity, 1);
|
1234
|
+
#if VTE_CHECK_VERSION(0, 26, 0)
|
1235
|
+
RG_DEF_METHOD(watch_child, 1);
|
1236
|
+
#endif
|
1237
|
+
#if VTE_CHECK_VERSION(0, 24, 0)
|
1238
|
+
RG_DEF_METHOD(write_contents, -1);
|
1239
|
+
#endif
|
1240
|
+
|
1241
|
+
G_DEF_SETTERS(RG_TARGET_NAMESPACE);
|
1030
1242
|
}
|