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 --- .../WindowManager/DualWindowManager/DuWM_Main.vb | 57 ++++++++++ .../DuWM_WindowContainer.Designer.vb | 57 ++++++++++ .../DualWindowManager/DuWM_WindowContainer.resx | 123 +++++++++++++++++++++ .../DualWindowManager/DuWM_WindowContainer.vb | 14 +++ 4 files changed, 251 insertions(+) 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/WindowManager') 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