A command line application which sets your wall paper with new image generating pollens once they arrive.

Overview

pollenwall

Table of Contents

About

pollenwall is a little command line app which sets your wallpaper with incoming image generating pollens once they arrive from pollinations.ai.

Installation

After downloading, add it to an appropriate place in your file system which is included in your PATH variable and run pollenwall in command line.

If you wish you can navigate to the folder where pollenwall is and run it like the following ./pollenwall.

If mac doesn't let you run the app please remove the extended attributes on the app. xattr -d com.apple.quarantine <path-to-app>

Binary releases

Check the releases page to download pollenwall.

Build from source

You need Rust to be installed on your system to build pollenwall.

For doing a debug build just run cargo build in repository root. For doing a release build just run cargo build --release in repository root.

I have only tested building on an arm based mac, if you have issues building or running on other platforms please create an issue and I'll test and add instructions.

If you're using a mac and want to cross compile to all supported platforms as well as build a universal binary for mac you may use cargo-make.

cargo install --force cargo-make

Setup your environment

cargo make install-targets
cargo make setup-cross-compilation-environment-mac-host

Build for all supported platforms

cargo make build

For more granular control you may check Makefile.toml

Alternatively you may use just

Setup your environment

just prepare-mac

Build for all supported platforms

just build

Outputs could be found in target folder.

Usage

Just run the app, it is as simple as that.

Hint: Don't forget to try the attach mode! pollenwall -a

Command Line Arguments

pollenwall [OPTIONS]

Options:

-a, --attach
        Attach to a random processing pollen until its evolution is done.

    --address <addr>
        You may give a custom address to pollinations ipfs node.

-c, --clean
        Remove images in "~/.pollenwall" directory.

    --generate-service <generate-service>
        Generates a service file depending on the platform and saves it to "~/.pollenwall"
        folder.

-h, --help
        Print help information

    --home <home>
        If "pollenwall" couldn't determine your home directory, to help it please run it with
        "--home <absolute-path-to-your-home-directory>"

-V, --version
        Print version information

Running as a service

Currently only macos and linux is supported for this mode.

To run pollenwall in the background as a user service first generate the service with,

# With no arguments,
pollenwall --generate-service
# If you would like to give pollenwall arguments
pollenwall --generate-service="<space-separated-args>"
# Example (running in attach mode)
pollenwall --generate-service="-a"

You'll find the generated service located in ~/.pollenwall

MacOS

To register the service to run at startup please paste this script to your terminal and run it,

cd ~/.pollenwall &&
# Copy to a location where systemd can see it
cp com.pollinations.pollenwall.plist ~/Library/LaunchAgents &&
# Enable the service to run at startup
launchctl load ~/Library/LaunchAgents/com.pollinations.pollenwall.plist

To remove the service from startup please run,

# Disable service to run at startup
launchctl unload ~/Library/LaunchAgents/com.pollinations.pollenwall.plist &&
# Remove the service
rm ~/Library/LaunchAgents/com.pollinations.pollenwall.plist

While the service is running you may use these commands to control the service,

Start

launchctl start com.pollinations.pollenwall

Stop

launchctl stop com.pollinations.pollenwall

Restart

launchctl restart com.pollinations.pollenwall

Trace logs

tail -f ~/.pollenwall/com.pollinations.pollenwall.log

Linux

To register the service to run at startup please paste this script to your terminal and run it,

cd ~/.pollenwall &&
# Copy to a location where systemd can see it
sudo cp pollenwall.service /etc/systemd/user &&
# Enable the service to run at startup
systemctl --user enable pollenwall.service

To remove the service from startup please run,

# Disable service to run at startup
systemctl --user disable pollenwall.service &&
# Remove the service
sudo rm /etc/systemd/user/pollenwall.service

While the service is running you may use these commands to control the service,

Start

systemctl --user start pollenwall.service

Stop

systemctl --user stop pollenwall.service

Restart

systemctl --user restart pollenwall.service

Trace logs

sudo tail -f /var/log/syslog

App Folder

App folder where pollenwall stores the pollens is located in your home directory with the name .pollenwall.

Road Map

  • Download other artifacts about a pollens (in progress)
  • Give option to exclude or include different models in attach mode
  • Show the count of processing pollens in the app output
  • Make pollen storage volatile
  • Support Windows
  • Support Linux
  • Add attach to processing pollen mode
  • Support video or GIF wall papers in supported platforms
  • Add a run at startup option
  • Publish to package managers for easy installation

Changelog

All notable changes to this project will be documented under this part.

  • 0.2.0
    • Count of processing pollens in the output
    • Attach mode
    • Volatile storage
    • Support Windows
    • Support Linux (x86_64, ARM)
  • 0.1.0
    • Initial release

License

MIT License

Copyright

