@@ -75,10 +75,93 @@ except KeyboardInterrupt:
7575 lazy.stop()
7676```
7777
78+ ## 🎬 Adding Custom Animations
79+
80+ LazyB supports ASCII animations that play while keeping your status active. You can add your own custom animations to the system.
81+
82+ ### Animation File Structure
83+
84+ Animations are stored in the ` animations ` directory, with each animation in its own subdirectory. Each frame should be saved as a separate ` .txt ` file with a numbered sequence.
85+
86+ ** Supported naming formats:**
87+ - ` frame_1.txt ` , ` frame_2.txt ` , ` frame_3.txt ` , ... (frame_NUMBER.txt)
88+ - ` 001_description.txt ` , ` 002_description.txt ` , ` 003_description.txt ` , ... (NUMBER_description.txt)
89+
90+ ** Example structure:**
91+ ```
92+ animations/
93+ ├── my_cool_animation/
94+ │ ├── frame_1.txt
95+ │ ├── frame_2.txt
96+ │ └── frame_3.txt
97+ └── another_animation/
98+ ├── 001_start.txt
99+ ├── 002_middle.txt
100+ └── 003_end.txt
101+ ```
102+
103+ ### Creating Animations from Videos
104+
105+ If you want to convert a video into ASCII animation, follow these steps:
106+
107+ #### Step 1: Convert Video to ASCII Frames
108+
109+ 1 . ** Clone the ASCII Animator tool:**
110+ ``` bash
111+ git clone https://github.com/bradysheridan/ascii-animator.git
112+ cd ascii-animator
113+ ```
114+
115+ 2 . ** Upload your video file** to the ASCII Animator and process it through their system.
116+
117+ 3 . ** Export the output** - you should get a ` frames.js ` file containing an array of ASCII frames.
118+
119+ #### Step 2: Convert Frames to TXT Files
120+
121+ 1 . ** Place the ` frames.js ` file** in your LazyB ` animations ` directory.
122+
123+ 2 . ** Run the conversion script** (requires Node.js):
124+ ``` bash
125+ # Install Node.js if not already installed
126+ # Visit https://nodejs.org/ or use package manager
127+
128+ cd animations
129+ node convertFramesToTxt.js
130+ ```
131+
132+ 3 . ** Follow the prompts** to name your animation directory (avoid spaces and special characters).
133+
134+ 4 . ** The script will create** a new directory with all frames converted to individual ` .txt ` files.
135+
136+ #### Step 3: Test Your Animation
137+
138+ 1 . ** Run LazyB** and your new animation should appear in the selection menu:
139+ ``` bash
140+ lazy-b
141+ ```
142+
143+ 2 . ** Use arrow keys** to navigate and select your animation.
144+
145+ ### Animation Guidelines
146+
147+ - ** File naming** : Frames must be numbered sequentially starting from 1
148+ - ** File format** : Plain text (` .txt ` ) files with UTF-8 encoding
149+ - ** Frame size** : Recommended maximum 80 characters wide for terminal compatibility
150+ - ** Frame rate** : Default is 0.2 seconds per frame (5 FPS), configurable
151+ - ** Directory naming** : Use underscores instead of spaces, avoid special characters
152+
153+ ### Troubleshooting
154+
155+ - ** Animation not showing up?** Check that frame files follow the naming convention
156+ - ** Frames out of order?** Ensure sequential numbering without gaps
157+ - ** Display issues?** Verify files are UTF-8 encoded and frames aren't too wide
158+
78159## Features
79160
80161- Prevents "away" or "inactive" status in messaging applications
81- - Customizable interval between key presses (default: 1 second)
162+ - ** 🎬 ASCII Animation Support** : Display entertaining animations while keeping your status active
163+ - Interactive animation selection menu with live preview
164+ - Customizable interval between key presses (default: 3 minutes)
82165- Simple command-line interface
83166- Cross-platform: Works on macOS, Windows, and Linux
84167- Background mode on macOS (no dock icon)
@@ -121,10 +204,15 @@ Pushing a tag will automatically trigger the release workflow, which will:
121204
122205## Requirements
123206
207+ ### Runtime Requirements
124208- Python 3.8 or higher
125209- PyAutoGUI
126210- PyObjC-Core (for macOS dock icon hiding, optional)
127211
212+ ### Animation Development Requirements (Optional)
213+ - Node.js (for running the frame conversion script)
214+ - Access to [ ASCII Animator] ( https://github.com/bradysheridan/ascii-animator ) for video-to-ASCII conversion
215+
128216## License
129217
130218MIT
0 commit comments