Animated wallpapers and desktop widgets for Windows 10 and 11.
Private, offline by default, free for non-commercial use.
Download for Windows · All downloads · Install guide · Features · Privacy and security · Write a widget
Windows has no desktop widgets and no moving wallpapers. Deskwave adds both: it plays an animation behind your desktop icons and lets you pin the widgets you need to the desktop itself. Everything runs on your PC. Deskwave has no account, sends no data about you, and doesn't touch the internet unless you switch it on.
- Features
- Install: step by step · advanced
- Windows Defender or SmartScreen warns about the file
- Using Deskwave
- Privacy and security
- Write your own widget
- Uninstall
- No warranty
- Build from source
- License
- Aurora, a built-in animated wallpaper: soft northern lights that change color through the day.
- Your own videos and images:
.mp4,.webm,.gif,.png,.jpgand.webp. - Gradient creator. Make your own still or moving gradient:
- 2 to 5 colors, or start from a palette;
- three styles: linear (with an angle), radial and flow;
- four speeds: still, slow, medium and fast.
- A different wallpaper on each display.
| Make a gradient | On the desktop |
|---|---|
![]() |
![]() |
| Widget | What it shows | Uses the internet |
|---|---|---|
| Clock | Time and date in your language | No |
| Notes | A note that stays on your desktop | No |
| To-do | A short list of things to get done | No |
| Focus timer | 25 minutes of focus, then a 5-minute break | No |
| Battery | Charge level and time left (laptops) | No |
| System | Processor, memory, disk and network use | No |
| Now playing | What's playing in any app, with play, pause and skip | No |
| Weather | Current weather and today's high and low | Yes, only when you allow it |
Move, resize, add and remove widgets right on the desktop:
- Light on your PC. Animations pause when you can't see them:
- while a game or video runs full screen;
- while a window is maximized;
- on battery;
- while the PC is locked or used through Remote Desktop.
- Feels like Windows. It follows light and dark mode and your accent color, works with the keyboard and screen readers, and calms its animations when Windows is set to show fewer.
- Speaks your language. English, Українська, Français, Nederlands, Deutsch, Polski and Español. It follows your Windows language, or you can pick one in Settings.
- Extendable. Anyone can write widgets and wallpapers ("mods") in HTML, CSS and JavaScript. Each one runs in a sandbox and stays off until you approve it.
| Mods, in dark mode | Privacy and about |
|---|---|
![]() |
![]() |
You need: Windows 10 or 11, 64-bit.
Warning
Only download Deskwave from this repository's Releases page. Copies from anywhere else may have been changed and are not safe.
Every release has these files under Assets:
| File | Who it's for |
|---|---|
| Deskwave-Setup.exe | Most people. Installs for your account only. No administrator rights needed. |
| Deskwave.msi | IT admins and managed PCs. Installs for all users. Needs administrator rights. |
| Deskwave-Windows.zip | Both installers in clearly named folders, with a READ ME FIRST file. |
| SHA256SUMS.txt | Fingerprints to check your download is genuine (see advanced). |
Ignore the Source code files that GitHub adds to every release: they hold the project's code, not the app.
Inside Deskwave-Windows.zip:
1 - Setup (recommended)/Deskwave-Setup.exe
2 - MSI (for IT admins)/Deskwave.msi
READ ME FIRST.txt
SHA256SUMS.txt
-
Select Download Deskwave-Setup.exe. It downloads to your Downloads folder.
-
Open the file you downloaded.
-
Windows may show a blue box that says "Windows protected your PC". This is normal for new apps that aren't signed with a paid certificate (see why). If you downloaded the file with the link in step 1:
- select More info;
- check that the app name starts with Deskwave;
- select Run anyway.
If you got the file anywhere else, delete it instead.
-
The installer shows a warning and the license. Read it, then select I Agree.
-
Select Next, then Install, then Finish.
-
Deskwave opens its Settings window. It asks whether to start Deskwave when you sign in: select Turn on to keep your wallpaper and widgets after a restart, or Not now.
Next time, open Deskwave from the Start menu. You'll also find its icon in the taskbar corner (select the ^ arrow next to the clock if you don't see it).
Check the download is genuine. Compare the file's SHA-256 checksum with the line for that file
in SHA256SUMS.txt from the same release. Upper or lower case doesn't matter.
(Get-FileHash .\Deskwave-Setup.exe -Algorithm SHA256).HashCheck where it was built. Releases of the public repository carry a signed build provenance attestation. It proves the file was built by this repository's release workflow on GitHub's own servers, from a tagged commit. With the GitHub CLI:
gh attestation verify Deskwave-Setup.exe --repo sharabarinillia/DeskwaveInstall without questions (both installers):
.\Deskwave-Setup.exe /Smsiexec /i Deskwave.msi /qnThe MSI command needs an administrator terminal.
Start without opening Settings: run deskwave.exe --background. The sign-in entry uses this.
Where things are:
| What | Where |
|---|---|
| App (setup.exe) | %LOCALAPPDATA%\Deskwave |
| Settings and widget data | %APPDATA%\Deskwave\config.json and storage\ |
| Your wallpapers | %APPDATA%\Deskwave\wallpapers |
| Third-party mods | %APPDATA%\Deskwave\mods |
| Start at sign-in (only if you turned it on) | HKCU\Software\Microsoft\Windows\CurrentVersion\Run, value Deskwave |
Deskwave installs no services, scheduled tasks or drivers. The app itself never asks for administrator rights.
Why it happens.
- SmartScreen trusts files by reputation. A new app that isn't signed with a paid code-signing certificate starts with none, so Windows asks before running it.
- Microsoft Defender sometimes flags unsigned apps built with Rust and Tauri, the tools Deskwave
uses, with a "machine learning" detection whose name ends in
!ml(oftenTrojan:Win32/Wacatac.B!ml). This is a guess from the file's shape, not a match with known malware, and it's a known false positive for apps built this way.
What Deskwave does about it:
- The installer downloads nothing. If your PC lacks Microsoft's WebView2, which Windows 11 always has, Microsoft's own signed setup inside the installer adds it.
- Deskwave doesn't add itself to startup unless you say yes.
- It needs no administrator rights, opens no ports and runs no background services.
- Every release is built on GitHub's servers from this public source code, with checksums and a signed build provenance attestation.
What you can safely do:
- Only download Deskwave from this repository's Releases page.
- Check the checksum. If it matches, the file is exactly what was built here.
- For a second opinion, you can upload the file to VirusTotal, which checks it with about 70 virus scanners.
- If Defender quarantined the file and the checksum matches, report the mistake to Microsoft at microsoft.com/wdsi/filesubmission. Choose Incorrectly detected as malware/malicious. Once Microsoft clears it, update Defender (Windows Security → Virus & threat protection → Protection updates) and download the file again.
Never turn off Microsoft Defender or add exclusions to get Deskwave running. Never run a copy from another website, even if it has the same name.
-
Open Settings: open Deskwave from the Start menu, or select its icon in the taskbar corner.
-
Taskbar icon menu (right-click): Open Deskwave, Edit widgets, Pause animations, Quit Deskwave.
-
See your widgets: they sit on the desktop behind your apps. Press Windows logo key + D.
-
Arrange widgets: select Edit widgets, then:
- drag a widget to move it;
- drag its corner to resize it;
- select × to remove it, or Add widget for more;
- press Esc or select Done when you're finished.
With the keyboard, arrow keys move the focused widget and Shift + arrow keys resize it.
-
Change the wallpaper: Wallpaper page. Pick a display, then select a wallpaper.
- For your own files, select Open folder, copy your videos or images into it, then select Refresh.
- For a gradient, select New gradient. Choose colors, a style and a motion, then select Use this gradient. To change or remove one later, select Edit on its tile.
-
Language, startup and pausing: General page.
-
Internet and recent activity: Privacy & about page.
- Offline by default. Deskwave makes no network requests until you turn on Let widgets use the internet under Privacy & about.
- When the internet is on:
- only widgets you approved can connect, and only to the sites they list;
- connections are HTTPS-only, never redirected, never sent to your home or office network, and limited to 30 a minute for each widget;
- every request appears under Recent internet activity;
- the built-in Weather widget only talks to Open-Meteo:
geocoding-api.open-meteo.comto find the city you type,api.open-meteo.comfor the forecast. No API key, no account.
- No telemetry. No analytics, crash uploads or automatic update checks, and no account.
- Nothing can connect in. Deskwave runs no server and opens no ports.
- Sandboxed mods. Each mod runs in a locked-down sandbox:
- it can't read your files, other widgets' data or the app's internals;
- it can't use the camera, microphone or location;
- new mods stay off until you approve them, and the approval screen lists exactly what each one can do.
The full design is in docs/SPEC.md. To report a vulnerability privately, see SECURITY.md.
A widget is a folder with a manifest.json and ordinary web files. Here is a complete one that
counts clicks and remembers the count.
hello/manifest.json:
{
"id": "yourname.hello",
"name": "Hello",
"version": "1.0.0",
"kind": "widget",
"entry": "index.html",
"author": "Your name",
"description": "Counts clicks",
"size": { "w": 240, "h": 120 }
}hello/index.html:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="/_sdk/deskwave.css">
<script src="/_sdk/deskwave.js" defer></script>
<script src="main.js" defer></script>
</head>
<body>
<button class="dw-btn primary" id="hello">Clicked 0 times</button>
</body>
</html>hello/main.js:
const button = document.getElementById('hello');
let count = 0;
deskwave.ready.then(async () => {
count = (await deskwave.storage.get('count')) ?? 0;
button.textContent = `Clicked ${count} times`;
});
button.addEventListener('click', () => {
count += 1;
button.textContent = `Clicked ${count} times`;
deskwave.storage.set('count', count);
});To try it:
- In Settings → Mods, select Open folder.
- Copy the
hellofolder in, then select Refresh. - Turn the mod on.
- Under Edit widgets, select Add widget.
Widgets can also:
- read the battery, system stats or media (with the matching permission);
- fetch from sites they declare;
- translate themselves into all seven languages.
The mod reference has the details, and the built-in widgets in mods/
are working examples. Mod ids starting with deskwave. are reserved for built-ins.
- Right-click the Deskwave icon in the taskbar corner and select Quit Deskwave.
- Open Settings → Apps → Installed apps, find Deskwave, then select ⋯ → Uninstall.
- In the setup.exe uninstaller, tick Delete the application data to also remove your settings
and widget data. Your own wallpapers and mods in
%APPDATA%\Deskwaveare kept. Delete that folder yourself if you don't need them.
The uninstaller also removes the start-at-sign-in entry. If you used the MSI, turn off Start Deskwave when you sign in (General page) before uninstalling.
Deskwave is provided "as is", without any warranty of any kind. You install and use it at your own risk. To the fullest extent permitted by law, the author is not liable for any damage or loss caused by this program or by its use, including damage caused by copies obtained anywhere other than this repository's Releases page.
On Windows, with Rust and Node.js 22 installed:
npm cinpm run devnpm run buildnpm run build writes both installers to target/release/bundle/. npm run package then
gathers them into dist/, with the same names and folders as a release.
The core logic builds and tests on any OS. It covers manifest checks, sandbox headers, config, storage and languages.
cargo test -p deskwave-coreTo check that every language has every text:
npm run check-strings| Path | What |
|---|---|
crates/deskwave-core |
Platform-independent logic, unit-tested |
src-tauri |
The Windows app (Tauri 2 and Rust) |
ui |
Settings window, widget layer and wallpaper pages, with all translations |
sdk |
Script and styles that mods include |
mods |
Built-in widgets and wallpapers |
docs/SPEC.md |
Architecture, security model and roadmap |
Releases are built and published by
.github/workflows/release.yml when a version tag such as
v0.3.0 is pushed, or when a release with a new tag is published on the Releases page. The title
and notes come from docs/releases/<tag>.md, so write that file first.
ONLY FOR UNPAID USAGE. CHARGING ANY KIND OF FEES IS PROHIBITED.
Deskwave is licensed under the PolyForm Noncommercial License 1.0.0. You may use, share and change it for any non-commercial purpose. You may not sell it, charge for it, or use it to make money in any other way.
Made by sharabarinillia.





