From 48cbb457abf8283f5c45de6a51362680d82486e7 Mon Sep 17 00:00:00 2001 From: tittu Date: Tue, 30 Jun 2026 02:03:45 +0530 Subject: [PATCH] readme update --- README.md | 22 +++++++++++----------- src/wayland.rs | 8 ++++---- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 009b38a..20df7fb 100644 --- a/README.md +++ b/README.md @@ -10,11 +10,11 @@ Use `wallbash` as a core component of your Wayland desktop environment — set w ## Features -- GPU acceleration powered by `vulkan` for smooth, high‑performance rendering -- Dynamic color palette generation based on Material Design with `auto`, `dark`, and `light` modes -- Built for Wayland, using the `layer-shell` protocol for seamless integration -- Scale the image to your liking using `cover`, `fit`, or `original` modes -- Precise anchor point positioning from `1` to `9` for fine‑tuned wallpaper placement +- GPU acceleration powered by Vulkan for smooth, high‑performance rendering +- Built for seamless integration with your Wayland compositor +- Dynamic color palette generation based on Material Design with auto, dark, and light modes +- Scale the image to your liking using cover, fit, or original modes +- Precise anchor point positioning from 1 to 9 for fine‑tuned wallpaper placement - Automatic background blur fill for mismatched aspect ratios, eliminating black bars - Fluid transitions and animations* - Multi-monitor support* @@ -52,20 +52,20 @@ wallbash set [option] Wallbash is a **single binary** that can run in two modes: -- **Client Mode:** Run `wallbash set --wall ...` to set a wallpaper. The command either: +- **Client Mode:** Run wallbash set --wall ... to set a wallpaper. The command either: - Connects to an existing daemon and sends the command, or - Starts the daemon automatically if it's not already running, then sends the command. -- **Daemon Mode:** Run `wallbash start` to explicitly launch the daemon, or let it be started automatically on first use. The daemon: +- **Daemon Mode:** Run wallbash start to explicitly launch the daemon, or let it be started automatically on first use. The daemon: - Manages the Wayland surface and Vulkan rendering pipeline. - - Listens for commands via a Unix socket (`/tmp/wallbash.sock`). - - Persists in the background until stopped with `wallbash stop`. + - Listens for commands via a Unix socket (/tmp/wallbash.sock). + - Persists in the background until stopped with wallbash stop. The core **modules** are structured as: - **main.rs** The CLI entry point. Parses command-line arguments and routes them to the appropriate handler (start, stop, set, status). It also manages the daemon lifecycle and socket communication. -- **wallbash.rs** The core daemon logic. Manages server, handles incoming commands, and coordinates the rendering pipeline. It acts as the central controller for other modules. -- **wayland.rs** Handles the Wayland connection. Creates and manages the surface, sets up the output, and handles window events. This is the interface between wallbash and your Wayland compositor. +- **wallbash.rs** The core daemon logic. Manages IPC server, incoming commands, and coordinates wayland and rendering pipeline. It acts as the central controller for other modules. +- **wayland.rs** Handles the Wayland connection. Creates and manages the surface, sets up the output, and window events. This is the interface between wallbash and your Wayland compositor. - **vulkan.rs** Handles the GPU initialization, texture creation, shader compilation, and draws the wallpaper surface using Vulkan. This provides the image rendering pipeline. - **filters.rs** Applies Vulkan compute shaders which currently implements a blur effect for the background. The module is designed to be extensible for additional filters in future. - **colors.rs** Extracts the dominant color from the wallpaper using k-means clustering, converts colors and generates a color palette. It's then deployed to your config files based on templates. diff --git a/src/wayland.rs b/src/wayland.rs index 4e4e441..2eecd90 100644 --- a/src/wayland.rs +++ b/src/wayland.rs @@ -61,12 +61,12 @@ impl Dispatch for AppData { "wl_compositor" => { let compositor = registry.bind::(name, version, qh, ()); state.compositor = Some(compositor); - println!("[w{}] ✓ {} (v{})", name, interface, version); + println!("[w{}] {} (v{})", name, interface, version); } "zwlr_layer_shell_v1" => { let layer_shell = registry.bind::(name, version, qh, ()); state.layer_shell = Some(layer_shell); - println!("[w{}] ✓ {} (v{})", name, interface, version); + println!("[w{}] {} (v{})", name, interface, version); } "wl_output" => { let index = state.monitors.len(); @@ -79,9 +79,9 @@ impl Dispatch for AppData { refresh: 0, detected: false, }); - println!("[w{}] ✓ {} (v{})", name, interface, version); + println!("[w{}] {} (v{})", name, interface, version); } - _ => println!("[w{}] {} (v{})", name, interface, version) + _ => {} } } }