mirror of
https://github.com/TheUltimateHacker/shiftos-next.git
synced 2025-01-22 16:42:14 +00:00
Added directory-surfing to Terminal.
Added cd, ls/dir, and mkdir commands to the Terminal.
This commit is contained in:
parent
26e89066d4
commit
ac564b6e77
10 changed files with 94 additions and 11 deletions
|
@ -1,11 +1,12 @@
|
||||||
Public Class Terminal
|
Public Class Terminal
|
||||||
|
|
||||||
|
Public currentdir As String = root
|
||||||
Dim trackpos As Integer = 0
|
Dim trackpos As Integer = 0
|
||||||
|
|
||||||
Public Sub terminal_Innitiate(sender As Object, e As EventArgs) Handles MyBase.Load
|
Public Sub terminal_Innitiate(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||||
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
|
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
|
||||||
Me.WindowState = FormWindowState.Maximized
|
Me.WindowState = FormWindowState.Maximized
|
||||||
AddLine("user@shiftos ~$> ")
|
AddLine("user@shiftos " & currentdir.ToLower.Replace("c:\shiftos", "~") & "$> ")
|
||||||
SelectBottom()
|
SelectBottom()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
@ -17,12 +18,49 @@
|
||||||
command = command.ToLower
|
command = command.ToLower
|
||||||
If command Like "help" Then
|
If command Like "help" Then
|
||||||
ShowHelp()
|
ShowHelp()
|
||||||
|
ElseIf command Like "cd *" Then
|
||||||
|
Dim folder As String = command.Replace("cd ", "")
|
||||||
|
|
||||||
|
If folder = ".." Then
|
||||||
|
If currentdir.ToLower = "c:\shiftos" Then
|
||||||
|
AddLine("cd: Error! You are at the root of your drive.")
|
||||||
|
Else
|
||||||
|
currentdir = IO.Directory.GetParent(currentdir).ToString
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
If IO.Directory.Exists(currentdir + "\" + folder) Then
|
||||||
|
currentdir = currentdir & "\" & folder
|
||||||
|
ElseIf IO.Directory.Exists(folder) Then
|
||||||
|
currentdir = folder
|
||||||
|
Else
|
||||||
|
AddLine("cd: Directory """ & folder & """ doesn't exist.")
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
ElseIf command = "dir" Or command = "ls" Then
|
||||||
|
AddLine("Type | Name ")
|
||||||
|
AddLine("-------+-------------------------------------------")
|
||||||
|
For Each Dir As String In IO.Directory.GetDirectories(currentdir)
|
||||||
|
Dim dirinf As New IO.DirectoryInfo(Dir)
|
||||||
|
AddLine("[DIR] | " & dirinf.Name)
|
||||||
|
Next
|
||||||
|
For Each file As String In IO.Directory.GetFiles(currentdir)
|
||||||
|
Dim filinf As New IO.FileInfo(file)
|
||||||
|
AddLine(filinf.Extension & " | " & filinf.Name)
|
||||||
|
Next
|
||||||
|
ElseIf command Like "mkdir *" Then
|
||||||
|
Dim foldertomake As String = command.Replace("mkdir ", "")
|
||||||
|
If IO.Directory.Exists(currentdir + "\" + foldertomake) Then
|
||||||
|
AddLine("Directory already exists!")
|
||||||
|
Else
|
||||||
|
IO.Directory.CreateDirectory(currentdir + "\" + foldertomake)
|
||||||
|
AddLine("mkdir: Directory created successfully.")
|
||||||
|
End If
|
||||||
ElseIf command Like "shutdown" Then
|
ElseIf command Like "shutdown" Then
|
||||||
Me.Close()
|
Me.Close()
|
||||||
ElseIf command Like "" Then
|
ElseIf command Like "" Then
|
||||||
'This is here to make it so that the Terminal doesn't say "Wrong Command" if the user doesn't input anything.
|
'This is here to make it so that the Terminal doesn't say "Wrong Command" if the user doesn't input anything.
|
||||||
Else
|
Else
|
||||||
AddLine("Invalid command! Type ""help"" for a list of commands.")
|
AddLine("Invalid command! Type ""help"" for a list of commands.")
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
@ -35,6 +73,9 @@
|
||||||
AddLine(" - Terminal commands are case-insensitive.")
|
AddLine(" - Terminal commands are case-insensitive.")
|
||||||
AddLine(" - The screen can only display Black and White." & vbNewLine)
|
AddLine(" - The screen can only display Black and White." & vbNewLine)
|
||||||
AddLine("Commands: " & vbNewLine)
|
AddLine("Commands: " & vbNewLine)
|
||||||
|
AddLine(" - cd: Change to the specified directory.")
|
||||||
|
AddLine(" - mkdir: Create a directory inside the current directory (marked before the %)")
|
||||||
|
AddLine(" - ls, dir: View the contents of the current directory.")
|
||||||
AddLine(" - shutdown: Shuts the system down.")
|
AddLine(" - shutdown: Shuts the system down.")
|
||||||
AddLine(" - help: Shows this screen.")
|
AddLine(" - help: Shows this screen.")
|
||||||
|
|
||||||
|
@ -109,25 +150,25 @@
|
||||||
|
|
||||||
If e.KeyCode = Keys.Enter Then
|
If e.KeyCode = Keys.Enter Then
|
||||||
e.SuppressKeyPress = True
|
e.SuppressKeyPress = True
|
||||||
Dim command As String = txtterm.Lines(txtterm.Lines.Length - 1).Replace("user@shiftos ~$> ", "").ToLower
|
Dim command As String = txtterm.Lines(txtterm.Lines.Length - 1).Replace("user@shiftos " & currentdir.ToLower.Replace("c:\shiftos", "~") & "$> ", "").ToLower
|
||||||
Interpret(command)
|
Interpret(command)
|
||||||
|
|
||||||
If command = "clear" Then
|
If command = "clear" Then
|
||||||
txtterm.Text = "user@shiftos ~$> "
|
txtterm.Text = "user@shiftos " & currentdir.ToLower.Replace("c:\shiftos", "~") & "$> "
|
||||||
txtterm.Select(txtterm.Text.Length, 0)
|
txtterm.Select(txtterm.Text.Length, 0)
|
||||||
|
|
||||||
Else
|
Else
|
||||||
AddLine("user@shiftos ~$> ")
|
AddLine("user@shiftos " & currentdir.ToLower.Replace("c:\shiftos", "~") & "$> ")
|
||||||
txtterm.Select(txtterm.Text.Length, 0)
|
txtterm.Select(txtterm.Text.Length, 0)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
trackpos = 0
|
trackpos = 0
|
||||||
Else
|
|
||||||
If e.KeyCode = Keys.Back Then
|
|
||||||
Else
|
Else
|
||||||
trackpos = trackpos + 1
|
If e.KeyCode = Keys.Back Then
|
||||||
|
Else
|
||||||
|
trackpos = trackpos + 1
|
||||||
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
|
||||||
|
|
||||||
If e.KeyCode = Keys.Back Then
|
If e.KeyCode = Keys.Back Then
|
||||||
If trackpos < 1 Then
|
If trackpos < 1 Then
|
||||||
|
|
Binary file not shown.
Binary file not shown.
11
shiftos_next/bin/Debug/shiftos_next.vshost.exe.manifest
Normal file
11
shiftos_next/bin/Debug/shiftos_next.vshost.exe.manifest
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
||||||
|
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
|
||||||
|
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
|
||||||
|
<security>
|
||||||
|
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||||
|
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
|
||||||
|
</requestedPrivileges>
|
||||||
|
</security>
|
||||||
|
</trustInfo>
|
||||||
|
</assembly>
|
19
shiftos_next/filesystem.vb
Normal file
19
shiftos_next/filesystem.vb
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
Module filesystem
|
||||||
|
'This module represents the folder structure of the ShiftFS Filesystem.
|
||||||
|
|
||||||
|
Public root As String = "C:\ShiftOS"
|
||||||
|
|
||||||
|
Public home As String = root + "\Home\" 'Inconsistent to fix terminal glitch.
|
||||||
|
|
||||||
|
Public documents As String = home + "Documents\"
|
||||||
|
Public pictures As String = home + "Pictures\"
|
||||||
|
Public music As String = home + "Music\"
|
||||||
|
|
||||||
|
Public systemdir As String = root + "Shiftum42\"
|
||||||
|
|
||||||
|
Public drivers As String = systemdir + "Drivers\"
|
||||||
|
|
||||||
|
Public save As String = drivers + "HDD.dri"
|
||||||
|
|
||||||
|
|
||||||
|
End Module
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -9,3 +9,14 @@ c:\users\the ultimate hacker\documents\github\ORION\project-orion\shiftos_next\s
|
||||||
c:\users\the ultimate hacker\documents\github\ORION\project-orion\shiftos_next\shiftos_next\obj\Debug\shiftos_next.exe
|
c:\users\the ultimate hacker\documents\github\ORION\project-orion\shiftos_next\shiftos_next\obj\Debug\shiftos_next.exe
|
||||||
c:\users\the ultimate hacker\documents\github\ORION\project-orion\shiftos_next\shiftos_next\obj\Debug\shiftos_next.xml
|
c:\users\the ultimate hacker\documents\github\ORION\project-orion\shiftos_next\shiftos_next\obj\Debug\shiftos_next.xml
|
||||||
c:\users\the ultimate hacker\documents\github\ORION\project-orion\shiftos_next\shiftos_next\obj\Debug\shiftos_next.pdb
|
c:\users\the ultimate hacker\documents\github\ORION\project-orion\shiftos_next\shiftos_next\obj\Debug\shiftos_next.pdb
|
||||||
|
C:\Users\The Ultimate Hacker\Documents\shiftos-next\shiftos_next\bin\Debug\shiftos_next.exe.config
|
||||||
|
C:\Users\The Ultimate Hacker\Documents\shiftos-next\shiftos_next\obj\Debug\shiftos_next.exe
|
||||||
|
C:\Users\The Ultimate Hacker\Documents\shiftos-next\shiftos_next\obj\Debug\shiftos_next.xml
|
||||||
|
C:\Users\The Ultimate Hacker\Documents\shiftos-next\shiftos_next\obj\Debug\shiftos_next.pdb
|
||||||
|
C:\Users\The Ultimate Hacker\Documents\shiftos-next\shiftos_next\obj\Debug\shiftos_next.HijackScreen.resources
|
||||||
|
C:\Users\The Ultimate Hacker\Documents\shiftos-next\shiftos_next\obj\Debug\shiftos_next.Resources.resources
|
||||||
|
C:\Users\The Ultimate Hacker\Documents\shiftos-next\shiftos_next\obj\Debug\shiftos_next.Terminal.resources
|
||||||
|
C:\Users\The Ultimate Hacker\Documents\shiftos-next\shiftos_next\obj\Debug\shiftos_next.vbproj.GenerateResource.Cache
|
||||||
|
C:\Users\The Ultimate Hacker\Documents\shiftos-next\shiftos_next\bin\Debug\shiftos_next.exe
|
||||||
|
C:\Users\The Ultimate Hacker\Documents\shiftos-next\shiftos_next\bin\Debug\shiftos_next.pdb
|
||||||
|
C:\Users\The Ultimate Hacker\Documents\shiftos-next\shiftos_next\bin\Debug\shiftos_next.xml
|
||||||
|
|
|
@ -70,6 +70,7 @@
|
||||||
<Import Include="System.Threading.Tasks" />
|
<Import Include="System.Threading.Tasks" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Compile Include="filesystem.vb" />
|
||||||
<Compile Include="Hijack.Designer.vb">
|
<Compile Include="Hijack.Designer.vb">
|
||||||
<DependentUpon>Hijack.vb</DependentUpon>
|
<DependentUpon>Hijack.vb</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
|
Loading…
Reference in a new issue