Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hqnnqh/buddy
interactive coding buddy
https://github.com/hqnnqh/buddy
gtk4-layer-shell gtk4-rs rust
Last synced: 3 months ago
JSON representation
interactive coding buddy
- Host: GitHub
- URL: https://github.com/hqnnqh/buddy
- Owner: Hqnnqh
- License: mit
- Created: 2024-05-18T16:55:37.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-11-15T09:30:28.000Z (3 months ago)
- Last Synced: 2024-11-15T09:45:42.880Z (3 months ago)
- Topics: gtk4-layer-shell, gtk4-rs, rust
- Language: Rust
- Homepage:
- Size: 109 KB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# buddy
**Buddy** is here to keep you company while you work on your computer! Itโs an animated, interactive little friend that floats around your screen, responding to your clicks and bringing smiles to your day. ๐
## Features ๐
- **Interactive Animations**: Your Buddy reacts to clicks and moves around on the screen.
- **Custom Sprites**: Load your own sprites for animations! Buddy adapts to any character you want.
- **Adjustable Settings**: Set your Buddyโs size, animation speed, movement speed, and more!
- **Configurable Events**: Make Buddy surprise you with random events on click!## Prerequisites ๐ ๏ธ
To run Buddy, youโll need the following:- **Rust**: Make sure you have Rust installed. If not, head over to [Rustโs official website](https://www.rust-lang.org/tools/install) for installation instructions.
- **GTK4**: Buddy uses GTK4 for rendering the character. You can install it on Linux by running:```bash
sudo apt install libgtk-4-dev
```## Installation โ๏ธ
1. Clone the repository to your local machine:```bash
git clone https://github.com/Hqnnqh/buddy.git
cd buddy
```2. Build the project using cargo
```bash
cargo build --release
```## How to Run ๐โโ๏ธ
Simply run the following command to see Buddy in action:```bash
buddy -h
```
You'll get all the help you need to configure your Buddy.## Reloading Sprites On-the-Fly
Want to update Buddy's appearance without restarting the program? Buddy can receive signals to reload the sprites:```bash
kill -SIGUSR1
```
> Send SIGUSR1 or SIGUSR2Replace with the process ID of the Buddy instance. This will trigger Buddy to reload the sprite animations dynamically
## Custom Sprites ๐จ
Buddy thrives on customization! Just provide a directory containing different subdirectories for each event type (`idle`, `click`, `run`), and watch your Buddy come to life with your own animations.
## Need to Resize Your Sprites? ๐ง
Weโve got you covered! Check out the `res` folder for a handy script to resize your images. Just adjust the scaling factor to match your desired size.