]>
Commit | Line | Data |
---|---|---|
baafd8c4 JR |
1 | diff --git a/configure.ac b/configure.ac |
2 | index d3fc668..94d3a40 100644 | |
3 | --- a/configure.ac | |
4 | +++ b/configure.ac | |
5 | @@ -359,10 +359,29 @@ AC_SUBST(NEMIVERCOMMON_LIBS) | |
6 | AC_SUBST(NEMIVERCOMMON_CFLAGS) | |
7 | ||
8 | dnl library dependencies for the nemiver common UI module | |
9 | + | |
10 | +dnl first what vte should we use? | |
11 | +PKG_CHECK_EXISTS([vte-2.90 >= $LIBVTE_VERSION], | |
12 | + [HAS_VTE_2_90=yes], | |
13 | + [HAS_VTR_2_90=no]) | |
14 | + | |
15 | +PKG_CHECK_EXISTS([vte-2.91 >= $LIBVTE_VERSION], | |
16 | + [HAS_VTE_2_91=yes], | |
17 | + [HAS_VTE_2_91=no]) | |
18 | + | |
19 | +if test x$HAS_VTE_2_91 = xyes; then | |
20 | + VTE_TO_USE=vte-2.91 | |
21 | + AC_DEFINE(HAS_VTE_2_91,1,[libvte 2.91 support]) | |
22 | +else | |
23 | + VTE_TO_USE=vte-2.90 | |
24 | + AC_DEFINE(HAS_VTE_2_90,1,[libvtr 2.90 support]) | |
25 | +fi | |
26 | + | |
27 | +dnl then the other libraries of uicommon module. | |
28 | DEP_UICOMMON=" gtkmm-3.0 >= $LIBGTKMM_VERSION \ | |
29 | gtk+-3.0 >= $LIBGTK_VERSION \ | |
30 | gtksourceviewmm-3.0 >= $LIBGTKSOURCEVIEWMM_VERSION \ | |
31 | - vte-2.90 >= $LIBVTE_VERSION" | |
32 | + $VTE_TO_USE >= $LIBVTE_VERSION" | |
33 | ||
34 | PKG_CHECK_MODULES(NEMIVERUICOMMON, $DEP_UICOMMON $DEP_COMMON $DEP_MEMORYVIEW) | |
35 | NEMIVERUICOMMON_CFLAGS="$NEMIVERUICOMMON_CFLAGS $CPPUNIT_CFLAGS" | |
36 | @@ -385,7 +404,7 @@ AC_SUBST(NEMIVERWORKBENCH_CFLAGS) | |
37 | ||
38 | dnl library dependencies for the nemiver debug perspective plugin | |
39 | DEP_PERSP="gtksourceviewmm-3.0 >= $LIBGTKSOURCEVIEWMM_VERSION \ | |
40 | - vte-2.90 >= $LIBVTE_VERSION" | |
41 | + $VTE_TO_USE >= $LIBVTE_VERSION" | |
42 | ||
43 | PKG_CHECK_MODULES(NEMIVERDBGPERSP, $DEP_UICOMMON $DEP_VFS $DEP_PERSP $DEP_MEMORYVIEW $DEP_DYNAMICLAYOUT) | |
44 | NEMIVERDBGPERSP_LIBS="$NEMIVERDBGPERSP_LIBS $CPPUNIT_LIBS" | |
45 | diff --git a/src/uicommon/nmv-terminal.cc b/src/uicommon/nmv-terminal.cc | |
46 | index 9985e6b..42408c7 100644 | |
47 | --- a/src/uicommon/nmv-terminal.cc | |
48 | +++ b/src/uicommon/nmv-terminal.cc | |
49 | @@ -46,6 +46,7 @@ | |
50 | #include <gtkmm/menu.h> | |
51 | #include <gtkmm/builder.h> | |
52 | #include <gtkmm/uimanager.h> | |
53 | +#include <pangomm/fontdescription.h> | |
54 | #include <vte/vte.h> | |
55 | #include <glib/gi18n.h> | |
56 | #include "common/nmv-exception.h" | |
57 | @@ -137,11 +137,18 @@ struct Terminal::Priv { | |
58 | THROW_IF_FAIL (vte); | |
59 | ||
60 | // Mandatory for vte 0.14 | |
61 | +#ifdef HAS_VTE_2_91 | |
62 | + Pango::FontDescription font_desc ("monospace"); | |
63 | + vte_terminal_set_font (vte, font_desc.gobj()); | |
64 | +#else // HAS_VTE_2_90 | |
65 | vte_terminal_set_font_from_string (vte, "monospace"); | |
66 | +#endif | |
67 | ||
68 | vte_terminal_set_scroll_on_output (vte, TRUE); | |
69 | vte_terminal_set_scrollback_lines (vte, 1000); | |
70 | +#ifdef HAS_VTE_2_90 | |
71 | vte_terminal_set_emulation (vte, "xterm"); | |
72 | +#endif | |
73 | ||
74 | widget = Glib::wrap (w); | |
75 | THROW_IF_FAIL (widget); | |
76 | @@ -267,7 +274,17 @@ struct Terminal::Priv { | |
77 | THROW_IF_FAIL (slave_pty); | |
78 | THROW_IF_FAIL (master_pty); | |
79 | ||
80 | +#ifdef HAS_VTE_2_91 | |
81 | + GError *err = 0; | |
82 | + VtePty *p = vte_pty_new_foreign_sync (master_pty, 0, &err); | |
83 | + GErrorSafePtr error (err); | |
84 | + SafePtr<VtePty, RefGObjectNative, UnrefGObjectNative> pty (p); | |
85 | + THROW_IF_FAIL2 (!error, error->message); | |
86 | + | |
87 | + vte_terminal_set_pty (vte, pty.get()); | |
88 | +#else //HAS_VTE_2_90 | |
89 | vte_terminal_set_pty (vte, master_pty); | |
90 | +#endif | |
91 | return true; | |
92 | } | |
93 | };//end Terminal::Priv-- | |
94 | -- | |
95 | cgit v0.10.1 | |
96 |