diff options
| author | EverythingWindows <[email protected]> | 2022-11-20 21:53:17 +0700 |
|---|---|---|
| committer | EverythingWindows <[email protected]> | 2022-11-20 21:53:17 +0700 |
| commit | 3f4edf1b79ee4ee5a73251930af641bcd0db225e (patch) | |
| tree | c018dad0d65e9997867f951df94ef907ea18956c /ShiftOS-TheRevival/MainForms/WindowManager | |
| parent | 9d384be17594240918b6b277521d3eaa15151ae9 (diff) | |
| download | shiftos-therevival-old-3f4edf1b79ee4ee5a73251930af641bcd0db225e.tar.gz shiftos-therevival-old-3f4edf1b79ee4ee5a73251930af641bcd0db225e.tar.bz2 shiftos-therevival-old-3f4edf1b79ee4ee5a73251930af641bcd0db225e.zip | |
trial on Dual Window Manager
Diffstat (limited to 'ShiftOS-TheRevival/MainForms/WindowManager')
4 files changed, 251 insertions, 0 deletions
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 |
