From 3f4edf1b79ee4ee5a73251930af641bcd0db225e Mon Sep 17 00:00:00 2001 From: EverythingWindows Date: Sun, 20 Nov 2022 21:53:17 +0700 Subject: trial on Dual Window Manager --- .../MainForms/Applications/Console.vb | 3 +- .../MainForms/Applications/Shifter.Designer.vb | 55 +++++++++ .../MainForms/Applications/Shifter.resx | 120 ++++++++++++++++++++ .../MainForms/Applications/Shifter.vb | 13 +++ .../DesktopEnvironment/master/DesktopManager.vb | 2 + .../WindowManager/DualWindowManager/DuWM_Main.vb | 57 ++++++++++ .../DuWM_WindowContainer.Designer.vb | 57 ++++++++++ .../DualWindowManager/DuWM_WindowContainer.resx | 123 +++++++++++++++++++++ .../DualWindowManager/DuWM_WindowContainer.vb | 14 +++ 9 files changed, 443 insertions(+), 1 deletion(-) create mode 100644 ShiftOS-TheRevival/MainForms/Applications/Shifter.Designer.vb create mode 100644 ShiftOS-TheRevival/MainForms/Applications/Shifter.resx create mode 100644 ShiftOS-TheRevival/MainForms/Applications/Shifter.vb create mode 100644 ShiftOS-TheRevival/MainForms/WindowManager/DualWindowManager/DuWM_Main.vb create mode 100644 ShiftOS-TheRevival/MainForms/WindowManager/DualWindowManager/DuWM_WindowContainer.Designer.vb create mode 100644 ShiftOS-TheRevival/MainForms/WindowManager/DualWindowManager/DuWM_WindowContainer.resx create mode 100644 ShiftOS-TheRevival/MainForms/WindowManager/DualWindowManager/DuWM_WindowContainer.vb (limited to 'ShiftOS-TheRevival/MainForms') 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 @@ + +Partial Class Shifter + Inherits System.Windows.Forms.Form + + 'Form overrides dispose to clean up the component list. + + 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. + + 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + \ 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 @@ + _ +Partial Class DuWM_WindowContainer + Inherits System.Windows.Forms.Form + + 'Form overrides dispose to clean up the component list. + _ + 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. + _ + 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + \ 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 -- cgit v1.2.3