Skip to main content

Animated code screensaver with syntax highlighting - displays source code as if being typed in real-time

Project description

Coder Screensaver

Animated code screensaver with syntax highlighting - displays source code as if being typed in real-time in a terminal, with an editor-like UI.

Features

  • ๐ŸŽจ Syntax Highlighting: Full Pygments support with 256 colors
  • ๐ŸŽญ Multiple Themes: Choose from any Pygments style (monokai, vim, github-dark, etc.)
  • ๐ŸŒˆ Theme-Aware UI: Menu and status bar colors adapt to match the selected theme
  • ๐Ÿ“ Editor-like UI: Emacs-inspired menu bar and status line
  • ๐Ÿ”„ Auto-scrolling: Smooth scrolling as code is typed
  • ๐ŸŽฏ Multi-language: Supports Python, C/C++, Rust, Go, JavaScript, TypeScript, Java, and more
  • โšก Customizable Speed: Adjust typing speed with millisecond precision
  • ๐ŸŽฌ Realistic Typing: Pauses between words for natural flow

Installation

From PyPI (once published)

pip install coder-screensaver

From Source

git clone https://github.com/sinanislekdemir/coder-screensaver.git
cd coder-screensaver
pip install -e .

Usage

Basic Usage

# Type files in current directory
coder-screensaver

# Type files in a specific directory
coder-screensaver /path/to/code

# Customize typing speed and style
coder-screensaver --delay 50 --style dracula

coder-screensaver /path/to/source

Type a specific file

coder-screensaver myfile.py


### Advanced Options

```bash
# Faster typing (10ms delay)
coder-screensaver --delay 10

# Use different syntax theme
coder-screensaver --style vim

# Custom pause between files
coder-screensaver --pause 2.0

# Combine options
coder-screensaver ~/projects/myapp --delay 20 --style github-dark --pause 1.5

Command-line Options

  • path: Path to source directory or file (default: current directory)
  • -d, --delay: Delay in milliseconds between characters (default: 35)
  • -s, --style: Pygments style name (default: monokai)
  • -p, --pause: Pause in seconds between files (default: 1.0)
  • --list-styles: List all available Pygments styles and exit

Available Styles

List all available Pygments themes:

coder-screensaver --list-styles

Some popular Pygments styles:

  • monokai (default) - Dark theme with vibrant colors
  • vim - Classic Vim color scheme
  • github-dark - GitHub's dark theme
  • dracula - Popular dark theme
  • solarized-dark - Solarized dark variant
  • nord - Arctic-inspired color palette

Controls

  • Press q to quit at any time

Requirements

  • Python 3.8+
  • Terminal with 256-color support
  • Unix-like system (Linux, macOS) with curses support

How It Works

  1. Scans the specified directory for source files
  2. Uses Pygments to syntax highlight the code with your chosen theme
  3. Displays the code character-by-character with realistic typing animation
  4. Automatically scrolls and manages the display using curses
  5. Loops through files continuously

Examples

Demo Recording

Watch code being typed in real-time with syntax highlighting in your terminal!

Screenshot

image
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ File  Edit  Options  Buffers  Tools  Lisp-Interaction  Help    โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ #include <iostream>                                             โ”‚
โ”‚ using namespace std;                                            โ”‚
โ”‚                                                                 โ”‚
โ”‚ int main() {                                                    โ”‚
โ”‚     string name = "world";                                      โ”‚
โ”‚     cout << "Hello " << name << endl;โ–ˆ                          โ”‚
โ”‚     return 0;                                                   โ”‚
โ”‚ }                                                               โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ -UUU:----F1  example.cpp   (C++)                               โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

License

MIT License - see LICENSE file for details

Contributing

Contributions are welcome! Please feel free to submit a Pull Request at https://github.com/sinanislekdemir/coder-screensaver

Author

Created by Sinan Islekdemir

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

coder_screensaver-0.1.3.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

coder_screensaver-0.1.3-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file coder_screensaver-0.1.3.tar.gz.

File metadata

  • Download URL: coder_screensaver-0.1.3.tar.gz
  • Upload date:
  • Size: 8.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for coder_screensaver-0.1.3.tar.gz
Algorithm Hash digest
SHA256 b0cb99fda6d8a086d67d2c30acd664814fc37f3551e3fa5a4c7939f96391e151
MD5 84973d4aaed074714b0a46e5e42fd4f0
BLAKE2b-256 7cf9b103e6b1af5c41d1af3e6f640665126d8511c8b95c1249505cc2460ce9c4

See more details on using hashes here.

File details

Details for the file coder_screensaver-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for coder_screensaver-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9881e9786cc9923e75b86dd89123bf88966c36e7854d388b7701d46ab13c3570
MD5 017931b935f3adf635a91b992ed30aa0
BLAKE2b-256 5f1027f65ceb7ac608fd61759bb5bbe9f60394393be7f0db9234e68566829e17

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page