Woopaper is a program written in Rust that allows you to change your wallpaper quickly and easily using keyboard shortcuts or the command line. It also includes features such as showing the current wallpaper as a notification, and easily deleting the image or opening it in the default image viewer.
This program's predecessor is chinguRandomWallpaper and have decided to improve it in rust
To build woopaper from scratch , you'll need to have Rust installed on your system. You can install Rust by following the instructions here.
Once Rust is installed, you can download and compile the woopaper program by cloning this repository and running the following command:
git clone https://github.com/Rdkang/woopaper
- This will compile the wooclock program and create an executable file in the
target/release
directory. And could can put in your chosen location and run like any other program.
cargo build --release
-
Or while in cloned directory do
cargo install --path .
which will install to your cargo home directory -
Or just download the executable from the github's release page
Woopaper has two subcommands: open
and wallpaper
.
open
subcommand
The open subcommand allows you to open the current wallpaper in a specified image viewer. The following flags are available:
manager
: Opens the wallpaper directory in your file manager.sxiv
: Opens the wallpaper in the sxiv image viewer.viewer
: Opens the wallpaper in the default image viewer.
Example usage:
Will open the current wallpaper in your default file manager so that you can do what you want with it
woopaper open manager
wallpaper
subcommand
The wallpaper subcommand allows you to change the wallpaper and perform other actions related to wallpapers. The following flags are available:
random
: Sets a random wallpaper from the wallpaper directory.status
: Shows the current wallpaper and its file path.trash
: Moves the current wallpaper to the trash directory.fzf
: allows you to interactively choose the wallpaper using fzf (using skim)
Example usage:
Will set a random wallpaper
woopaper wallpaper random
By default, the program will use the ~/Pictures/Wallpapers/
directory to get wallpapers. You can change this in config file at ~/.config/woopaper/config.toml
The default config file is stored in ~/.config/woopaper/config.toml
the following options:
path
(path) : path to where want the program get it's wallpapersheight
(integer) : the minimum height of the wallpaper image, otherwise will be skippedwidth
(integer) : the minimum width of the wallpaper image, otherwise will be skippednotify_problem
(boolean) : if the program will show a notification when the image doesn't meet the minimum size requirements. false will just skip that image and try the next one
- Notification with current wallpaper and can click on it for common actions such as [trash,open in file manager, open in image viewer]
- TODO: set wallpaper by given path
- TODO: open 20 wallpapers in sxiv to be set
- TODO: make some of the notifications automatically disappear
- DONE: favorite wallpapers
- DONE: fuzzy through favorite wallpapers
- DONE: fuzzy find through wallpapers
- DONE: file manager
- DONE: random
- DONE: trash
- DONE: sxiv
- DONE: notifications
- DONE: config file
- TODO: kde support. if kde and then set as kde