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

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ 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.1.tar.gz (7.8 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.1-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: coder_screensaver-0.1.1.tar.gz
  • Upload date:
  • Size: 7.8 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.1.tar.gz
Algorithm Hash digest
SHA256 1944bdb6658a1d6ceb56030b06cd6a092a4f062e07cd2524fb06498d21aa4378
MD5 ab330dae65ef76188cc729906740fdf2
BLAKE2b-256 d5916393647cae7e6af183a127523bd1880f0ac88b1b8ae5ea5b4feefdab29c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coder_screensaver-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8b5b81192e8a4c8c466c2598ecf9bf42de1b7154894de0aa21dd37cf1f3009c2
MD5 dd30043084d56feed6b064d67fdc5891
BLAKE2b-256 174a4b7064b0358d58a56584a0feeff89aaea49e1bf25d58b334b85ec6b5b2e3

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