diff --git a/ShiftOS.WinForms/Applications/TriWrite.Designer.cs b/ShiftOS.WinForms/Applications/TriWrite.Designer.cs
new file mode 100644
index 0000000..61d48c3
--- /dev/null
+++ b/ShiftOS.WinForms/Applications/TriWrite.Designer.cs
@@ -0,0 +1,105 @@
+namespace ShiftOS.WinForms.Applications
+{
+ partial class TriWrite
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Component Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AddressBook));
+ this.menuStrip1 = new System.Windows.Forms.MenuStrip();
+ this.addContactToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.removeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.tvcontacts = new System.Windows.Forms.TreeView();
+ this.panel1 = new System.Windows.Forms.Panel();
+ this.txtbody = new System.Windows.Forms.Label();
+ this.lbtitle = new System.Windows.Forms.Label();
+ this.menuStrip1.SuspendLayout();
+ this.panel1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // menuStrip1
+ //
+ this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.addContactToolStripMenuItem,
+ this.removeToolStripMenuItem});
+ this.menuStrip1.Location = new System.Drawing.Point(0, 0);
+ this.menuStrip1.Name = "menuStrip1";
+ this.menuStrip1.Size = new System.Drawing.Size(872, 24);
+ this.menuStrip1.TabIndex = 0;
+ this.menuStrip1.Text = "menuStrip1";
+ //
+ // tvcontacts
+ //
+ this.tvcontacts.Dock = System.Windows.Forms.DockStyle.Left;
+ this.tvcontacts.Location = new System.Drawing.Point(0, 24);
+ this.tvcontacts.Name = "tvcontacts";
+ this.tvcontacts.Size = new System.Drawing.Size(224, 551);
+ this.tvcontacts.TabIndex = 1;
+ //
+ // panel1
+ //
+ this.panel1.Controls.Add(this.txtbody);
+ this.panel1.Controls.Add(this.lbtitle);
+ this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.panel1.Location = new System.Drawing.Point(224, 24);
+ this.panel1.Name = "panel1";
+ this.panel1.Size = new System.Drawing.Size(648, 551);
+ this.panel1.TabIndex = 2;
+ //
+ // txtbody
+ //
+ this.txtbody.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.txtbody.Location = new System.Drawing.Point(7, 54);
+ this.txtbody.Name = "txtbody";
+ this.txtbody.Size = new System.Drawing.Size(626, 481);
+ this.txtbody.TabIndex = 1;
+ this.txtbody.Text = resources.GetString("txtbody.Text");
+ //
+ // lbtitle
+ //
+ this.lbtitle.AutoSize = true;
+ this.lbtitle.Location = new System.Drawing.Point(7, 4);
+ this.lbtitle.Name = "lbtitle";
+ this.lbtitle.Size = new System.Drawing.Size(73, 13);
+ this.lbtitle.TabIndex = 0;
+ this.lbtitle.Tag = "header1";
+ this.lbtitle.Text = "TriWrite";
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.MenuStrip menuStrip1;
+ private System.Windows.Forms.ToolStripMenuItem addContactToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem removeToolStripMenuItem;
+ private System.Windows.Forms.TreeView tvcontacts;
+ private System.Windows.Forms.Panel panel1;
+ private System.Windows.Forms.Label txtbody;
+ private System.Windows.Forms.Label lbtitle;
+ }
+}
diff --git a/ShiftOS.WinForms/Applications/TriWrite.cs b/ShiftOS.WinForms/Applications/TriWrite.cs
new file mode 100644
index 0000000..90add8d
--- /dev/null
+++ b/ShiftOS.WinForms/Applications/TriWrite.cs
@@ -0,0 +1,42 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using ShiftOS.Engine;
+using static ShiftOS.Objects.ShiftFS.Utils;
+using Newtonsoft.Json;
+
+namespace ShiftOS.WinForms.Applications
+{
+ [WinOpen("triwrite")]
+ [AppscapeEntry("TriWrite", "Part of the trilogy of office applications for enhancement of your system. TriWrite is easliy the best text editor out there for ShiftOS.", 1024, 750, null, "Office")]
+ [DefaultTitle("TriWrite")]
+ [Launcher("TriWrite", false, null, "Office")]
+ public partial class TriWrite : UserControl, IShiftOSWindow
+ {
+
+ public void OnLoad()
+ {
+
+ }
+
+ public void OnSkinLoad()
+ {
+ }
+
+ public bool OnUnload()
+ {
+ return true;
+ }
+
+ public void OnUpgrade()
+ {
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/ShiftOS.WinForms/Applications/TriWrite.resx b/ShiftOS.WinForms/Applications/TriWrite.resx
new file mode 100644
index 0000000..e150f33
--- /dev/null
+++ b/ShiftOS.WinForms/Applications/TriWrite.resx
@@ -0,0 +1,130 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 17, 17
+
+
+ The Address Book helps you keep track of all your contacts within the digital society, whether they be friends, enemies, or whatnot.
+
+On the left, we have made a list of all your contacts. You can click on one to view full details on the contact.
+
+To add a contact, simply click "Add Contact", and to remove one, click "Remove". Some contacts may not be removed as they are integral to the progression of your adventures within the digital society.
+
+
\ No newline at end of file
diff --git a/ShiftOS.WinForms/ShiftOS.WinForms.csproj b/ShiftOS.WinForms/ShiftOS.WinForms.csproj
index 510afed..cf104fe 100644
--- a/ShiftOS.WinForms/ShiftOS.WinForms.csproj
+++ b/ShiftOS.WinForms/ShiftOS.WinForms.csproj
@@ -70,6 +70,12 @@
About.cs
+
+ UserControl
+
+
+ TriWrite.cs
+
UserControl
@@ -388,6 +394,9 @@
About.cs
+
+ TriWrite.cs
+
AddressBook.cs