Metadata-Version: 2.4
Name: coder-screensaver
Version: 0.1.1
Summary: Animated code screensaver with syntax highlighting - displays source code as if being typed in real-time
Author-email: Sinan Islekdemir <sinan@islekdemir.com>
License: MIT
Project-URL: Homepage, https://github.com/sinanislekdemir/coder-screensaver
Project-URL: Repository, https://github.com/sinanislekdemir/coder-screensaver
Project-URL: Issues, https://github.com/sinanislekdemir/coder-screensaver/issues
Keywords: screensaver,code,syntax-highlighting,terminal,animation,typing
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console :: Curses
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development
Classifier: Topic :: Terminals
Classifier: Topic :: Text Editors
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pygments>=2.0.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: black>=23.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Dynamic: license-file

# 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)

```bash
pip install coder-screensaver
```

### From Source

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

## Usage

### Basic Usage

```bash
# 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:

```bash
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
