[Frugalware-git] frugal-mono-tools: *added a vte-sharp :p
bouleetbil
bouleetbil at frogdev.info
Tue Aug 31 12:16:08 CEST 2010
Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=frugal-mono-tools.git;a=commitdiff;h=36891c2ec95e355b3c07bffcb6cf8f2c30d64263
commit 36891c2ec95e355b3c07bffcb6cf8f2c30d64263
Author: bouleetbil <bouleetbil at frogdev.info>
Date: Tue Aug 31 12:39:35 2010 +0000
*added a vte-sharp :p
diff --git a/frugal-mono-tools/VteConsole.cs b/frugal-mono-tools/VteConsole.cs
index 6b600f6..13ea91a 100644
--- a/frugal-mono-tools/VteConsole.cs
+++ b/frugal-mono-tools/VteConsole.cs
@@ -17,6 +17,7 @@
*/
using System;
+using System.Text;
using System.Collections;
using Vte;
namespace frugalmonotools
@@ -35,34 +36,44 @@ namespace frugalmonotools
term.BackspaceBinding = TerminalEraseBinding.Auto;
term.Encoding = "UTF-8";
term.FontFromString = "Monospace 12";
-
this.vbox1.Add (term);
this.vbox1.ShowAll();
-
-
- string[] argv = Environment.GetCommandLineArgs ();
- // wants an array of "variable=value"
+ }
+ public void Execute(string commande,string [] args)
+ {
+ //encode to UTF8
+ string[] argv = new string[args.Length];
+ byte[] commutf8 = System.Text.Encoding.UTF8.GetBytes(commande);
+ string commandev = System.Text.Encoding.UTF8.GetString(commutf8);
+
+ int i =0;
+ foreach (string arg in args)
+ {
+ byte[] utf8 = System.Text.Encoding.UTF8.GetBytes(arg);
+ argv[i]=System.Text.Encoding.UTF8.GetString(utf8);
+ i++;
+ }
+
string[] envv = new string [Environment.GetEnvironmentVariables ().Count];
- int i = 0;
+ i = 0;
foreach (DictionaryEntry e in Environment.GetEnvironmentVariables ())
{
- if (e.Key == "" || e.Value == "")
+ if (e.Key.ToString()== "" || e.Value.ToString() == "")
continue;
string tmp = String.Format ("{0}={1}", e.Key, e.Value);
envv[i] = tmp;
i ++;
}
- int pid = term.ForkCommand (
- Environment.GetEnvironmentVariable ("SHELL"),
+ term.ForkCommand (
+ commandev,
argv,
envv,
Environment.CurrentDirectory,
- false,
+ true,
true,
true);
- Console.WriteLine ("Child pid: {0}", pid);
-
+
}
}
}
More information about the Frugalware-git
mailing list