Skip to content

Anonymous390/bright-bluefins

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

170 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Issues MIT License pre-commit python-version-shield


Logo

BoxOS

A simple Shell that mimics the nostalgic MS-DOS from the 1980s made by Bright Bluefins of Python Discord Summer Code Jam 2021.

Table of Contents

  1. About The Project
  2. Getting Started
  3. Usage
  4. License
  5. Resources

About The Project

App screenshot


This project aims to create a clone of a MS-DOS with python and prompt-toolkit framework. We named it BoxOS because the TUI resembles an old box inside the modern OS with GUIs. In a nutshell, it is a simple shell with common and basic commands of MS-DOS. It also features a text editor called Notepad and an image viewer called Photos.

How It Works

The shell runs on top of a prompt_toolkit prompt session, which creates a REPL and takes the user input. It then parses the input from the user and then calls the appropriate command. It keeps track of the current path as a Path object. So that we can resolve the relative path as well as absolute path. It also uses custom styles to create the looks of the old DOS.

Project Structure

The structure of the project which actually is made using the TREE command of the shell!

The folder structure is restructured a bit to make it prettier but essentially the output is almost same.

└──bright-bluefins
    ├──.github
    │   └──workflows
    │       └──lint.yaml
    ├──docs
    │   ├──images
    │   │   │
    │   │  ...
    │   ├──Notepad.md
    │   ├──Photos.md
    │   └──ShellCommands.md
    ├──main
    │   ├──commands.py
    │   ├──main.py
    │   ├──notepad
    │   │   ├──notepad.py
    │   │   └──__init__.py
    │   ├──photos
    │   │   ├──photos.py
    │   │   └──__init__.py
    │   ├──styles
    │   │   ├──bright_blue.py
    │   │   ├──styles.py
    │   │   └──__init__.py
    │   ├──tests
    │   │   ├──commands_test.py
    │   │   └──__init__.py
    │   └──__init__.py
    ├──.gitignore
    ├──.pre-commit-config.yaml
    ├──LICENSE
    ├──Pipfile
    ├──Pipfile.lock
    ├──README.md
    └──tox.ini

Built With

Getting Started

To get a local copy up and running of this shell, follow these simple steps.

Installation on Windows

  1. Clone the repo and go into the local repo bright-bluefins

    git clone https://github.com/DavinderJolly/bright-bluefins.git
    cd bright-bluefins
  2. Install pipenv (skip to next step if already have it installed)

    py -m pip install pipenv
  3. Install dependencies

    pipenv install
  4. Start the program

    pipenv run start

Installation on Linux

  1. Clone the repo and go into the local repo bright-bluefins

    git clone https://github.com/DavinderJolly/bright-bluefins.git
    cd bright-bluefins
  2. Install pipenv (skip to next step if already have it installed)

    python -m pip install pipenv # (or python3 -m)
  3. Install dependencies

    pipenv install
  4. Start the program

    pipenv run start

Usage

Example usage of few of the common commands are given below. Try these out and have fun!

CD

CD ../bright-bluefins/main

EDIT

EDIT ./README.md

IMGVIEW

IMGVIEW ./docs/images/logo.png

TREE

TREE ./main

PING

PING 1.1.1.1

For the complete and detailed list of commands and features, please refer to the Documentation

License

Distributed under the MIT License. See LICENSE for more information.

Resources

A lot of free resources have been used to develop this project. A huge thanks to the creators of these resources:

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%