aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS-TheRevival/MainForms/Applications/Console.vb
diff options
context:
space:
mode:
authorEverythingWindows <[email protected]>2022-11-20 16:43:01 +0700
committerEverythingWindows <[email protected]>2022-11-20 16:43:01 +0700
commit2fa56446be7a049994786931e9145043362e8adb (patch)
treefd715e8afde59181985e3e2c654dfbfeeda27880 /ShiftOS-TheRevival/MainForms/Applications/Console.vb
parent5ae42df217ded307bb8e33611d2292ebdb523a18 (diff)
downloadshiftos-therevival-old-2fa56446be7a049994786931e9145043362e8adb.tar.gz
shiftos-therevival-old-2fa56446be7a049994786931e9145043362e8adb.tar.bz2
shiftos-therevival-old-2fa56446be7a049994786931e9145043362e8adb.zip
Guide command, MathQuiz App, ShiftOS About, and more
Diffstat (limited to 'ShiftOS-TheRevival/MainForms/Applications/Console.vb')
-rw-r--r--ShiftOS-TheRevival/MainForms/Applications/Console.vb239
1 files changed, 239 insertions, 0 deletions
diff --git a/ShiftOS-TheRevival/MainForms/Applications/Console.vb b/ShiftOS-TheRevival/MainForms/Applications/Console.vb
new file mode 100644
index 0000000..3ae1603
--- /dev/null
+++ b/ShiftOS-TheRevival/MainForms/Applications/Console.vb
@@ -0,0 +1,239 @@
+Imports System.IO
+
+Public Class Console
+ Public TrackPos As Integer 'Tracking the position of the caret in order to not bypass the user@hostname string
+ Public DefaultPrompt As String 'Default prompt to display in ShiftOS, usually it's user@hostname
+ Public BadCommand As Boolean 'Detect if it's a bad command or not
+ Public DisplayStory As Integer 'Keep record for displaying the DevX's or other's monologue
+ Public StoryToTell As String 'Which chapter that you're going to be in
+ Public ShouldChange As Boolean = False 'Indicates if the interpreter should changed to a specific program
+ Public ChangeInterpreter As Boolean = False 'Default interpreter is Terminal, if it's changed to True, there'll be other program used by Console
+ Public CurrentInterpreter As String 'Shows what program is using Console
+ Public CurrentDirectory As String 'Current Directory for ShiftOS Explorer
+ Public Pseudodir As String 'Pseudo-directory for ShiftFS
+ Public StayAtChapter As Boolean = False 'If this set to true, then intro for chapters are mostly going to be in
+ Public ToolBarUse As Boolean = False 'Either any program is using ToolBar or not
+ Public ReleaseCursor As Boolean = False 'Release cursor from TrackPos
+ 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)
+
+ Private Sub Console_Load(sender As Object, e As EventArgs) Handles MyBase.Load
+ With ShortcutHandler
+ .WorkerSupportsCancellation = True
+ End With
+ Console_Full()
+ Cursor.Hide()
+ InitializeTerminal()
+ End Sub
+
+ Private Sub txtterm_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
+ KeyInput = e.KeyData
+ InputKey = e.KeyData
+ ShortcutHandle()
+ If ReleaseCursor = True Then
+
+ Else
+ Select Case e.KeyData
+ Case Keys.Enter
+ e.SuppressKeyPress = True
+ If Secure = True Then
+ Secure = False
+ TextBox1.ReadOnly = False
+ Terminal_ReadCommand()
+ NewLine(SecureString)
+ Terminal_PrintPrompt()
+ SecureString = Nothing
+ TextRebind()
+ Else
+ If TextBox1.ReadOnly = True Then
+
+ Else
+ Terminal_ReadCommand()
+ If Strings.AvailableFeature(18) = 1 Then
+ ShOSKey_InputCommand(command)
+ End If
+ If ChangeInterpreter = True Then
+ DoChildCommand()
+ Terminal_PrintPrompt()
+ TextRebind()
+ Else
+ Terminal_DoCommand()
+ Terminal_PrintPrompt()
+ TextRebind()
+ End If
+ End If
+ End If
+ TrackPos = 0
+ Case Keys.ShiftKey, Keys.LShiftKey, Keys.RShiftKey, Keys.Alt, Keys.ControlKey, Keys.LWin, Keys.RWin
+ e.SuppressKeyPress = True
+ TrackPos = TrackPos
+ Case Keys.Back
+ If TrackPos <= 0 Then
+ e.SuppressKeyPress = True
+ Else
+ TrackPos = TrackPos - 1
+ 'If TextBox1.SelectedText.Length < 1 Then
+ ' TrackPos = TrackPos - 1
+ 'Else
+ ' e.SuppressKeyPress = True
+ 'End If
+ End If
+ Case Keys.Right
+ If TextBox1.SelectionStart = TextBox1.TextLength Then
+ Else
+ TrackPos = TrackPos + 1
+ End If
+ 'If TrackPos <= 0 Then
+ ' Dim CommandChar As String
+ ' CommandChar = TextBox1.Lines(TextBox1.Lines.Length - 1)
+ ' CommandChar = CommandChar.Replace(DefaultPrompt, "")
+ ' TrackPos = CommandChar.Length - 1
+ ' TextBox1.Select(TextBox1.TextLength, 0)
+ ' TextBox1.ScrollToCaret()
+ 'End If
+ Case Keys.Left
+ If TextBox1.SelectionStart = 0 Then
+ e.SuppressKeyPress = True
+ Else
+ TrackPos = TrackPos - 1
+ End If
+ If TrackPos <= 0 Then
+ Dim CommandChar As String
+ CommandChar = TextBox1.Lines(TextBox1.Lines.Length - 1)
+ CommandChar = CommandChar.Replace(DefaultPrompt, "")
+ TrackPos = CommandChar.Length - 1
+ TextBox1.Select(TextBox1.TextLength, 0)
+ TextBox1.ScrollToCaret()
+ End If
+ 'If TrackPos < 1 Then
+ ' e.SuppressKeyPress = True
+ ' TrackPos = TrackPos - 1
+ 'Else
+ ' TrackPos = TrackPos - 2
+ 'End If
+ Case Keys.Up
+ e.SuppressKeyPress = True
+ If Strings.AvailableFeature(18) = 1 Then
+ ShOSKey_Display()
+ TextRebind()
+ End If
+ Case Keys.Down
+ e.SuppressKeyPress = True
+ If Strings.AvailableFeature(18) = 1 Then
+ ShOSKey_Display()
+ TextRebind()
+ End If
+ Case Else
+ If Secure = True Then
+ If e.Modifiers = Keys.Shift Then
+ SecureString = SecureString & Chr(e.KeyValue)
+ Else
+ SecureString = SecureString & Chr(e.KeyValue + 32)
+ End If
+ Else
+ TrackPos = TrackPos + 1
+ End If
+ End Select
+ End If
+ 'If e.KeyCode = Keys.Enter Then
+ ' 'If command = "clear" Then
+ ' ' txtterm.Text = txtterm.Text + ShiftOSDesktop.username & "@" & ShiftOSDesktop.osname & " $> "
+ ' ' txtterm.Select(txtterm.Text.Length, 0)
+
+ ' 'Else
+ ' ' txtterm.Text = txtterm.Text + Environment.NewLine & ShiftOSDesktop.username & "@" & ShiftOSDesktop.osname & " $> "
+ ' ' txtterm.Select(txtterm.Text.Length, 0)
+ ' 'End If
+ 'Else
+ ' If e.KeyCode = Keys.Back Then
+ ' Else
+ ' TrackPos = TrackPos + 1
+ ' End If
+ 'End If
+
+ 'If e.KeyCode = Keys.Back Then
+ ' 'If TrackPos < 1 Then
+ ' ' e.SuppressKeyPress = True
+ ' 'Else
+ ' ' If TextBox1.SelectedText.Length < 1 Then
+ ' ' TrackPos = TrackPos - 1
+ ' ' Else
+ ' ' e.SuppressKeyPress = True
+ ' ' End If
+ ' 'End If
+ 'End If
+ End Sub
+
+ Private Sub TextBox1_Click(sender As Object, e As EventArgs) Handles TextBox1.Click, TextBox1.MouseDoubleClick
+ TextRebind()
+ End Sub
+
+ Private Sub StoryOnlyTimer_Tick(sender As Object, e As EventArgs) Handles StoryOnlyTimer.Tick
+ StoryLineIntro(DisplayStory)
+ DisplayStory = DisplayStory + 1
+ End Sub
+
+ Private Sub InfoBarTimer_Tick(sender As Object, e As EventArgs) Handles InfoBarTimer.Tick
+ InfoBar.Text = "|"
+ If Strings.AvailableFeature(5) = "1" Then
+ InfoBar.Text = InfoBar.Text & " " & Math.Floor(Date.Now.Subtract(Date.Today).TotalSeconds) & " |"
+ ElseIf Strings.AvailableFeature(5) = "3" Then
+ If Strings.AvailableFeature(6) = "1" Then
+ InfoBar.Text = InfoBar.Text & " " & Math.Floor(Date.Now.Subtract(Date.Today).TotalMinutes) & " |"
+ ElseIf Strings.AvailableFeature(6) = "3" Then
+ If Strings.AvailableFeature(7) = "1" Then
+ InfoBar.Text = InfoBar.Text & " " & Math.Floor(Date.Now.Subtract(Date.Today).TotalHours) & " |"
+ ElseIf Strings.AvailableFeature(7) = "3" Then
+ If Strings.AvailableFeature(12) = "1" Then
+ If Date.Now.Hour < 12 Then
+ InfoBar.Text = InfoBar.Text & Environment.NewLine & " " & TimeOfDay.Hour & " AM |"
+ Else
+ InfoBar.Text = InfoBar.Text & Environment.NewLine & " " & TimeOfDay.Hour - 12 & " PM |"
+ End If
+ ElseIf Strings.AvailableFeature(12) = "3" Then
+ If Strings.AvailableFeature(23) = "1" Then
+ InfoBar.Text = InfoBar.Text & Environment.NewLine & " " & TimeOfDay.Hour & ":" & TimeOfDay.Minute & " |"
+ End If
+ End If
+ End If
+ End If
+ End If
+ If Strings.AvailableFeature(24) = 1 Then
+ InfoBar.Text = InfoBar.Text & " " & Date.Now.DayOfYear & " |"
+ ElseIf Strings.AvailableFeature(24) = 3 Then
+ If Strings.AvailableFeature(25) = 1 Then
+ Dim WeekOfYear As String = Date.Now.DayOfYear / 7
+ InfoBar.Text = InfoBar.Text & " " & WeekOfYear.Substring(0, 2) & " |"
+ ElseIf Strings.AvailableFeature(25) = 3 Then
+ If Strings.AvailableFeature(26) = 1 Then
+ InfoBar.Text = InfoBar.Text & " " & Date.Now.Month & " |"
+ ElseIf Strings.AvailableFeature(26) = 3 Then
+ If Strings.AvailableFeature(27) = 1 Then
+ InfoBar.Text = InfoBar.Text & " " & Date.Now.Year & " |"
+ ElseIf Strings.AvailableFeature(27) = 3 Then
+ If Strings.AvailableFeature(28) = 1 Then
+ InfoBar.Text = InfoBar.Text & " " & Date.Now.Day & "/" & Date.Now.Month & " |"
+ ElseIf Strings.AvailableFeature(28) = 3 Then
+ If Strings.AvailableFeature(29) = 1 Then
+ InfoBar.Text = InfoBar.Text & " " & Date.Now.Day & "/" & Date.Now.Month & "/" & Date.Now.Year & " |"
+ End If
+ End If
+ End If
+ End If
+ End If
+ End If
+ If Strings.OnceInfo(0) = "Yes" Then
+ InfoBar.Text = InfoBar.Text & " root |"
+ Else
+ InfoBar.Text = InfoBar.Text & " user |"
+ End If
+ InfoBar.Text = InfoBar.Text & " " & CurrentInterpreter & " |"
+ InfoBar.Text = InfoBar.Text & " " & Strings.ComputerInfo(2) & " CP |"
+ InfoBar.Text = InfoBar.Text & " " & TrackPos & " |"
+ End Sub
+
+ Private Sub TextBox1_Click(sender As Object, e As MouseEventArgs) Handles TextBox1.MouseDoubleClick, TextBox1.Click
+
+ End Sub
+End Class \ No newline at end of file