TermTab
- 5 Devlogs
- 15 Total hours
GUIs are boring; try a terminal window instead!
GUIs are boring; try a terminal window instead!
After a few more hours, I finally integrated a stable production-ready API to TermTab. Right now, there are two new commands: loc and weather. Loc uses the user’s local IP address (from freeipapi.com) or a provided US zip code (uses zippopotam.us) to find coordinates, city, state, and country name (and IP address, if applicable).
I also rewrote the search command to allow the user to use their preferred search engine (and incorporated the ask command into it). Now, you can search YouTube, Wikipedia, and DuckDuckGo!
I am considering on shipping TermTab as it is after finishing up on the rest of the project (like README.md).
After a few hours of work, I was able to rewrite how commands work for TermTab. Before, commands were hardcoded into the execute() method in the Terminal class, which itself was integrated as part of the Terminal component. Now, the Terminal class is its own svelte.ts file and commands are fetched dynamically using Vite’s import.meta.glob().
I also added/modified a few commands including: time, info, and help. help now uses a dynamic fetching system, with each command managing its own help menu with command parameters as a string[].
As before, if you have any suggestions, feel free to comment!
Devlog 1: Making Something Familiar
Just began on my second project for Stardance. I started very late, but I want to complete this and the basic OS missions before Stardance is over.
Currently, I created a class in TypeScript to manage input and output and implemented a few programs. The input is directly taken from DOM listeners instead of an element because some functionality, like ctrl+c wouldn’t work with basic input. Besides, the custom code wasn’t a lot, with most of it dedicated to parse() which uses a simple switch statement.
Currently, there isn’t much in the way of interactivity, but I plan on implementing a few programs:
If you have another ideas for programs, feel free to share/comment.