[SimpleShell]
~
$ curl -sL 'https://github.com/stoops/SimpleShell/commits/main/' | tr '=:,<>[]{}"\' '\n' | grep -Ei '/commit/' | head -n 1 | awk -F'/' '{ print $NF }'
$ spctl -a -v bin/SimpleShell.app
bin/SimpleShell.app: accepted
source=Notarized Developer ID
I was searching for a good quality but simple free open terminal for MacOS and I couldn’t really find what I was looking for interface wise (I used to use iTerm for a long time but it started getting more and more bloated and laggy on me – using up a lot of system power on battery and I don’t want all that AI stuff baked in).
I started a project earlier this year but got stuck on it because I was trying to implement a basic ANSI parser which was a mistake on my part. I didn’t realize how incredibly complicated that finite state machine would be, esp with bash and ansi apps sending complicated instructions into the machine! I then asked Google AI for help and it pointed me to a GitHub page that hosted a libvterm (from vim) that was compatible with Objective-C.
I’ve been working on this app non-stop for the last 9 days now and I only have the basics covered, I didn’t realize how much code it took just to make a basic text processing input/output app but I think this is one of my more complicated code bases (possibly TurnTable is the other app of mine that might be more complicated but that one is in Swift).
I still have a lot more work on my todo list for and I will continue development on it now that I got ANSI parsing to work, the rest is just mainly ViewController and functionality features. I targeted it for the bash shell so I don’t know if it works with other shells but this is just my first release post about it.
View Layout
- Month / Day
- Rows / Cols
- LAN / WAN
- CPU / RAM / NET
- WiFi Freq / Rate
- Top Process Memory Used
- Shell PS1 Prompt Info (User / Directory)
- … any info thing that you can script and fit within a limit text space!
Feature List
- Simple Clean Minimal Functional Design
- Window Colors / Opacity / Blur
- Selector / Highlighter Separator Character List (Automation)
- Auto Copy On Selection (Automation)
- Single-Line Paste Manual Enter (Safety)
- Multi-Line Paste Prevention Protection (Safety)
- Huge-Line Paste Limitation Protection (Safety)
- Multi-Window / Multi-Tab
- Left Aligned Tab Titles With Monospace Font (Readability)
- Scriptable Standard Window And Tab Title Text
- Scriptable Dynamic Shell Prompt Prefix (Found No Where Else!)
- Always Visible Command Line Prompt (Found No Where Else!)
- Live System Information Stats Bar
- Separated Open / Close Tab Buttons To Reduce Accidental Closures
- Multi-Tab Window Detection To Reduce Accidental Closures
- Smooth Scroll Locking
- Clear Console Command
- Pre-Coded Hot Keys
- Regular Expression Search
- Basic Font Colors
- Dock Icon!!
Limitation List
- Tabs Can’t Be Transferred To Other Windows
- Only Restores One Window / Tab On Launch
User Beware
- This is still a brand new framework and there may be bugs (or at the very least incompatibilities)!
~
Source Code: https://github.com/stoops/SimpleShell
~
