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 colorsvim- Classic Vim color schemegithub-dark- GitHub's dark themedracula- Popular dark themesolarized-dark- Solarized dark variantnord- Arctic-inspired color palette
Controls
- Press
qto quit at any time
Requirements
- Python 3.8+
- Terminal with 256-color support
- Unix-like system (Linux, macOS) with curses support
How It Works
- Scans the specified directory for source files
- Uses Pygments to syntax highlight the code with your chosen theme
- Displays the code character-by-character with realistic typing animation
- Automatically scrolls and manages the display using curses
- 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b0cb99fda6d8a086d67d2c30acd664814fc37f3551e3fa5a4c7939f96391e151
|
|
| MD5 |
84973d4aaed074714b0a46e5e42fd4f0
|
|
| BLAKE2b-256 |
7cf9b103e6b1af5c41d1af3e6f640665126d8511c8b95c1249505cc2460ce9c4
|
File details
Details for the file coder_screensaver-0.1.3-py3-none-any.whl.
File metadata
- Download URL: coder_screensaver-0.1.3-py3-none-any.whl
- Upload date:
- Size: 8.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9881e9786cc9923e75b86dd89123bf88966c36e7854d388b7701d46ab13c3570
|
|
| MD5 |
017931b935f3adf635a91b992ed30aa0
|
|
| BLAKE2b-256 |
5f1027f65ceb7ac608fd61759bb5bbe9f60394393be7f0db9234e68566829e17
|