aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEverythingWindows <[email protected]>2022-11-20 21:53:17 +0700
committerEverythingWindows <[email protected]>2022-11-20 21:53:17 +0700
commit3f4edf1b79ee4ee5a73251930af641bcd0db225e (patch)
treec018dad0d65e9997867f951df94ef907ea18956c
parent9d384be17594240918b6b277521d3eaa15151ae9 (diff)
downloadshiftos-therevival-old-3f4edf1b79ee4ee5a73251930af641bcd0db225e.tar.gz
shiftos-therevival-old-3f4edf1b79ee4ee5a73251930af641bcd0db225e.tar.bz2
shiftos-therevival-old-3f4edf1b79ee4ee5a73251930af641bcd0db225e.zip
trial on Dual Window Manager
-rw-r--r--ShiftOS-TheRevival/API/TerminalAPI.vb5
-rw-r--r--ShiftOS-TheRevival/Functions/InGame/ROMs/Strings.vb1
-rw-r--r--ShiftOS-TheRevival/Functions/OutGame/SaveLoadSystem.vb2
-rw-r--r--ShiftOS-TheRevival/MainForms/Applications/Console.vb3
-rw-r--r--ShiftOS-TheRevival/MainForms/Applications/Shifter.Designer.vb55
-rw-r--r--ShiftOS-TheRevival/MainForms/Applications/Shifter.resx120
-rw-r--r--ShiftOS-TheRevival/MainForms/Applications/Shifter.vb13
-rw-r--r--ShiftOS-TheRevival/MainForms/DesktopEnvironment/master/DesktopManager.vb2
-rw-r--r--ShiftOS-TheRevival/MainForms/WindowManager/DualWindowManager/DuWM_Main.vb57
-rw-r--r--ShiftOS-TheRevival/MainForms/WindowManager/DualWindowManager/DuWM_WindowContainer.Designer.vb57
-rw-r--r--ShiftOS-TheRevival/MainForms/WindowManager/DualWindowManager/DuWM_WindowContainer.resx123
-rw-r--r--ShiftOS-TheRevival/MainForms/WindowManager/DualWindowManager/DuWM_WindowContainer.vb14
-rw-r--r--ShiftOS-TheRevival/ShiftOS-TheRevival.vbproj20
-rw-r--r--ShiftOS-TheRevival/TerminalApplications/External/MathQuiz/App_MathQuiz.vb5
-rw-r--r--ShiftOS-TheRevival/TerminalApplications/Internal/Com_Unzip.vb2
15 files changed, 474 insertions, 5 deletions
diff --git a/ShiftOS-TheRevival/API/TerminalAPI.vb b/ShiftOS-TheRevival/API/TerminalAPI.vb
index 700e0cc..1af775e 100644
--- a/ShiftOS-TheRevival/API/TerminalAPI.vb
+++ b/ShiftOS-TheRevival/API/TerminalAPI.vb
@@ -263,10 +263,15 @@ Module TerminalAPI
Case "shutdown", "shut down"
TerminateShiftOS()
Case "startx"
+ Undeveloped()
StartX()
Console_Windowed()
+ DuWM_FirstWindowSet(Console)
+ Case "shiftertest"
+ DuWM_SecondWindowSet(Shifter)
Case "stopx"
StopX()
+ Undeveloped()
Case "textpad"
If Strings.AvailableFeature(17) = "1" Then
TextPad_WarnFile()
diff --git a/ShiftOS-TheRevival/Functions/InGame/ROMs/Strings.vb b/ShiftOS-TheRevival/Functions/InGame/ROMs/Strings.vb
index 678ae87..9385c03 100644
--- a/ShiftOS-TheRevival/Functions/InGame/ROMs/Strings.vb
+++ b/ShiftOS-TheRevival/Functions/InGame/ROMs/Strings.vb
@@ -7,6 +7,7 @@
Public Shared CLIInterpreter As String
Public Shared SaveFile As String
Public Shared Achievement As String
+ Public Shared ProcessID(2) As String
'STRING CATEGORIZATION WRITING RULES!
'THIS IS IN ORDER TO REMAIN COMPATIBLE WITH OLDER VERSIONS!
diff --git a/ShiftOS-TheRevival/Functions/OutGame/SaveLoadSystem.vb b/ShiftOS-TheRevival/Functions/OutGame/SaveLoadSystem.vb
index 69adc94..e535695 100644
--- a/ShiftOS-TheRevival/Functions/OutGame/SaveLoadSystem.vb
+++ b/ShiftOS-TheRevival/Functions/OutGame/SaveLoadSystem.vb
@@ -60,7 +60,7 @@ Module SaveLoadSystem
Strings.ComputerInfo(0) = "shiftos"
Strings.ComputerInfo(1) = "user"
Strings.ComputerInfo(2) = "0"
- Strings.ComputerInfo(4) = "31"
+ Strings.ComputerInfo(4) = "34"
Strings.AvailableFeature(0) = "1"
Strings.AvailableFeature(1) = "1"
Strings.AvailableFeature(2) = "1"
diff --git a/ShiftOS-TheRevival/MainForms/Applications/Console.vb b/ShiftOS-TheRevival/MainForms/Applications/Console.vb
index 3ae1603..61f6920 100644
--- a/ShiftOS-TheRevival/MainForms/Applications/Console.vb
+++ b/ShiftOS-TheRevival/MainForms/Applications/Console.vb
@@ -17,6 +17,7 @@ Public Class Console
Public ShOSKey As String 'DOSKEY tracking string for ShiftOS
Public Secure As Boolean 'Define either Secure Text mode is enabled or not (experimental!)
Public SecureString As String 'String for Secure Text mode (experimental)
+ Public DuWM_PID As Integer 'DuWM Process ID
Private Sub Console_Load(sender As Object, e As EventArgs) Handles MyBase.Load
With ShortcutHandler
@@ -223,7 +224,7 @@ Public Class Console
End If
End If
End If
- If Strings.OnceInfo(0) = "Yes" Then
+ If Strings.OnceInfo(0) = "Yes" Then
InfoBar.Text = InfoBar.Text & " root |"
Else
InfoBar.Text = InfoBar.Text & " user |"
diff --git a/ShiftOS-TheRevival/MainForms/Applications/Shifter.Designer.vb b/ShiftOS-TheRevival/MainForms/Applications/Shifter.Designer.vb
new file mode 100644
index 0000000..38ead47
--- /dev/null
+++ b/ShiftOS-TheRevival/MainForms/Applications/Shifter.Designer.vb
@@ -0,0 +1,55 @@
+<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
+Partial Class Shifter
+ Inherits System.Windows.Forms.Form
+
+ 'Form overrides dispose to clean up the component list.
+ <System.Diagnostics.DebuggerNonUserCode()>
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Required by the Windows Form Designer
+ Private components As System.ComponentModel.IContainer
+
+ 'NOTE: The following procedure is required by the Windows Form Designer
+ 'It can be modified using the Windows Form Designer.
+ 'Do not modify it using the code editor.
+ <System.Diagnostics.DebuggerStepThrough()>
+ Private Sub InitializeComponent()
+ Me.Label1 = New System.Windows.Forms.Label()
+ Me.SuspendLayout()
+ '
+ 'Label1
+ '
+ Me.Label1.AutoSize = True
+ Me.Label1.Location = New System.Drawing.Point(12, 9)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(40, 13)
+ Me.Label1.TabIndex = 0
+ Me.Label1.Text = "Shifter!"
+ '
+ 'Shifter
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.BackColor = System.Drawing.Color.White
+ Me.ClientSize = New System.Drawing.Size(800, 450)
+ Me.Controls.Add(Me.Label1)
+ Me.ForeColor = System.Drawing.Color.Black
+ Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
+ Me.Name = "Shifter"
+ Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
+ Me.Text = "Shifter"
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+
+ Friend WithEvents Label1 As Label
+End Class
diff --git a/ShiftOS-TheRevival/MainForms/Applications/Shifter.resx b/ShiftOS-TheRevival/MainForms/Applications/Shifter.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/ShiftOS-TheRevival/MainForms/Applications/Shifter.resx
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+</root> \ No newline at end of file
diff --git a/ShiftOS-TheRevival/MainForms/Applications/Shifter.vb b/ShiftOS-TheRevival/MainForms/Applications/Shifter.vb
new file mode 100644
index 0000000..cea6fe3
--- /dev/null
+++ b/ShiftOS-TheRevival/MainForms/Applications/Shifter.vb
@@ -0,0 +1,13 @@
+Public Class Shifter
+ Public DuWM_PID As Integer 'DuWM Process ID
+
+ Private Sub Shifter_Load(sender As Object, e As EventArgs) Handles MyBase.Load
+
+ End Sub
+
+ Private Sub DuWM_Tick(sender As Object, e As EventArgs)
+ If Strings.ProcessID(DuWM_PID) = 0 Then
+ Close()
+ End If
+ End Sub
+End Class \ No newline at end of file
diff --git a/ShiftOS-TheRevival/MainForms/DesktopEnvironment/master/DesktopManager.vb b/ShiftOS-TheRevival/MainForms/DesktopEnvironment/master/DesktopManager.vb
index 576c568..cbf8cbb 100644
--- a/ShiftOS-TheRevival/MainForms/DesktopEnvironment/master/DesktopManager.vb
+++ b/ShiftOS-TheRevival/MainForms/DesktopEnvironment/master/DesktopManager.vb
@@ -4,10 +4,12 @@
Desktop.TopMost = False
Desktop.FormBorderStyle = FormBorderStyle.None
Desktop.WindowState = FormWindowState.Maximized
+ Cursor.Show()
End Sub
Public Sub StopX()
Desktop.Close()
+ Cursor.Hide()
Console_Full()
End Sub
End Module
diff --git a/ShiftOS-TheRevival/MainForms/WindowManager/DualWindowManager/DuWM_Main.vb b/ShiftOS-TheRevival/MainForms/WindowManager/DualWindowManager/DuWM_Main.vb
new file mode 100644
index 0000000..f3985a9
--- /dev/null
+++ b/ShiftOS-TheRevival/MainForms/WindowManager/DualWindowManager/DuWM_Main.vb
@@ -0,0 +1,57 @@
+Module DuWM_Main
+ Public IsDual As Boolean
+
+ Public Sub DuWM_FirstWindowSet(WindowName As Form)
+ WindowName.Height = Desktop.Height - 20
+ WindowName.Width = (Desktop.Width / 2) - 20
+ WindowName.Location = New Point(10, 10)
+ End Sub
+
+ Public Sub DuWM_SecondWindowSet(WindowName As Form)
+ WindowName.Show()
+ WindowName.Height = Desktop.Height - 20
+ WindowName.Width = (Desktop.Width / 2) - 20
+ WindowName.Location = New Point((Desktop.Width / 2) + 10, 10)
+ End Sub
+
+ 'Public Sub DuWM_GenerateWindowSet(WindowName As Form, PID As Integer)
+ ' Dim NewWContainer As New DuWM_WindowContainer
+ ' NewWContainer.Width = (Desktop.Width / 2) - 10
+ ' NewWContainer.Height = Desktop.Height - 20
+ ' NewWContainer.ChildForm = WindowName
+ ' NewWContainer.ChildForm.TopLevel = False
+ ' NewWContainer.ChildForm.FormBorderStyle = FormBorderStyle.None
+ ' NewWContainer.ChildForm.Size = New Size((Desktop.Width / 2) - 10, Desktop.Height - 20)
+ ' Select Case PID
+ ' Case 0
+ ' NewWContainer.Location = New Point(10, 10)
+ ' Case 1
+ ' NewWContainer.Location = New Point((Desktop.Width / 2) + 10, 10)
+ ' End Select
+ ' NewWContainer.ChildForm.WindowState = FormWindowState.Normal
+ ' NewWContainer.ChildForm.Visible = False
+ ' NewWContainer.DuWM_ContainerPanel.Controls.Add(NewWContainer.ChildForm)
+ ' Select Case NewWContainer.ChildForm.Visible
+ ' Case False
+ ' NewWContainer.ChildForm.Visible = True
+ ' Case Else
+ ' NewWContainer.ChildForm.Visible = False
+ ' End Select
+ ' Dim WindowNameStr As String = Convert.ToString(WindowName)
+ ' Select Case WindowNameStr
+ ' Case "Console"
+ ' NewWContainer.DuWM_PID = 0
+ ' Strings.ProcessID(0) = 1
+ ' Case "Shifter"
+ ' NewWContainer.DuWM_PID = 1
+ ' Strings.ProcessID(1) = 1
+ ' End Select
+ ' NewWContainer.Show()
+ ' NewWContainer.DuWM_WMCheck.Start()
+ 'End Sub
+
+ 'Public Sub DuWM_KillAllWindow()
+ ' Strings.ProcessID(0) = 0
+ ' Strings.ProcessID(1) = 0
+ 'End Sub
+End Module
diff --git a/ShiftOS-TheRevival/MainForms/WindowManager/DualWindowManager/DuWM_WindowContainer.Designer.vb b/ShiftOS-TheRevival/MainForms/WindowManager/DualWindowManager/DuWM_WindowContainer.Designer.vb
new file mode 100644
index 0000000..b9d6a4e
--- /dev/null
+++ b/ShiftOS-TheRevival/MainForms/WindowManager/DualWindowManager/DuWM_WindowContainer.Designer.vb
@@ -0,0 +1,57 @@
+<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
+Partial Class DuWM_WindowContainer
+ Inherits System.Windows.Forms.Form
+
+ 'Form overrides dispose to clean up the component list.
+ <System.Diagnostics.DebuggerNonUserCode()> _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Required by the Windows Form Designer
+ Private components As System.ComponentModel.IContainer
+
+ 'NOTE: The following procedure is required by the Windows Form Designer
+ 'It can be modified using the Windows Form Designer.
+ 'Do not modify it using the code editor.
+ <System.Diagnostics.DebuggerStepThrough()> _
+ Private Sub InitializeComponent()
+ Me.components = New System.ComponentModel.Container()
+ Me.DuWM_ContainerPanel = New System.Windows.Forms.Panel()
+ Me.DuWM_WMCheck = New System.Windows.Forms.Timer(Me.components)
+ Me.SuspendLayout()
+ '
+ 'DuWM_ContainerPanel
+ '
+ Me.DuWM_ContainerPanel.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.DuWM_ContainerPanel.Location = New System.Drawing.Point(0, 0)
+ Me.DuWM_ContainerPanel.Name = "DuWM_ContainerPanel"
+ Me.DuWM_ContainerPanel.Size = New System.Drawing.Size(800, 450)
+ Me.DuWM_ContainerPanel.TabIndex = 0
+ '
+ 'DuWM_WMCheck
+ '
+ '
+ 'DuWM_WindowContainer
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.BackColor = System.Drawing.Color.White
+ Me.ClientSize = New System.Drawing.Size(800, 450)
+ Me.Controls.Add(Me.DuWM_ContainerPanel)
+ Me.ForeColor = System.Drawing.Color.Black
+ Me.Name = "DuWM_WindowContainer"
+ Me.Text = "DuWM_WindowContainer"
+ Me.ResumeLayout(False)
+
+ End Sub
+
+ Friend WithEvents DuWM_ContainerPanel As Panel
+ Friend WithEvents DuWM_WMCheck As Timer
+End Class
diff --git a/ShiftOS-TheRevival/MainForms/WindowManager/DualWindowManager/DuWM_WindowContainer.resx b/ShiftOS-TheRevival/MainForms/WindowManager/DualWindowManager/DuWM_WindowContainer.resx
new file mode 100644
index 0000000..d87325b
--- /dev/null
+++ b/ShiftOS-TheRevival/MainForms/WindowManager/DualWindowManager/DuWM_WindowContainer.resx
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <metadata name="DuWM_WMCheck.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>17, 17</value>
+ </metadata>
+</root> \ No newline at end of file
diff --git a/ShiftOS-TheRevival/MainForms/WindowManager/DualWindowManager/DuWM_WindowContainer.vb b/ShiftOS-TheRevival/MainForms/WindowManager/DualWindowManager/DuWM_WindowContainer.vb
new file mode 100644
index 0000000..b845522
--- /dev/null
+++ b/ShiftOS-TheRevival/MainForms/WindowManager/DualWindowManager/DuWM_WindowContainer.vb
@@ -0,0 +1,14 @@
+Public Class DuWM_WindowContainer
+ Public ChildForm As Form
+ Public DuWM_PID As Integer
+
+ Private Sub DuWM_WindowContainer_Load(sender As Object, e As EventArgs) Handles MyBase.Load
+
+ End Sub
+
+ Private Sub DuWM_WMCheck_Tick(sender As Object, e As EventArgs) Handles DuWM_WMCheck.Tick
+ If Strings.ProcessID(DuWM_PID) = 0 Then
+ Close()
+ End If
+ End Sub
+End Class \ No newline at end of file
diff --git a/ShiftOS-TheRevival/ShiftOS-TheRevival.vbproj b/ShiftOS-TheRevival/ShiftOS-TheRevival.vbproj
index 679c04c..2b512d7 100644
--- a/ShiftOS-TheRevival/ShiftOS-TheRevival.vbproj
+++ b/ShiftOS-TheRevival/ShiftOS-TheRevival.vbproj
@@ -98,6 +98,12 @@
<Compile Include="Functions\InGame\Hardwares\KeyboardHandler.vb" />
<Compile Include="Functions\InGame\SystemManager\CodepointSystem.vb" />
<Compile Include="Functions\InGame\SystemManager\Terminate.vb" />
+ <Compile Include="MainForms\Applications\Shifter.Designer.vb">
+ <DependentUpon>Shifter.vb</DependentUpon>
+ </Compile>
+ <Compile Include="MainForms\Applications\Shifter.vb">
+ <SubType>Form</SubType>
+ </Compile>
<Compile Include="MainForms\BugSlap.Designer.vb">
<DependentUpon>BugSlap.vb</DependentUpon>
</Compile>
@@ -168,6 +174,13 @@
</Compile>
<Compile Include="API\ConsoleAPI.vb" />
<Compile Include="API\TerminalAPI.vb" />
+ <Compile Include="MainForms\WindowManager\DualWindowManager\DuWM_Main.vb" />
+ <Compile Include="MainForms\WindowManager\DualWindowManager\DuWM_WindowContainer.Designer.vb">
+ <DependentUpon>DuWM_WindowContainer.vb</DependentUpon>
+ </Compile>
+ <Compile Include="MainForms\WindowManager\DualWindowManager\DuWM_WindowContainer.vb">
+ <SubType>Form</SubType>
+ </Compile>
<Compile Include="TerminalApplications\External\BasicCalculator\App_BC.vb" />
<Compile Include="TerminalApplications\External\GuessTheNumber\App_Guess.vb" />
<Compile Include="TerminalApplications\External\MathQuiz\App_MathQuiz.vb" />
@@ -220,6 +233,9 @@
<Compile Include="TerminalApplications\Internal\Com_Zip.vb" />
</ItemGroup>
<ItemGroup>
+ <EmbeddedResource Include="MainForms\Applications\Shifter.resx">
+ <DependentUpon>Shifter.vb</DependentUpon>
+ </EmbeddedResource>
<EmbeddedResource Include="MainForms\BugSlap.resx">
<DependentUpon>BugSlap.vb</DependentUpon>
</EmbeddedResource>
@@ -247,6 +263,9 @@
<EmbeddedResource Include="MainForms\Applications\Console.resx">
<DependentUpon>Console.vb</DependentUpon>
</EmbeddedResource>
+ <EmbeddedResource Include="MainForms\WindowManager\DualWindowManager\DuWM_WindowContainer.resx">
+ <DependentUpon>DuWM_WindowContainer.vb</DependentUpon>
+ </EmbeddedResource>
<EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
@@ -272,7 +291,6 @@
</ItemGroup>
<ItemGroup>
<Folder Include="DevOnlyRes\" />
- <Folder Include="MainForms\WindowManager\" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\ShiftOSBuildLab.txt" />
diff --git a/ShiftOS-TheRevival/TerminalApplications/External/MathQuiz/App_MathQuiz.vb b/ShiftOS-TheRevival/TerminalApplications/External/MathQuiz/App_MathQuiz.vb
index 235664f..40ce30b 100644
--- a/ShiftOS-TheRevival/TerminalApplications/External/MathQuiz/App_MathQuiz.vb
+++ b/ShiftOS-TheRevival/TerminalApplications/External/MathQuiz/App_MathQuiz.vb
@@ -26,7 +26,7 @@
MQ_Operation = " + "
MQ_ShouldResult = MQ_1stNum + MQ_2ndNum
Case 2
- While MQ_2ndNum > MQ_1stNum
+ While MQ_2ndNum >= MQ_1stNum
MQ_2ndNum = RandomNum.Next(1, 10)
End While
MQ_Operation = " - "
@@ -35,6 +35,9 @@
MQ_Operation = " * "
MQ_ShouldResult = MQ_1stNum * MQ_2ndNum
Case 4
+ While MQ_2ndNum > MQ_1stNum
+ MQ_2ndNum = RandomNum.Next(1, 10)
+ End While
MQ_Operation = " / "
MQ_ShouldResult = MQ_1stNum / MQ_2ndNum
Case Else
diff --git a/ShiftOS-TheRevival/TerminalApplications/Internal/Com_Unzip.vb b/ShiftOS-TheRevival/TerminalApplications/Internal/Com_Unzip.vb
index 37231fb..09be14b 100644
--- a/ShiftOS-TheRevival/TerminalApplications/Internal/Com_Unzip.vb
+++ b/ShiftOS-TheRevival/TerminalApplications/Internal/Com_Unzip.vb
@@ -84,7 +84,7 @@ Module Com_Unzip
' copy all the sub-directories by recursively calling this same routine
Dim SubDir As DirectoryInfo
For Each SubDir In SourceDir.GetDirectories()
- NewLine("Copying " & SubDir.Name & "...")
+ NewLine("Copying '" & SubDir.Name & "' directory ...")
CopyDirectory(SubDir.FullName, Path.Combine(DestDir.FullName,
SubDir.Name), Overwrite)
AddLine(" OK")