Skip to content

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

License

Notifications You must be signed in to change notification settings

pollinations/pollenwall

Repository files navigation

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

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages