r4024 - trunk/src/target/OM-2007.2/applications/openmoko-terminal2/src

mickey at sita.openmoko.org mickey at sita.openmoko.org
Wed Feb 6 17:08:19 CET 2008


Author: mickey
Date: 2008-02-06 17:08:19 +0100 (Wed, 06 Feb 2008)
New Revision: 4024

Modified:
   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: add command line support for -e <initial command>


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-02-06 15:20:48 UTC (rev 4023)
+++ trunk/src/target/OM-2007.2/applications/openmoko-terminal2/src/mainwindow.vala	2008-02-06 16:08:19 UTC (rev 4024)
@@ -36,6 +36,8 @@
     private ToolButton btn_zoom_out;
     private ToolButton btn_paste;
 
+    private string initial_command;
+
     public MainWindow()
     {
         title = "Terminal";
@@ -50,9 +52,15 @@
         setup_notebook();
         update_toolbar();
         idle_add( on_idle, this );
+        idle_add( on_idle_first_command, this );
         //window.add_filter( on_gdk_filter, this );
     }
 
+    public void setup_command( string command )
+    {
+        initial_command = command + "\n";
+    }
+
     public void setup_toolbar()
     {
         toolbar = new Gtk.Toolbar();
@@ -125,6 +133,15 @@
         return false;
     }
 
+    private bool on_idle_first_command()
+    {
+        stdout.printf( "on_idle_first_command\n" );
+        OpenMokoTerminal2.MokoTerminal terminal = notebook.get_nth_page( 0 );
+        if ( initial_command != null )
+            terminal.paste_command( initial_command );
+        return false;
+    }
+
     private void on_new_clicked( Gtk.ToolButton b )
     {
         stdout.printf( "on_new_clicked\n" );
@@ -189,10 +206,18 @@
     }
 
     static int main (string[] args) {
+        if ( args.length == 2 || args.length > 3 )
+        {
+            stdout.printf( "Usage: %s [ -e <initial command> ]\n", args[0] );
+            return 0;
+        }
+
         Gtk.init(ref args);
-
         var window = new MainWindow();
+        if ( args.length == 3 && args[1] == "-e" )
+            window.setup_command( args[2] );
         window.run();
+
         return 0;
     }
 

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-02-06 15:20:48 UTC (rev 4023)
+++ trunk/src/target/OM-2007.2/applications/openmoko-terminal2/src/mokoterminal.vala	2008-02-06 16:08:19 UTC (rev 4024)
@@ -100,5 +100,10 @@
     {
         terminal.paste_primary();
     }
+
+    public void paste_command( string command )
+    {
+        terminal.feed_child( command, command.size() );
+    }
 }
 





More information about the commitlog mailing list