Copyright © 2021, pollinations-contributors

You might also like...
Small command-line tool to switch monitor inputs from command line

swmon Small command-line tool to switch monitor inputs from command line Installation git clone https://github.com/cr1901/swmon cargo install --path .

SKYULL is a command-line interface (CLI) in development that creates REST API project structure templates with the aim of making it easy and fast to start a new project.

SKYULL is a command-line interface (CLI) in development that creates REST API project structure templates with the aim of making it easy and fast to start a new project. With just a few primary configurations, such as project name, you can get started quickly.

Shell Of A New Machine: Quickly configure new environments

Shell Of A New Machine soanm is a dead-simple tool for easily configuring new UNIX machines, with almost zero prerequisites on the target machine. All

Command-Line program that takes images and produces the copy of the image with a thin frame and palette made of the 10 most frequent colors.
Command-Line program that takes images and produces the copy of the image with a thin frame and palette made of the 10 most frequent colors.

paleatra v.0.0.1 Command-Line program that takes an image and produces the copy of the image with a thin frame and palette made of the 10 most frequen

A command-line tool and Docker image to automatically backup Git repositories from GitHub or anywhere

A command-line tool and Docker image to automatically backup Git repositories from GitHub or anywhere

Desmos command-line image uploader.

🧮 demsos Desmos command-line image uploader. 🗺️ Features Support for a "vanity hash" (10 character limit) Upload raw image to the graph and the embe

Conference Monitoring Project based on Image Recognition that uses Rust Language and AWS Rekognition service to get the level of image similarity.

Conference Monitoring System based on Image Recognition in Rust This is a Conference Monitoring Project based on Image Recognition that uses Rust Lang

A system clipboard command line tools which inspired by pbcopy & pbpaste but better to use.

rclip A command line tool which supports copy a file contents to the system clipboard or copy the contents of the system clipboard to a file. Install

A command-line utility which aligns a block of text within the terminal (or a specified number of columns), written in Rust.
A command-line utility which aligns a block of text within the terminal (or a specified number of columns), written in Rust.

align: a command line utility for aligning text. ⭐ Overview Aligns text within the terminal (or a specified number of columns). The text is treated as

Releases(v0.2.0)
Owner
Pollinations.AI
Make generative art
Pollinations.AI
Dash is a CLI tool that rapidly sets up new projects by running a series of pre-defined commands.

Dash Dash is a CLI tool that rapidly sets up new projects by running a series of pre-defined commands. Features Quick Initialization: Initialize the c

Kunal Bagaria 4 Nov 7, 2023
A filesystem driver that allows you to view your Blackboard course contents as if they were normal files and folders on your system!

BlackboardFS Blackboard: noun A website so bad that it might as well be a network drive. BlackboardFS is a filesystem driver that allows you to view y

null 22 Sep 4, 2023
A command-line tool aiming to upload the local image used in your markdown file to the GitHub repo and replace the local file path with the returned URL.

Pup A command line tool aiming to upload the local image used in your markdown file to the GitHub repo and replace the local file path with the return

SteveLau 11 Aug 17, 2022
A command line tool for easily generating multiple versions of a configuration file from a single template

MultiConf A command line tool for easily generating multiple versions of a configuration file from a single template. Why? I'm a big fan of the i3 win

Ian Clarke 4 Dec 10, 2022
omekasy is a command line application that converts alphanumeric characters in your input to various styles defined in Unicode.

omekasy is a command line application that converts alphanumeric characters in your input to various styles defined in Unicode. omekasy means "dress up" in Japanese.

null 105 Nov 16, 2022
A robust, customizable, blazingly-fast, efficient and easy-to-use command line application to uwu'ify your text!

uwuifyy A robust, customizable, blazingly-fast, efficient and easy-to-use command line application to uwu'ify your text! Logo Credits: Jade Nelson Tab

Hamothy 43 Dec 12, 2022
Store your transfer.sh links, so you can remember them later and know when they will expire, but now written in Rust.

Transfer.sh helper Rusted The idea of the script is to store your transfer.sh links and simplify its usage, so you can remember them later and know wh

Reinaldo Rozato Junior 10 Nov 30, 2022
Catch Tailwindcss Errors at Compile-Time Before They Catch You, without making any change to your code! Supports overriding, extending, custom classes, custom modifiers, Plugins and many more 🚀🔥🦀

twust Twust is a powerful static checker in rust for TailwindCSS class names at compile-time. Table of Contents Overview Installation Usage Statement

null 15 Nov 8, 2023
Sets of libraries and tools to write applications and libraries mixing OCaml and Rust

Sets of libraries and tools to write applications and libraries mixing OCaml and Rust. These libraries will help keeping your types and data structures synchronized, and enable seamless exchange between OCaml and Rust

Meta 36 Jan 28, 2023