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.0.tar.gz (7.2 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.0-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: coder_screensaver-0.1.0.tar.gz
  • Upload date:
  • Size: 7.2 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.0.tar.gz
Algorithm Hash digest
SHA256 30e0bac22041d32ac9ca8c7bddfe6d0a7fe4281d89b78f2bfc5343f0d07e4249
MD5 19ca9d1c9e435395ea0179c5c95c8c6d
BLAKE2b-256 e059ca7737872dc2252ef70859a6a42e1e4c6147379a3bb8ab2411f8bf01873f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coder_screensaver-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f87a8b8ff8733110b635ec28a7b2beafe29989f5e33eb2d845ca620fb9a7d3d4
MD5 5337440d31adcacdf0dde645de7ad8fb
BLAKE2b-256 6dcb6859f186f03ae847186fec82239e49963dba619af448a42eb12592472943

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