Skip to main content

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

Release files for demoshell 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for demoshell 0.2.0
File Size Uploaded
demoshell-0.2.0.tar.gz 166.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for demoshell 0.2.0
File Interpreter ABI Platform
demoshell-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 173.6 kB

Release files / demoshell-0.2.0.tar.gz

Download URL demoshell-0.2.0.tar.gz
Size 166.5 kB
Tags Source
SHA-256 checksum
How to use checksums
ff962068ee0124917f8ddcd9d69636a2cbc8ad058246fadedb78698959916c17
BLAKE2b-256 checksum
How to use checksums
0598f6d6dcb61dd5c5bc4c4294709e6745148c8cd3c26fed70e6bc119b4a6c5c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / demoshell-0.2.0-py3-none-any.whl

Download URL demoshell-0.2.0-py3-none-any.whl
Size 7.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a9e3357c12e2671d3c73ebf9ca53090616bcf8281142737078a68a42781e988d
BLAKE2b-256 checksum
How to use checksums
e3b7f480e60ac3004abee5c61b7f69488030a1d61a4a14cf60cb15e7894cc6e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page