r4723 - in trunk/src/target/OM-2007.2/applications/openmoko-terminal2: . src

mickey at docs.openmoko.org mickey at docs.openmoko.org
Sat Oct 18 17:01:16 CEST 2008


Author: mickey
Date: 2008-10-18 17:01:15 +0200 (Sat, 18 Oct 2008)
New Revision: 4723

Modified:
   trunk/src/target/OM-2007.2/applications/openmoko-terminal2/Makefile.am
   trunk/src/target/OM-2007.2/applications/openmoko-terminal2/intltool-extract.in
   trunk/src/target/OM-2007.2/applications/openmoko-terminal2/intltool-merge.in
   trunk/src/target/OM-2007.2/applications/openmoko-terminal2/intltool-update.in
   trunk/src/target/OM-2007.2/applications/openmoko-terminal2/src/mainwindow.vala
   trunk/src/target/OM-2007.2/applications/openmoko-terminal2/src/mokoterminal.vala
Log:
openmoko-terminal2: update to vala 0.3.5


Modified: trunk/src/target/OM-2007.2/applications/openmoko-terminal2/Makefile.am
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-terminal2/Makefile.am	2008-10-17 23:34:17 UTC (rev 4722)
+++ trunk/src/target/OM-2007.2/applications/openmoko-terminal2/Makefile.am	2008-10-18 15:01:15 UTC (rev 4723)
@@ -27,7 +27,7 @@
 	$(NULL)
 
 src/openmoko-terminal2.vala.stamp: $(openmoko_terminal2_VALASOURCES)
-	$(VALAC) --pkg vte --basedir $(top_srcdir) $^
+	$(VALAC) --pkg vte --save-temps --basedir $(top_srcdir) $^
 	touch $@
 
 openmoko_terminal2_LDADD = \

Modified: trunk/src/target/OM-2007.2/applications/openmoko-terminal2/intltool-extract.in
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-terminal2/intltool-extract.in	2008-10-17 23:34:17 UTC (rev 4722)
+++ trunk/src/target/OM-2007.2/applications/openmoko-terminal2/intltool-extract.in	2008-10-18 15:01:15 UTC (rev 4723)
@@ -32,7 +32,7 @@
 ## Release information
 my $PROGRAM      = "intltool-extract";
 my $PACKAGE      = "intltool";
-my $VERSION      = "0.36.2";
+my $VERSION      = "0.37.0";
 
 ## Loaded modules
 use strict; 
@@ -161,7 +161,8 @@
       --type=TYPE   Specify the file type of FILENAME. Currently supports:
                     "gettext/glade", "gettext/ini", "gettext/keys"
                     "gettext/rfc822deb", "gettext/schemas",
-                    "gettext/scheme", "gettext/xml", "gettext/quoted"
+                    "gettext/scheme", "gettext/xml", "gettext/quoted",
+                    "gettext/quotedxml"
   -l, --local       Writes output into current working directory
                     (conflicts with --update)
       --update      Writes output into the same directory the source file 
@@ -218,6 +219,7 @@
     &type_schemas  if $gettext_type eq "schemas";
     &type_rfc822deb  if $gettext_type eq "rfc822deb";
     &type_quoted if $gettext_type eq "quoted";
+    &type_quotedxml if $gettext_type eq "quotedxml";
 }
 
 sub entity_decode_minimal
@@ -731,6 +733,18 @@
     }
 }
 
