Skip to content

Modern wallpaper manager for Linux, built with Rust and Iced framework

License

Notifications You must be signed in to change notification settings

asce4s/wallity-iced

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wallity

Work In Progress
This project is currently under active development. Features may be incomplete or subject to change.

image

A desktop wallpaper manager built with Rust and Iced, designed for Wayland/Hyprland environments.

Platform Support

This application is specifically designed for:

  • Wayland compositors

Features

  • Browse and manage wallpapers
  • Virtual scrolling for performance
  • Keyboard navigation support
  • Thumbnail generation and caching
  • Config file support

Tech Stack

  • Language: Rust (Edition 2024)
  • UI: Iced 0.14 (wgpu + image features)
  • Image Processing: image
  • Parallel Processing: rayon
  • Configuration: serde + toml + once_cell

Installation

AUR (Arch Linux)

Install the latest git version using your preferred AUR helper:

# Using paru
paru -S wallity-git

# Using yay
yay -S wallity-git

# Manually with makepkg
git clone https://aur.archlinux.org/wallity-git.git
cd wallity-git
makepkg -si

From Source

  1. Clone the repository:

    git clone https://github.com/asce4s/wallity-iced.git
    cd wallity-iced
  2. Build the application:

    cargo build --release
  3. The built binary will be available at:

    target/release/wallity
  4. (Optional) Copy the binary to your PATH:

    sudo cp target/release/wallity /usr/local/bin/

System Requirements

  • Linux with Wayland compositor (tested with Hyprland)
  • One of the following wallpaper setters:
    • hyprpaper
    • swww
    • Any other tool that can read from a file path

First Run

  1. Create the config directory:

    mkdir -p ~/.config/wallity
  2. (Optional) Create a config file ~/.config/wallity/wallity.toml with your settings (see Configuration section below)

  3. Ensure you have wallpapers in ~/Pictures/wallpapers or configure a custom path in the config file

Development

Prerequisites

Running the Application

Development Mode

cargo run

Build for Production

cargo build --release

Configuration

The application reads configuration from ~/.config/wallity/wallity.toml. If the file does not exist, default values are used.

Config File Location

~/.config/wallity/wallity.toml

Configuration Options

Create or edit the config file with the following options:

# Path to the directory containing wallpapers
# Default: ~/Pictures/wallpapers
wallpaper_path = "~/Pictures/wallpapers"

# Path where the current wallpaper symlink will be created
# This symlink points to the currently selected wallpaper
# Default: ~/.config/wallity/.current_wallpaper
current_wallpaper = "~/.config/wallity/.current_wallpaper"

# Script to execute after setting a wallpaper
# For Hyprland, you might use:
# hyprctl hyprpaper wallpaper "eDP-1,~/.config/wallity/.current_wallpaper"
# Default: "" (empty)
post_script = ""

# Directory where thumbnail cache is stored
# Default: ~/.cache/wallity/thumbnails
cache_path = "~/.cache/wallity/thumbnails"

Example Configuration

For Hyprland with hyprpaper

wallpaper_path = "~/Pictures/wallpapers"
current_wallpaper = "~/.config/wallity/.current_wallpaper"
post_script = "hyprctl hyprpaper wallpaper 'eDP-1,~/.config/wallity/.current_wallpaper'"
cache_path = "~/.cache/wallity/thumbnails"

For Hyprland with swww

wallpaper_path = "~/Pictures/wallpapers"
current_wallpaper = "~/.config/wallity/.current_wallpaper"
post_script = "swww img ~/.config/wallity/.current_wallpaper"
cache_path = "~/.cache/wallity/thumbnails"

Notes

  • All paths support tilde (~) expansion
  • The post_script is executed after the wallpaper symlink is created
  • The config and cache directories are created automatically if needed

License

This project is open source and available under the MIT License.

About

Modern wallpaper manager for Linux, built with Rust and Iced framework

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •