Giter Site home page Giter Site logo

demoshell's Introduction

Demo Shell

demoshell is a simplified shell for live demonstrations. It always shows the command prompt at the top of the screen and pushes command output down instead of letting iscroll up.

Huh?

POSIX shells print their output in such a way that it scrolls up and off the top of the screen because they are using tty semantics, which are based on hardware that used to literally print everything on a roll of paper that moved up through the machine and over the top.

It's the 21st century. We don't use paper-based terminals any more. While continuing to pretend we do is fine for day-to-day work, when we are giving live presentations it is not ideal because the most interesting thing you are doing is probably at the bottom of your screen during a live demo. That is the hardest part of the screen for people at the back of the room to see, because it is often blocked by other people's heads.

demoshell avoids this problem by always keeping the command prompt at the top of the screen and showing the output of commands below, pushing older commands off of the bottom of the screen to make space for newer text.

demo.gif

Using demoshell

Install the shell with pip3 (it works best under Python 3):

$ pip3 install demoshell

Run demoshell:

$ demoshell

Run any shell command at the prompt:

$ ls

ls
AUTHORS
ChangeLog
LICENSE
README.rst
demoshell
demoshell.egg-info
dist
requirements.txt
setup.cfg
setup.py
test

Use exit or Ctrl-D to leave the shell.

Use clear to clear the screen.

Config File for DemoShell are in following location:

If running on Mac OS: ~/Library/Application Support/DemoShell/demoshell.ini

If running on Linux: ~/.local/share/DemoShell/demoshell.ini

If running on Windows: C:Documents and Settings<User>Application DataLocal SettingsDoug HellmanDemoShelldemoshell.ini OR: C:Documents and Settings<User>Application DataDoug HellmanDemoShelldemoshell.ini

To add Aliases: Open config file in a text editor Edit "Aliases" section as per example below. alias = alias command. It may look something like below.

[Aliases] ll = ls -la

Resources

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.