npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

wallswitch

v0.2.1

Published

Minimalist wallpaper changer for Linux, Windows and macOS: automatic wallpaper rotation (slideshow), tray icon, global keyboard shortcuts and CLI.

Readme

wallswitch: grid of wallpapers, blue outline marks images in the carousel and green marks the current wallpaper

What is wallswitch?

wallswitch is a free, open-source desktop app that changes your wallpaper automatically. You pick the images you like (a carousel), choose how often they rotate, and wallswitch keeps running quietly in the system tray. It works on Ubuntu and other GNOME desktops, Windows 10/11 and macOS, and installs with a single npm command.

Features

  • 🖼️ Wallpaper carousel — click images to add them; rotate every 1 minute to 1 day.
  • ⏱️ Automatic wallpaper rotation (slideshow) with an on/off switch.
  • 🌅 Photo of the day — a new 4K wallpaper every day from Bing, set automatically.
  • ⌨️ Global keyboard shortcuts — next, previous and random wallpaper from anywhere; record your own keys.
  • 🔔 System tray / top bar icon with a quick menu.
  • 🪟 Single instance — launching it twice just brings the window back.
  • 📁 Folders or single images — scans Pictures/Wallpapers and system wallpaper folders by default.
  • 💻 Command line — wallswitch next, wallswitch random, wallswitch set FILE…
  • 🌗 Clean dark/light UI that follows your system theme.
  • 🔔 Lets you know when a new version is out.
  • 🔒 No account, no tracking. It only goes online for the photo of the day (if you turn it on) and to check for updates.

Download

Get the installer for your system from the latest release:

| System | File | | --- | --- | | Windows 10/11 | wallswitch-…-win-x64.exe | | macOS (Apple Silicon) | wallswitch-…-mac-arm64.dmg | | macOS (Intel) | wallswitch-…-mac-x64.dmg | | Linux (any distro) | wallswitch-…-linux-x86_64.AppImage | | Ubuntu / Debian | wallswitch-…-linux-amd64.deb |

The installers aren't signed with a paid certificate yet, so the first time:

  • Windows may show "Windows protected your PC": click More info → Run anyway.
  • macOS may say it can't be opened: go to System Settings → Privacy & Security and click Open Anyway (or right-click the app → Open).
  • AppImage: make it executable (right-click → Properties → Allow executing, or chmod +x) and double-click it.

Or install with npm

npm install -g wallswitch

Requires Node.js 20 or newer. The first install downloads Electron (~100 MB).

Usage

wallswitch

This opens the window and adds an icon to your tray / top bar. Closing the window keeps wallswitch running in the tray; use Quit from the tray menu to exit.

In the window:

  • Click an image to add it to (or remove it from) the carousel — blue outline.
  • Set now (or double-click) uses an image right away — green outline marks the current wallpaper.
  • + Add adds a folder or individual images.
  • Auto change rotates the carousel every N minutes.
  • Photo of the day downloads Bing's photo every day (to Pictures/Wallpapers/Photo of the day, keeping the last 30) and sets it as your wallpaper.
  • ⌨ Shortcuts lists every keyboard shortcut; click ✎ Change next to one and press the keys you want.

If the carousel is empty, all images rotate. Tray menu → Start at login launches wallswitch when you sign in.

Keyboard shortcuts

| Action | Linux | Windows / macOS | | ------------------ | ----------------------- | ---------------------------------- | | Next wallpaper | Super + . | Ctrl/⌘ + Alt + . | | Previous wallpaper | Super + , | Ctrl/⌘ + Alt + , | | Random wallpaper | Super + W | Ctrl/⌘ + Alt + W | | Open window | Super + Shift + W | Ctrl/⌘ + Alt + Shift + W |

On GNOME the shortcuts are registered as GNOME custom shortcuts (Settings → Keyboard), which is the only reliable way to use Super combinations there.

Command line

wallswitch              open the app (or show it if already running)
wallswitch --hidden     start with just the tray icon
wallswitch next|prev    next / previous wallpaper in the carousel
wallswitch random       random wallpaper from the carousel
wallswitch daily        download Bing's photo of the day and set it
wallswitch set FILE     set FILE as wallpaper
wallswitch add FILE...  add individual images to the carousel
wallswitch list         list carousel images
wallswitch dirs         list scanned folders

How does it compare?

| | wallswitch | Windows slideshow | macOS "Change picture" | Variety (Linux) | | -------------------------------- | :--------: | :---------------: | :--------------------: | :-------------: | | Linux, Windows and macOS | ✅ | Windows only | macOS only | Linux only | | Pick individual images to rotate | ✅ | Folder only | Folder only | ✅ | | Global keyboard shortcuts | ✅ | — | — | Via CLI | | Command line | ✅ | — | — | ✅ | | Tray icon | ✅ | — | — | ✅ |

FAQ

How do I change my wallpaper automatically on Ubuntu?

Install wallswitch (npm install -g wallswitch), run wallswitch, click the images you want and turn on Auto change. It uses GNOME's own settings, so it works on Ubuntu 20.04 and newer.

How do I rotate wallpapers on Windows 11 with a keyboard shortcut?

wallswitch adds global shortcuts: Ctrl + Alt + . for the next wallpaper and Ctrl + Alt + , for the previous one.

Can I change the wallpaper from the terminal?

Yes: wallswitch next, wallswitch prev, wallswitch random or wallswitch set path/to/image.jpg. Handy for scripts and cron jobs.

Which image formats are supported?

JPG, PNG, WebP and BMP.

Does wallswitch delete or move my images?

No. Remove only hides an image from the list; your files are never touched.

Does it work with multiple monitors?

It sets the same wallpaper on all monitors, like the system setting does.

Can it download a new wallpaper every day?

Yes. Turn on Photo of the day and wallswitch sets Bing's photo of the day (in 4K) as your wallpaper each day. You can also run wallswitch daily.

Is it free?

Yes, wallswitch is free and open source under the MIT license.

Configuration

Settings live in config.json:

  • Linux: ~/.config/wallswitch/config.json
  • macOS: ~/Library/Application Support/wallswitch/config.json
  • Windows: %APPDATA%\wallswitch\config.json

The easiest way to change a shortcut is ⌨ Shortcuts → ✎ Change in the window (or Change shortcuts… in the tray menu). You can also add a shortcuts key using Electron accelerator syntax (an empty string disables one), then restart wallswitch:

{
  "shortcuts": {
    "next": "Super+Right",
    "prev": "Super+Left",
    "random": "",
    "open": "Super+Shift+W"
  }
}

Support wallswitch

wallswitch is free and built in my spare time. If it makes your desktop a little nicer, you can buy me a coffee:

  • ☕ Cafecito (from Argentina, in pesos): cafecito.app/berchj
  • 💵 USDT (from anywhere): 0xc39dfD297BAf6ab305e267D153bf11d37de7faF6

⚠️ Send USDT only on the BNB Smart Chain (BEP20) network. Funds sent on any other network (Ethereum, Tron, Polygon…) will be lost.

Starring the repo on GitHub also helps a lot. Thank you! 💙

License

MIT © berchj