diff options
| author | EverythingWindows <[email protected]> | 2022-11-20 16:43:01 +0700 |
|---|---|---|
| committer | EverythingWindows <[email protected]> | 2022-11-20 16:43:01 +0700 |
| commit | 2fa56446be7a049994786931e9145043362e8adb (patch) | |
| tree | fd715e8afde59181985e3e2c654dfbfeeda27880 /ShiftOS-TheRevival/MainForms/Applications/Console.vb | |
| parent | 5ae42df217ded307bb8e33611d2292ebdb523a18 (diff) | |
| download | shiftos-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.vb | 239 |
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 |