+sub type_quotedxml {
+    while ($input =~ /\"(([^\"]|\\\")*[^\\\"])\"/g) {
+        my $message = $1;
+        my $before = $`;
+        $message =~ s/\\\"/\"/g;
+        $message = entity_decode($message);
+        $before =~ s/[^\n]//g;
+        $messages{$message} = [];
+        $loc{$message} = length ($before) + 2;
+    }
+}
+
 sub type_glade {
     ### For translatable Glade XML files ###
 

Modified: trunk/src/target/OM-2007.2/applications/openmoko-terminal2/intltool-merge.in
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-terminal2/intltool-merge.in	2008-10-17 23:34:17 UTC (rev 4722)
+++ trunk/src/target/OM-2007.2/applications/openmoko-terminal2/intltool-merge.in	2008-10-18 15:01:15 UTC (rev 4723)
@@ -35,7 +35,7 @@
 ## Release information
 my $PROGRAM = "intltool-merge";
 my $PACKAGE = "intltool";
-my $VERSION = "0.36.2";
+my $VERSION = "0.37.0";
 
 ## Loaded modules
 use strict; 
@@ -61,6 +61,7 @@
 my $SCHEMAS_STYLE_ARG = 0;
 my $RFC822DEB_STYLE_ARG = 0;
 my $QUOTED_STYLE_ARG = 0;
+my $QUOTEDXML_STYLE_ARG = 0;
 my $QUIET_ARG = 0;
 my $PASS_THROUGH_ARG = 0;
 my $UTF8_ARG = 0;
@@ -81,6 +82,7 @@
  "schemas-style|s" => \$SCHEMAS_STYLE_ARG,
  "rfc822deb-style|r" => \$RFC822DEB_STYLE_ARG,
  "quoted-style" => \$QUOTED_STYLE_ARG,
+ "quotedxml-style" => \$QUOTEDXML_STYLE_ARG,
  "pass-through|p" => \$PASS_THROUGH_ARG,
  "utf8|u" => \$UTF8_ARG,
  "multiple-output|m" => \$MULTIPLE_OUTPUT,
@@ -148,7 +150,7 @@
 	&utf8_sanity_check;
 	&preparation;
 	&print_message;
-	&keys_merge_translations;
+        &keys_merge_translations;
 	&finalize;
 } 
 elsif ($DESKTOP_STYLE_ARG && @ARGV > 2) 
@@ -174,12 +176,12 @@
 	&rfc822deb_merge_translations;
 	&finalize;
 } 
-elsif ($QUOTED_STYLE_ARG && @ARGV > 2) 
+elsif (($QUOTED_STYLE_ARG || $QUOTEDXML_STYLE_ARG) && @ARGV > 2)
 {
 	&utf8_sanity_check;
 	&preparation;
 	&print_message;
-	&quoted_merge_translations;
+	&quoted_merge_translations($QUOTEDXML_STYLE_ARG);
 	&finalize;
 } 
 else 
@@ -219,6 +221,7 @@
   -s, --schemas-style    includes translations in the schemas style
   -r, --rfc822deb-style  includes translations in the RFC822 style
       --quoted-style     includes translations in the quoted string style
+      --quotedxml-style  includes translations in the quoted xml string style
   -x, --xml-style        includes translations in the standard xml style
 
 Other options:
@@ -292,10 +295,9 @@
             {
                 next if /^#/;
 
-                if (/([-a-zA-Z_ at .]+)\n/)
+                for my $lang (split)
                 {
-                    my $lang = $1;
-
+                    chomp ($lang);
                     my $po_file = $PO_DIR . "/" . $lang . ".po";
                     if (-e $po_file) {
                         $po_files_by_lang{$lang} = $po_file;
@@ -576,6 +578,7 @@
     return "&" if $_ == 38;
     return "'" if $_ == 39;
     return "<" if $_ == 60;
+    return ">" if $_ == 62;
     return chr $_;
 }
 
@@ -1076,43 +1079,74 @@
             close OUTPUT;
             print "CREATED $lang/$OUTFILE\n" unless $QUIET_ARG;
         }
-    } 
-    open OUTPUT, ">$OUTFILE" or die "Cannot open $OUTFILE: $!\n";
-    binmode (OUTPUT) if $^O eq 'MSWin32';
-    my $tree = readXml($FILE);
-    print_header($FILE, \*OUTPUT);
-    parseTree(\*OUTPUT, $tree);
-    close OUTPUT;
-    print "CREATED $OUTFILE\n" unless $QUIET_ARG;
+        if ( ! -d "C" ) {
+            mkdir "C" or -d "C" or die "Cannot create subdirectory C: $!\n";
+        }
+        open OUTPUT, ">C/$OUTFILE" or die "Cannot open C/$OUTFILE: $!\n";
+        binmode (OUTPUT) if $^O eq 'MSWin32';
+        my $tree = readXml($FILE);
+        print_header($FILE, \*OUTPUT);
+        parseTree(\*OUTPUT, $tree);
+        close OUTPUT;
+        print "CREATED C/$OUTFILE\n" unless $QUIET_ARG;
+    } else {
+        open OUTPUT, ">$OUTFILE" or die "Cannot open $OUTFILE: $!\n";
+        binmode (OUTPUT) if $^O eq 'MSWin32';
+        my $tree = readXml($FILE);
+        print_header($FILE, \*OUTPUT);
+        parseTree(\*OUTPUT, $tree);
+        close OUTPUT;
+        print "CREATED $OUTFILE\n" unless $QUIET_ARG;
+    }
 }
 
-sub keys_merge_translations
+sub keys_merge_translation
 {
-    open INPUT, "<${FILE}" or die;
-    open OUTPUT, ">${OUTFILE}" or die;
+    my ($lang) = @_;
+
+    if ( ! -d $lang && $MULTIPLE_OUTPUT)
+    {
+        mkdir $lang or -d $lang or die "Cannot create subdirectory $lang: $!\n";
+    }
+
+    open INPUT, "<${FILE}" or die "Cannot open ${FILE}: $!\n";
+    open OUTPUT, ">$lang/$OUTFILE" or die "Cannot open $lang/$OUTFILE: $!\n";
     binmode (OUTPUT) if $^O eq 'MSWin32';
 
-    while (<INPUT>) 
+    while (<INPUT>)
     {
-        if (s/^(\s*)_(\w+=(.*))/$1$2/)  
+        if (s/^(\s*)_(\w+=(.*))/$1$2/)
         {
-	    my $string = $3;
+            my $string = $3;
 
-            print OUTPUT;
+            if (!$MULTIPLE_OUTPUT)
+            {
+                print OUTPUT;
 
-	    my $non_translated_line = $_;
+                my $non_translated_line = $_;
 
-            for my $lang (sort keys %po_files_by_lang) 
+                for my $lang (sort keys %po_files_by_lang)
+                {
+                    my $translation = $translations{$lang, $string};
+                    next if !$translation;
+
+                    $_ = $non_translated_line;
+                    s/(\w+)=.*/[$lang]$1=$translation/;
+                    print OUTPUT;
+                }
+            }
+            else
             {
-		my $translation = $translations{$lang, $string};
-                next if !$translation;
+                my $non_translated_line = $_;
+                my $translation = $translations{$lang, $string};
+                $translation = $string if !$translation;
 
                 $_ = $non_translated_line;
-		s/(\w+)=.*/[$lang]$1=$translation/;
+                s/(\w+)=.*/$1=$translation/;
                 print OUTPUT;
             }
-	} 
-        else 
+        }
+        else
         {
             print OUTPUT;
         }
@@ -1120,8 +1154,26 @@
 
     close OUTPUT;
     close INPUT;
+
+    print "CREATED $lang/$OUTFILE\n" unless $QUIET_ARG;
 }
 
+sub keys_merge_translations
+{
+    if ($MULTIPLE_OUTPUT)
+    {
+        for my $lang (sort keys %po_files_by_lang)
+        {
+            keys_merge_translation ($lang);
+        }
+        keys_merge_translation ("C");
+    }
+    else
+    {
+        keys_merge_translation (".");
+    }
+}
+
 sub desktop_merge_translations
 {
     open INPUT, "<${FILE}" or die;
@@ -1415,19 +1467,22 @@
 
 sub quoted_translation
 {
-    my ($lang, $string) = @_;
+    my ($xml_mode, $lang, $string) = @_;
 
+    $string = entity_decode($string) if $xml_mode;
     $string =~ s/\\\"/\"/g;
 
     my $translation = $translations{$lang, $string};
     $translation = $string if !$translation;
-
+    $translation = entity_encode($translation) if $xml_mode;
     $translation =~ s/\"/\\\"/g;
     return $translation
 }
 
 sub quoted_merge_translations
 {
+    my ($xml_mode) = @_;
+
     if (!$MULTIPLE_OUTPUT) {
         print "Quoted only supports Multiple Output.\n";
         exit(1);
@@ -1442,7 +1497,7 @@
         binmode (OUTPUT) if $^O eq 'MSWin32';
         while (<INPUT>) 
         {
-            s/\"(([^\"]|\\\")*[^\\\"])\"/"\"" . &quoted_translation($lang, $1) . "\""/ge;
+            s/\"(([^\"]|\\\")*[^\\\"])\"/"\"" . &quoted_translation($xml_mode, $lang, $1) . "\""/ge;
             print OUTPUT;
         }
         close OUTPUT;

Modified: trunk/src/target/OM-2007.2/applications/openmoko-terminal2/intltool-update.in
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-terminal2/intltool-update.in	2008-10-17 23:34:17 UTC (rev 4722)
+++ trunk/src/target/OM-2007.2/applications/openmoko-terminal2/intltool-update.in	2008-10-18 15:01:15 UTC (rev 4723)
@@ -30,7 +30,7 @@
 
 ## Release information
 my $PROGRAM = "intltool-update";
-my $VERSION = "0.36.2";
+my $VERSION = "0.37.0";
 my $PACKAGE = "intltool";
 
 ## Loaded modules
@@ -334,7 +334,7 @@
 	push @buf_i18n_xml,          "$File::Find::name" if /\.($xml_support)$/;
 	push @buf_i18n_ini,          "$File::Find::name" if /\.($ini_support)$/;
 	push @buf_i18n_xml_unmarked, "$File::Find::name" if /\.(schemas(\.in)+)$/;
-	}, "$SRCDIR/..";
+	}, "$SRCDIR/.." if "$SRCDIR" ne ".";
 
     open POTFILES, $POTFILES_in or die "$PROGRAM:  there's no POTFILES.in!\n";
     @buf_potfiles = grep !/^(#|\s*$)/, <POTFILES>;
@@ -434,8 +434,8 @@
 		last;
 	    }
 
-            ## N_ Q_ and _ are the three macros defined in gi8n.h
-	    if (/[NQ]?_ *\(QUOTEDTEXT/)
+            ## C_ N_ Q_ and _ are the macros defined in gi8n.h
+	    if (/[CNQ]?_ *\(QUOTEDTEXT/)
 	    {
                 if (defined isNotValidMissing (unpack("x3 A*", $file))) {
                     ## Remove the first 3 chars and add newline
@@ -777,7 +777,7 @@
     my $XGETTEXT_KEYWORDS = &FindPOTKeywords;
     push @xgettext_argument, $XGETTEXT_KEYWORDS;
     my $MSGID_BUGS_ADDRESS = &FindMakevarsBugAddress;
-    push @xgettext_argument, "--msgid-bugs-address\=$MSGID_BUGS_ADDRESS" if $MSGID_BUGS_ADDRESS;
+    push @xgettext_argument, "--msgid-bugs-address\=\"$MSGID_BUGS_ADDRESS\"" if $MSGID_BUGS_ADDRESS;
     push @xgettext_argument, "--from-code\=$encoding" if ($gettext_support_nonascii);
     push @xgettext_argument, $XGETTEXT_ARGS if $XGETTEXT_ARGS;
     my $xgettext_command = join ' ', @xgettext_argument;

Modified: trunk/src/target/OM-2007.2/applications/openmoko-terminal2/src/mainwindow.vala
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-terminal2/src/mainwindow.vala	2008-10-17 23:34:17 UTC (rev 4722)
+++ trunk/src/target/OM-2007.2/applications/openmoko-terminal2/src/mainwindow.vala	2008-10-18 15:01:15 UTC (rev 4723)
@@ -52,8 +52,8 @@
         setup_toolbar();
         setup_notebook();
         update_toolbar();
-        idle_add( on_idle, this );
-        idle_add( on_idle_first_command, this );
+        Idle.add( on_idle );
+        Idle.add( on_idle_first_command );
         //window.add_filter( on_gdk_filter, this );
     }
 
@@ -99,7 +99,7 @@
         vbox.pack_start( notebook, true, true, 0 );
 
         var terminal = new OpenMokoTerminal2.MokoTerminal();
-        notebook.append_page( terminal, Image.from_stock( STOCK_INDEX, IconSize.LARGE_TOOLBAR ) );
+        notebook.append_page( terminal, new Image.from_stock( STOCK_INDEX, IconSize.LARGE_TOOLBAR ) );
         notebook.child_set (terminal, "tab-expand", true, null );
     }
 
@@ -121,7 +121,7 @@
         stdout.printf( "on_idle\n" );
         notebook.switch_page += (o, page, num) => {
             btn_delete.set_sensitive( notebook.get_n_pages() > 1 );
-            OpenMokoTerminal2.MokoTerminal terminal = notebook.get_nth_page( (int)num ); btn_zoom_in.set_sensitive( terminal.get_font_size() < 10 );
+            OpenMokoTerminal2.MokoTerminal terminal = (OpenMokoTerminal2.MokoTerminal) notebook.get_nth_page( (int)num ); btn_zoom_in.set_sensitive( terminal.get_font_size() < 10 );
             btn_zoom_out.set_sensitive( terminal.get_font_size() > 1 );
         };
         notebook.page_removed += (o, page, num) => {
@@ -137,7 +137,7 @@
     private bool on_idle_first_command()
     {
         stdout.printf( "on_idle_first_command\n" );
-        OpenMokoTerminal2.MokoTerminal terminal = notebook.get_nth_page( 0 );
+        OpenMokoTerminal2.MokoTerminal terminal = (OpenMokoTerminal2.MokoTerminal) notebook.get_nth_page( 0 );
         if ( initial_command != null )
             terminal.paste_command( initial_command );
         return false;
@@ -147,7 +147,7 @@
     {
         stdout.printf( "on_new_clicked\n" );
         var terminal = new OpenMokoTerminal2.MokoTerminal();
-        notebook.append_page( terminal, Image.from_stock( STOCK_INDEX, IconSize.LARGE_TOOLBAR ) );
+        notebook.append_page( terminal, new Image.from_stock( STOCK_INDEX, IconSize.LARGE_TOOLBAR ) );
         notebook.child_set (terminal, "tab-expand", true, null );
         notebook.show_all();
         update_toolbar();
@@ -164,7 +164,7 @@
     private void on_zoom_in_clicked( Gtk.ToolButton b )
     {
         stdout.printf( "on_zoom_in_clicked\n" );
-        OpenMokoTerminal2.MokoTerminal terminal = notebook.get_nth_page( notebook.get_current_page() );
+        OpenMokoTerminal2.MokoTerminal terminal = (OpenMokoTerminal2.MokoTerminal) notebook.get_nth_page( notebook.get_current_page() );
         terminal.zoom_in();
         update_toolbar();
     }
@@ -172,7 +172,7 @@
     private void on_zoom_out_clicked( Gtk.ToolButton b )
     {
         stdout.printf( "on_zoom_out_clicked\n" );
-        OpenMokoTerminal2.MokoTerminal terminal = notebook.get_nth_page( notebook.get_current_page() );
+        OpenMokoTerminal2.MokoTerminal terminal = (OpenMokoTerminal2.MokoTerminal) notebook.get_nth_page( notebook.get_current_page() );
         terminal.zoom_out();
         update_toolbar();
     }
@@ -180,7 +180,7 @@
     private void on_paste_clicked( Gtk.ToolButton b )
     {
         stdout.printf( "on_paste_clicked\n" );
-        OpenMokoTerminal2.MokoTerminal terminal = notebook.get_nth_page( notebook.get_current_page() );
+        OpenMokoTerminal2.MokoTerminal terminal = (OpenMokoTerminal2.MokoTerminal) notebook.get_nth_page( notebook.get_current_page() );
         terminal.paste();
         update_toolbar();
     }
@@ -194,14 +194,15 @@
             return;
         }
         btn_delete.set_sensitive( notebook.get_n_pages() > 1 );
-        OpenMokoTerminal2.MokoTerminal terminal = notebook.get_nth_page( notebook.get_current_page() );
-        stdout.printf( "current font size for terminal is %d\n", terminal.get_font_size() );
+        OpenMokoTerminal2.MokoTerminal terminal = (OpenMokoTerminal2.MokoTerminal) notebook.get_nth_page( notebook.get_current_page() );
+        stdout.printf( "current font size for terminal is %u\n", terminal.get_font_size() );
         btn_zoom_in.set_sensitive( terminal.get_font_size() < 10 );
         btn_zoom_out.set_sensitive( terminal.get_font_size() > 1 );
     }
 
     public void run()
     {
+        // FIXME default focus needs to be on the terminal (in order to play nice with on-screen keyboards)
         show_all();
         Gtk.main();
     }
@@ -214,11 +215,13 @@
 
     static int main (string[] args) {
         try {
-            Gtk.init_with_args(ref args.length, ref args, " - a lightweight terminal for the OpenMoko environment", options, null);
+            // FIXME revisit once http://bugzilla.gnome.org/show_bug.cgi?id=547135 got fixed
+            // Gtk.init_with_args( ref args, " - a lightweight terminal for the OpenMoko environment", options, "openmoko-terminal" );
+            Gtk.init( ref args );
         } catch (Error e)
         {
             stderr.printf("Error: %s\n", e.message);
-            return 1; 
+            return 1;
         }
 
         var window = new MainWindow();

Modified: trunk/src/target/OM-2007.2/applications/openmoko-terminal2/src/mokoterminal.vala
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-terminal2/src/mokoterminal.vala	2008-10-17 23:34:17 UTC (rev 4722)
+++ trunk/src/target/OM-2007.2/applications/openmoko-terminal2/src/mokoterminal.vala	2008-10-18 15:01:15 UTC (rev 4723)
@@ -43,34 +43,34 @@
         // auto-exit may become a preference at some point?
         terminal.child_exited += term => { destroy(); };
         terminal.eof += term => { destroy(); };
-        terminal.window_title_changed += term => { Gtk.Window toplevel = get_toplevel(); toplevel.set_title( term.window_title ); };
+        terminal.window_title_changed += term => { Gtk.Window toplevel = (Gtk.Window) get_toplevel(); toplevel.set_title( term.window_title ); };
         pack_start( terminal, true, true, 0 );
 
         scrollbar = new VScrollbar( terminal.adjustment );
         pack_start( scrollbar, false, false, 0 );
 
-        // yes, (ushort) is ugly. It's a vala bug and will go away soon 
-        var fore = new Gdk.Color() { pixel = 0, red = (ushort)0x0000, green = (ushort)0x0000, blue = (ushort)0x0000 };
-        var back = new Gdk.Color() { pixel = 0, red = (ushort)0xffff, green = (ushort)0xffff, blue = (ushort)0xffff };
+        var fore = Gdk.Color() { pixel = 0, red = 0x0000, green = 0x0000, blue = 0x0000 };
+        var back = Gdk.Color() { pixel = 0, red = 0xffff, green = 0xffff, blue = 0xffff };
         var colors = new Gdk.Color[] {
-            new Gdk.Color() { pixel = 0, red = (ushort)0x0000, green = (ushort)0x0000, blue = (ushort)0x0000 },
-            new Gdk.Color() { pixel = 0, red = (ushort)0x8000, green = (ushort)0x0000, blue = (ushort)0x0000 },
-            new Gdk.Color() { pixel = 0, red = (ushort)0x0000, green = (ushort)0x8000, blue = (ushort)0x0000 },
-            new Gdk.Color() { pixel = 0, red = (ushort)0x8000, green = (ushort)0x8000, blue = (ushort)0x0000 },
-            new Gdk.Color() { pixel = 0, red = (ushort)0x0000, green = (ushort)0x0000, blue = (ushort)0x8000 },
-            new Gdk.Color() { pixel = 0, red = (ushort)0x8000, green = (ushort)0x0000, blue = (ushort)0x8000 },
-            new Gdk.Color() { pixel = 0, red = (ushort)0x0000, green = (ushort)0x8000, blue = (ushort)0x8000 },
-            new Gdk.Color() { pixel = 0, red = (ushort)0x8000, green = (ushort)0x8000, blue = (ushort)0x8000 }
+            Gdk.Color() { pixel = 0, red = 0x0000, green = 0x0000, blue = 0x0000 },
+            Gdk.Color() { pixel = 0, red = 0x8000, green = 0x0000, blue = 0x0000 },
+            Gdk.Color() { pixel = 0, red = 0x0000, green = 0x8000, blue = 0x0000 },
+            Gdk.Color() { pixel = 0, red = 0x8000, green = 0x8000, blue = 0x0000 },
+            Gdk.Color() { pixel = 0, red = 0x0000, green = 0x0000, blue = 0x8000 },
+            Gdk.Color() { pixel = 0, red = 0x8000, green = 0x0000, blue = 0x8000 },
+            Gdk.Color() { pixel = 0, red = 0x0000, green = 0x8000, blue = 0x8000 },
+            Gdk.Color() { pixel = 0, red = 0x8000, green = 0x8000, blue = 0x8000 }
         };
 
-        terminal.set_colors( ref fore, ref back, ref colors[0], 8 );
+        terminal.set_colors( fore, back, colors );
 
         update_font();
         terminal.set_scrollback_lines( 1000 );
         terminal.set_mouse_autohide( true );
         terminal.set_cursor_blinks( true );
         terminal.set_backspace_binding( TerminalEraseBinding.ASCII_DELETE);
-        terminal.fork_command( null, null, null, Environment.get_variable( "HOME" ), true, true, true );
+
+        terminal.fork_command( "/bin/sh", new string[]{}, new string[]{}, Environment.get_variable( "HOME" ), true, true, true );
     }
 
     public uint get_font_size()
@@ -80,7 +80,7 @@
 
     public void update_font()
     {
-        string font = "%s %d".printf( fontname, fontsize );
+        string font = "%s %u".printf( fontname, fontsize );
         terminal.set_font_from_string_full( font, TerminalAntiAlias.FORCE_ENABLE );
     }
 




More information about the commitlog mailing list