diff --git a/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/AssemblyInfo.cs b/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/AssemblyInfo.cs
new file mode 100644
index 00000000..568c2136
--- /dev/null
+++ b/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/AssemblyInfo.cs
@@ -0,0 +1,27 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+// Information about this assembly is defined by the following attributes.
+// Change them to the values specific to your project.
+
+[assembly: AssemblyTitle("UniversalEditor.Engines.GTK.Plugins.FileSystem")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("")]
+[assembly: AssemblyCopyright("beckermj")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
+// The form "{Major}.{Minor}.*" will automatically update the build and revision,
+// and "{Major}.{Minor}.{Build}.*" will update just the revision.
+
+[assembly: AssemblyVersion("1.0.*")]
+
+// The following attributes are used to specify the signing key for the assembly,
+// if desired. See the Mono documentation for more information about signing.
+
+//[assembly: AssemblyDelaySign(false)]
+//[assembly: AssemblyKeyFile("")]
+
diff --git a/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/FileSystemEditor.cs b/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/FileSystemEditor.cs
new file mode 100644
index 00000000..45e9baac
--- /dev/null
+++ b/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/FileSystemEditor.cs
@@ -0,0 +1,51 @@
+using System;
+using UniversalEditor.UserInterface;
+using UniversalEditor.Engines.GTK;
+
+namespace UniversalEditor.Engines.GTK.Plugins.FileSystem
+{
+ [System.ComponentModel.ToolboxItem(true)]
+ public partial class FileSystemEditor : Editor
+ {
+
+ public FileSystemEditor ()
+ {
+ this.Build ();
+ }
+
+ #region implemented abstract members of UniversalEditor.Engines.GTK.Editor
+ public override void Copy ()
+ {
+ throw new System.NotImplementedException ();
+ }
+
+ public override void Paste ()
+ {
+ throw new System.NotImplementedException ();
+ }
+
+ public override void Delete ()
+ {
+ throw new System.NotImplementedException ();
+ }
+
+ public override void Undo ()
+ {
+ throw new System.NotImplementedException ();
+ }
+
+ public override void Redo ()
+ {
+ throw new System.NotImplementedException ();
+ }
+
+ public override bool SelectToolboxItem (ToolboxItem item)
+ {
+ throw new System.NotImplementedException ();
+ }
+
+ public override string Title { get { return "File System/Archive"; } }
+ #endregion
+ }
+}
+
diff --git a/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/MyClass.cs b/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/MyClass.cs
new file mode 100644
index 00000000..b3e17184
--- /dev/null
+++ b/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/MyClass.cs
@@ -0,0 +1,11 @@
+using System;
+namespace UniversalEditor.Engines.GTK.Plugins.FileSystem
+{
+ public class MyClass
+ {
+ public MyClass ()
+ {
+ }
+ }
+}
+
diff --git a/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/UniversalEditor.Engines.GTK.Plugins.FileSystem.csproj b/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/UniversalEditor.Engines.GTK.Plugins.FileSystem.csproj
new file mode 100644
index 00000000..1a202391
--- /dev/null
+++ b/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/UniversalEditor.Engines.GTK.Plugins.FileSystem.csproj
@@ -0,0 +1,67 @@
+
+
+
+ Debug
+ AnyCPU
+ 10.0.0
+ 2.0
+ {C17E6B14-3DF4-45E4-9556-5E651868CA6B}
+ Library
+ UniversalEditor.Engines.GTK.Plugins.FileSystem
+ UniversalEditor.Engines.GTK.Plugins.FileSystem
+
+
+ true
+ full
+ false
+ bin\Debug
+ DEBUG;
+ prompt
+ 4
+ false
+
+
+ none
+ true
+ bin\Release
+ prompt
+ 4
+ false
+
+
+
+
+ gtk-sharp-2.0
+
+
+ gtk-sharp-2.0
+
+
+
+ False
+ gtk-sharp-2.0
+
+
+
+
+
+
+
+
+
+
+
+ gui.stetic
+
+
+
+
+ {AF5F8ED3-D534-4609-94ED-B2800455B88F}
+ UniversalEditor.Environments.GTK
+
+
+ {8622EBC4-8E20-476E-B284-33D472081F5C}
+ UniversalEditor.UserInterface
+
+
+
\ No newline at end of file
diff --git a/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/gtk-gui/UniversalEditor.Engines.GTK.Plugins.FileSystem.FileSystemEditor.cs b/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/gtk-gui/UniversalEditor.Engines.GTK.Plugins.FileSystem.FileSystemEditor.cs
new file mode 100644
index 00000000..d0358d4c
--- /dev/null
+++ b/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/gtk-gui/UniversalEditor.Engines.GTK.Plugins.FileSystem.FileSystemEditor.cs
@@ -0,0 +1,65 @@
+
+// This file has been generated by the GUI designer. Do not modify.
+namespace UniversalEditor.Engines.GTK.Plugins.FileSystem
+{
+ public partial class FileSystemEditor
+ {
+ private global::Gtk.UIManager UIManager;
+ private global::Gtk.HPaned hpaned1;
+ private global::Gtk.ScrolledWindow GtkScrolledWindow;
+ private global::Gtk.VBox vbox1;
+ private global::Gtk.Toolbar toolbar1;
+ private global::Gtk.IconView iconview1;
+
+ protected virtual void Build ()
+ {
+ global::Stetic.Gui.Initialize (this);
+ // Widget UniversalEditor.Engines.GTK.Plugins.FileSystem.FileSystemEditor
+ Stetic.BinContainer w1 = global::Stetic.BinContainer.Attach (this);
+ this.UIManager = new global::Gtk.UIManager ();
+ global::Gtk.ActionGroup w2 = new global::Gtk.ActionGroup ("Default");
+ this.UIManager.InsertActionGroup (w2, 0);
+ this.Name = "UniversalEditor.Engines.GTK.Plugins.FileSystem.FileSystemEditor";
+ // Container child UniversalEditor.Engines.GTK.Plugins.FileSystem.FileSystemEditor.Gtk.Container+ContainerChild
+ this.hpaned1 = new global::Gtk.HPaned ();
+ this.hpaned1.CanFocus = true;
+ this.hpaned1.Name = "hpaned1";
+ this.hpaned1.Position = 190;
+ // Container child hpaned1.Gtk.Paned+PanedChild
+ this.GtkScrolledWindow = new global::Gtk.ScrolledWindow ();
+ this.GtkScrolledWindow.Name = "GtkScrolledWindow";
+ this.GtkScrolledWindow.ShadowType = ((global::Gtk.ShadowType)(1));
+ this.hpaned1.Add (this.GtkScrolledWindow);
+ global::Gtk.Paned.PanedChild w3 = ((global::Gtk.Paned.PanedChild)(this.hpaned1 [this.GtkScrolledWindow]));
+ w3.Resize = false;
+ // Container child hpaned1.Gtk.Paned+PanedChild
+ this.vbox1 = new global::Gtk.VBox ();
+ this.vbox1.Name = "vbox1";
+ this.vbox1.Spacing = 6;
+ // Container child vbox1.Gtk.Box+BoxChild
+ this.UIManager.AddUiFromString ("");
+ this.toolbar1 = ((global::Gtk.Toolbar)(this.UIManager.GetWidget ("/toolbar1")));
+ this.toolbar1.Name = "toolbar1";
+ this.toolbar1.ShowArrow = false;
+ this.vbox1.Add (this.toolbar1);
+ global::Gtk.Box.BoxChild w4 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.toolbar1]));
+ w4.Position = 0;
+ w4.Expand = false;
+ w4.Fill = false;
+ // Container child vbox1.Gtk.Box+BoxChild
+ this.iconview1 = new global::Gtk.IconView ();
+ this.iconview1.CanFocus = true;
+ this.iconview1.Name = "iconview1";
+ this.vbox1.Add (this.iconview1);
+ global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.iconview1]));
+ w5.Position = 1;
+ this.hpaned1.Add (this.vbox1);
+ this.Add (this.hpaned1);
+ if ((this.Child != null)) {
+ this.Child.ShowAll ();
+ }
+ w1.SetUiManager (UIManager);
+ this.Hide ();
+ }
+ }
+}
diff --git a/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/gtk-gui/generated.cs b/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/gtk-gui/generated.cs
new file mode 100644
index 00000000..8d3a3ae5
--- /dev/null
+++ b/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/gtk-gui/generated.cs
@@ -0,0 +1,81 @@
+
+// This file has been generated by the GUI designer. Do not modify.
+namespace Stetic
+{
+ internal class Gui
+ {
+ private static bool initialized;
+
+ internal static void Initialize (Gtk.Widget iconRenderer)
+ {
+ if ((Stetic.Gui.initialized == false)) {
+ Stetic.Gui.initialized = true;
+ }
+ }
+ }
+
+ internal class BinContainer
+ {
+ private Gtk.Widget child;
+ private Gtk.UIManager uimanager;
+
+ public static BinContainer Attach (Gtk.Bin bin)
+ {
+ BinContainer bc = new BinContainer ();
+ bin.SizeRequested += new Gtk.SizeRequestedHandler (bc.OnSizeRequested);
+ bin.SizeAllocated += new Gtk.SizeAllocatedHandler (bc.OnSizeAllocated);
+ bin.Added += new Gtk.AddedHandler (bc.OnAdded);
+ return bc;
+ }
+
+ private void OnSizeRequested (object sender, Gtk.SizeRequestedArgs args)
+ {
+ if ((this.child != null)) {
+ args.Requisition = this.child.SizeRequest ();
+ }
+ }
+
+ private void OnSizeAllocated (object sender, Gtk.SizeAllocatedArgs args)
+ {
+ if ((this.child != null)) {
+ this.child.Allocation = args.Allocation;
+ }
+ }
+
+ private void OnAdded (object sender, Gtk.AddedArgs args)
+ {
+ this.child = args.Widget;
+ }
+
+ public void SetUiManager (Gtk.UIManager uim)
+ {
+ this.uimanager = uim;
+ this.child.Realized += new System.EventHandler (this.OnRealized);
+ }
+
+ private void OnRealized (object sender, System.EventArgs args)
+ {
+ if ((this.uimanager != null)) {
+ Gtk.Widget w;
+ w = this.child.Toplevel;
+ if (((w != null) && typeof(Gtk.Window).IsInstanceOfType (w))) {
+ ((Gtk.Window)(w)).AddAccelGroup (this.uimanager.AccelGroup);
+ this.uimanager = null;
+ }
+ }
+ }
+ }
+
+ internal class ActionGroups
+ {
+ public static Gtk.ActionGroup GetActionGroup (System.Type type)
+ {
+ return Stetic.ActionGroups.GetActionGroup (type.FullName);
+ }
+
+ public static Gtk.ActionGroup GetActionGroup (string name)
+ {
+ return null;
+ }
+ }
+}
diff --git a/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/gtk-gui/gui.stetic b/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/gtk-gui/gui.stetic
new file mode 100644
index 00000000..3012fe3d
--- /dev/null
+++ b/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/gtk-gui/gui.stetic
@@ -0,0 +1,61 @@
+
+
+
+ ../../UniversalEditor.Engines.GTK.Plugins.FileSystem
+ 2.12
+
+
+
+
+
+
+
+
+ False
+
+
+
+ True
+ 190
+
+
+
+ In
+
+
+ False
+
+
+
+
+
+ 6
+
+
+
+ False
+
+
+
+ 0
+ True
+ False
+ False
+
+
+
+
+
+ True
+
+
+ 1
+ True
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CSharp/Environments/GTK/Engines/UniversalEditor.Environments.GTK/Editor.cs b/CSharp/Environments/GTK/Engines/UniversalEditor.Environments.GTK/Editor.cs
new file mode 100644
index 00000000..e78e5f74
--- /dev/null
+++ b/CSharp/Environments/GTK/Engines/UniversalEditor.Environments.GTK/Editor.cs
@@ -0,0 +1,13 @@
+using System;
+namespace UniversalEditor.Environments.GTK
+{
+ [System.ComponentModel.ToolboxItem(true)]
+ public partial class Editor : Gtk.Bin
+ {
+ public Editor ()
+ {
+ this.Build ();
+ }
+ }
+}
+
diff --git a/CSharp/Environments/GTK/Engines/UniversalEditor.Environments.GTK/gtk-gui/UniversalEditor.Engines.GTK.Editor.cs b/CSharp/Environments/GTK/Engines/UniversalEditor.Environments.GTK/gtk-gui/UniversalEditor.Engines.GTK.Editor.cs
new file mode 100644
index 00000000..31725a6c
--- /dev/null
+++ b/CSharp/Environments/GTK/Engines/UniversalEditor.Environments.GTK/gtk-gui/UniversalEditor.Engines.GTK.Editor.cs
@@ -0,0 +1,7 @@
+
+namespace UniversalEditor.Environments.GTK
+{
+ public partial class Editor
+ {
+ }
+}