| Crates.io | anny-dock |
| lib.rs | anny-dock |
| version | 0.0.4 |
| created_at | 2025-05-21 16:24:41.128874+00 |
| updated_at | 2025-06-24 15:16:50.521992+00 |
| description | A modern, animated dock for Hyprland built with Rust and Bevy Engine |
| homepage | |
| repository | https://github.com/horberlan/anny-dock |
| max_upload_size | |
| id | 1683616 |
| size | 2,399,173 |
A modern, animated dock for Hyprland built with Rust and Bevy Engine. Currently exclusive to Hyprland, with plans to support other window managers in the future.
Note: This is my first Rust project! While I'm committed to writing clean and efficient code, I'm also learning along the way. Feedback and suggestions are greatly appreciated as I explore Rust's capabilities and best practices.
Features • Installation • Usage • Configuration • Contributing
# Clone the repository
git clone https://github.com/horberlan/anny-dock.git
# Enter the directory
cd anny-dock
# Build the project
cargo build --release
# Run anny-dock
cargo run --release
anny-dock's configuration can be customized through a TOML file located at ~/.config/anny-dock/config.toml. The configuration system includes:
[config]
visible_items = 8 # Number of items visible in the list
margin_x = 85.0 # Horizontal margin from screen edge
margin_y = 50.0 # Vertical margin from screen edge
spacing = 40.0 # Space between icons
z_spacing = 2.0 # Depth spacing for 3D effect
base_scale = 1.2 # Base icon scale
scale_factor = 0.9 # Scale factor for animations
scroll_speed = 15.0 # Scroll sensitivity
tilt_y = 0.25 # Inclination factor (0.0 = horizontal, 0.5 = strong diagonal)
icon_size = 56.0 # Base size of icons
~/.config/anny-dock/config.tomlConfig structtilt_y)tilt_y field controls the inclination of the dock towards the center of the screen.tilt_y: 0.25 makes the dock point to a spot 25% of the screen height above the center.anny-dock is built using a modern ECS architecture with Bevy:
HoverTarget: Manages hover states and animationsClientIcon: Handles icon rendering and scalingScrollState: Controls scroll behaviorDockConfig: Manages dock configuration# Debug build
cargo build
# Release build
cargo build --release
# Run tests
cargo test
We welcome contributions! Please see our Contributing Guidelines for details.
As this is my first Rust project, I'm particularly open to:
This project is licensed under the MIT License - see the LICENSE file for details.