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.2.tar.gz (8.4 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.2-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: coder_screensaver-0.1.2.tar.gz
  • Upload date:
  • Size: 8.4 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.2.tar.gz
Algorithm Hash digest
SHA256 99243c37c3af5938ea4a8978c1092990f4bb8353cfe712abb29db5b1a57ec40a
MD5 50c14b9edf9791c240c1b673a7733d5c
BLAKE2b-256 d85552c27b1c6ea5b41d0bb6995d08eca79f15d40cdac132644ffc0cccf26b58

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coder_screensaver-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a51e9e49dcd68a87c3b30a3590312f24cdaaeb9efddef128d2720d17e5215ed2
MD5 189cf9f70061761f500b2fd21501f4da
BLAKE2b-256 77857934c24cc32dfd02d1a66a696efb03c69531fb3e528351cd220a165c68e6

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