Skip to content

Releases: Felix-au/DeskX-Wallpaper-Engine

DeskX: Wallpaper Engine — v3.0.0

Choose a tag to compare

@Felix-au Felix-au released this 28 Jul 19:55

DeskX: Wallpaper Engine — Version 3.0.0 Release Notes

Interactive widget overlay, multi-alarm clocks, calendar date marks, quote favourites, Web Audio sound cues, and native Win32 integrations. DeskX reaches full interactivity and desktop integration.


🖥️ Downloads & Distribution Assets

Distribution Format Target Description
📦 DeskX-Setup.exe Windows 10/11 (x64) One-Click Installer (Recommended) — Automatically registers the app startup keys, creates shortcut links, and manages updates.
🗜️ DeskX-win32-x64-3.0.0.zip Windows 10/11 (x64) Portable ZIP Archive — Extract and run instantly. Does not write installer keys or require administration privileges.

Note

Both assets are fully standalone. The application bundles Chromium, Node.js, the koffi FFI bindings, and all native dependencies. No external runtimes or framework installation is required.


✨ What's New in v3.0.0

1. Interactive Desktop Layer & Live Drag-and-Drop

DeskX splits its desktop integration into two distinct layers: a passive media wallpaper running behind icons, and a transparent overlay layer running above icons. In v3.0.0, the overlay has been upgraded from a static display to a fully interactive canvas.

  • Smart Mouse Hit-Testing: Empty areas of the overlay are transparent to mouse events via Win32 WS_EX_TRANSPARENT styling, allowing normal use of desktop icons, folder selection, and right-clicks. Moving the cursor over any widget instantly registers mouse focus, allowing direct clicking and dragging.
  • Live Repositioning: Click and drag any widget directly on the desktop to move it. Positions are converted and saved as proportional percentages (x%, y%) of the current display size. This ensures widget positions scale cleanly and stay positioned relative to screen edges on mixed-resolution monitors.
  • Lock Controls: Lock widget dragging or completely disable widget interaction via the System Tray context menu or Settings Panel to prevent accidental movements.

2. 3-Layer Z-Order Overlay Architecture

Each display monitor now runs three stacked transparent overlay windows rather than a single window, enabling fine-grained control over how widgets superimpose over desktop elements:

  • Bottom Layer (HWND_BOTTOM): The default layer. Widgets live directly above the desktop icons but slide beneath the Windows taskbar and all other application windows.
  • Taskbar Layer: Positions widgets directly above the Windows taskbar (Shell_TrayWnd) but below running applications. Perfect for calendar or time widgets that you want to keep visible alongside the taskbar.
  • Topmost Layer (HWND_TOPMOST): Floating widgets that sit above all regular application windows. Toggle via "Float Above All Windows" in the widget inspector.

3. Digital Clock Alarms & Custom Context Menu

The digital clock has transitioned into a complete desktop time management utility.

  • Multi-Alarm System: Double-click the digital clock time to open the inline "Set Alarm" time picker popover directly on the desktop. Set custom alarm times and specify distinct labels.
  • Synthesized Audio Alert: Triggered alarms play a synthesized ascending two-tone beep generated via the browser's native Web Audio API (using dual tone oscillators at 440Hz and 880Hz), ensuring clean alerts without requiring external sound files.
  • Visual Flash Animation: When an alarm fires, the widget's border triggers a CSS keyframe animation, flashing amber/orange for 4 seconds on the desktop.
  • Windows Native Notification Toast: Dispatches a branded "DeskX — Alarm" native notification via Electron's main process, displaying the alarm's label.
  • Desktop Right-Click Context Menu: Right-click the clock to open a desktop popover. Manage, toggle, or delete active alarms, add new alarms, and instantly toggle settings: 12h/24h format, Show Date, and Show Seconds.

4. Interactive Calendar Date Marking

The calendar widget is now a personal planner.

  • Cell Marking Popover: Click any day cell on the calendar grid to open an inline marker. Select from 8 vibrant theme-tailored swatches, type a text note, and click save.
  • Dots & Pills Rendering: Marked dates display colored dots directly below the date number. If a date has a single mark, it renders as a full text pill on the calendar grid; multiple marks display with a +N count badge.
  • Cross-Month Counts: The navigation arrows display counts of upcoming marked dates in the adjacent months (e.g. ◄ 2 or 3 ►).
  • Marked Dates Dashboard: The inspector panel contains a dedicated list showing all saved marks, allowing you to edit text, change colors, or delete markers without having to navigate through the calendar months.

5. Quote Favourites System

Enhance your daily quotes with a local collections system.

  • 🤍 Heart / Save Button: Click the heart button to save the current quote to your favourites.
  • ⭐ Favourites Cycling: Click the star button to switch the widget to cycle exclusively through your favourited quotes offline, bypassing external network requests.
  • 🌐 Globe Button: Switch back to random API fetching mode.
  • 📋 Clipboard Copy: Click the copy button to copy "quote" — Author to your clipboard, triggering a brief green "Copied!" visual feedback.

6. Battery & Countdown Alert System Upgrades

  • Low-Battery Native Toast: A desktop notification fires once per session when battery drops to ≤15% (or a custom threshold) while unplugged. It is dispatched via Electron's main-process Notification API to show proper Windows attribution ("DeskX") instead of generic wrapper tags, accompanied by a synthesized two-tone audio alert.
  • Countdown Rename & Date Picker: Double-click the countdown label to edit its text inline. Click the countdown digits to open a calendar date picker popover to change the target deadline instantly.
  • Completion Chime: Plays a synthesized audio chime and dispatches a branded notification once the countdown reaches zero.

7. HTML Embed Refresh Toggles

  • Hover over any HTML Embed (iframe) widget to reveal a floating 🔄 refresh button. Click to reload the iframe content instantly (useful for live-updating web stats, streams, or dashboards) without having to open the settings window.

8. Windows "Show Desktop" Watcher

  • Hooks the Win32 EVENT_SYSTEM_FOREGROUND event. If the desktop window (Progman or WorkerW) gains active foreground focus (such as when the user presses Win+D or performs a 3-finger swipe down gesture on a trackpad), the watcher intercepts the OS event and force-shows the overlays after a 200ms delay. This prevents Windows from minimizing the transparent overlay windows.

9. Multi-Monitor DPI Anti-Flicker

  • Frameless overlay windows no longer flicker or redraw with transparent gaps when dragged across displays with different DPI scaling bounds. Dragging repaints are smoothed by disabling GPU sandboxing (disable-gpu-sandbox + in-process-gpu) and debouncing display bounds updates.

🛠️ Technical Implementation Details

  • Runtime Framework: Electron 43.2.0 (Chromium + Node.js)
  • Native Windows FFI: koffi v2.9.0 (integrating with User32.dll to call FindWindowW, EnumWindows, SetParent, SetWindowPos, and event hooks)
  • Configuration Storage: electron-store v8.2.0 (persisting JSON data under %AppData%/Roaming/DeskX/config.json)
  • API Providers: WeatherAPI.com (Weather/AQI/Astronomy) and type.fit (Quotes)
  • Build System: Electron Forge v7.11.2 ( Squirrel.Windows compiler + zip makers)

⚠️ Known Notes & Compatibility

  • Platform: Exclusively targets Windows 10 & 11 (x64).
  • Codecs: Video wallpaper support includes MP4 (H.264), WebM (VP8/VP9), and OGV.
  • Sandboxing: Custom HTML wallpapers run in a fully sandboxed Chromium process, blocking local filesystem access for security.
  • X-Frame-Options: The HTML Embed widget will respect the origin server's headers; services that explicitly deny iframe rendering (X-Frame-Options: DENY or SAMEORIGIN) will show as blank.

DeskX: Wallpaper Engine — v2.0.0

Choose a tag to compare

@Felix-au Felix-au released this 16 May 23:04

DeskX: Wallpaper Engine — v2.0.0

Live widgets, live data, live desktop. DeskX now goes beyond wallpapers.

🖥️ Downloads

File Description
DeskX-Setup.exe One-click installer (recommended)
DeskX-win32-x64-2.0.0.zip Portable — extract and run, no install needed

Both are fully standalone. No Node.js, Python, or any runtime required. Everything is bundled inside.


✨ What's New in v2.0.0

🧩 Widget Overlay System

DeskX now supports placing live, interactive widgets directly on your desktop — on top of any wallpaper, behind your icons.

  • Visual drag-and-drop editor — position widgets precisely using a scaled WYSIWYG canvas in the settings window
  • Per-monitor widget sets — fully independent widgets on each screen, even when all monitors share the same wallpaper (Same mode)
  • Widget inspector panel — configure scale (0.5×–3×), light/dark theme, and widget-specific options per widget
  • Live rendered previews — the widget picker shows actual rendered previews for every widget type
  • Persistent layout — all widget positions, scales, themes, and configs saved and restored automatically
  • Scrollable widget picker — clean modal with internal scroll and custom scrollbar to handle any number of widget types

🌦️ 14 Built-in Widget Types

Widget Description
Digital Clock 12h/24h time with optional date line
Analog Minimalist Borderless analog clock with clean hands
Analog Numbered Classic analog with 1–12 number markers
Weather Temperature, condition icon, city name + country
Detailed Weather Feels Like, Humidity, Wind, UV Index + location
Clock + Weather Hybrid: digital clock above, weather summary below
Astronomy Sunrise, Sunset, Moon phase for your city
Air Quality (AQI) US-EPA level 1–6, severity label, raw PM2.5 value
Custom Text Any user-written label or note on screen
HTML Embed (iframe) Embed any iframe-compatible third-party widget
Battery Status Visual battery bar with % and charging indicator
Countdown Timer Customizable label + target date/time countdown
Quote of the Day Random inspirational quote, refreshed every 2 hours
Calendar Month-view grid with today highlighted

🌍 WeatherAPI Integration

  • Weather, Detailed Weather, Clock+Weather, Astronomy, and AQI widgets all use WeatherAPI.com
  • City autocomplete search — type a partial city name and pick from live suggestions; no lat/lon entry needed
  • Country filter — type a country name first to narrow down city results
  • Location display — every weather widget shows the city name and country directly on screen

🎨 UI & UX Improvements

  • Glassmorphism inspector controls — all inputs (text, date, select, textarea) use a unified frosted-glass style
  • Custom DeskX taskbar icon — app now shows the DeskX brand icon in the Windows taskbar
  • Improved "Different" mode — widget add/delete reliably targets the correct monitor
  • Scroll preservation — widget editor maintains scroll position when adding or deleting widgets
  • Real-time inspector updates — changing widget settings updates the editor preview without a full re-render
  • Widget scale fix — scale slider no longer resets unexpectedly in Same or Different modes

🏗️ Technical Details

  • Built with Electron 34 + Chromium for rendering
  • Native Win32 FFI via koffi for desktop integration
  • Persistent config via electron-store (%AppData%/DeskX Wallpaper Engine/)
  • Weather data: WeatherAPI.com (free tier, bundled key)
  • Quote data: type.fit API (free, no key required)
  • Packaged with Electron Forge + Squirrel installer

📋 System Requirements

  • OS: Windows 10 / 11 (x64)
  • RAM: ~120–250 MB during use (higher with multiple weather widgets active)
  • Disk: ~120 MB installed
  • GPU: None required (hardware acceleration used when available)
  • Internet: Required for weather/AQI/astronomy/quote widgets; clocks, calendar, battery, and custom text work fully offline

⚠️ Known Notes

  • First launch after install may take a few seconds as Squirrel finalizes setup
  • Video codec support depends on Chromium's built-in decoders (MP4/H.264, WebM/VP9 work out of the box)
  • HTML wallpapers run in a sandboxed Chromium process — no filesystem access from the wallpaper page
  • HTML Embed (iframe) widget requires the embedded service to permit iframe usage — sites with X-Frame-Options: DENY will not load

Your desktop, your rules.

DeskX: Wallpaper Engine — v1.0.0

Choose a tag to compare

@Felix-au Felix-au released this 10 May 02:02
8617bd4

DeskX: Wallpaper Engine — v1.0.0

Set images, GIFs, videos, and interactive HTML pages as your desktop wallpaper.

🖥️ Downloads

File Description
DeskX-Setup.exe One-click installer (recommended)
DeskX-win32-x64-1.0.0.zip Portable — extract and run, no install needed

Both are fully standalone. No Node.js, Python, or any runtime required. Everything is bundled inside.


✨ Features

  • Multi-format wallpapers — PNG, JPG, WebP, BMP, GIF, MP4, WebM, MKV, AVI, MOV, WMV, FLV, HTML
  • Multi-monitor support — Same wallpaper on all, different per-monitor, or span across all displays
  • True desktop wallpaper — Renders behind desktop icons using Win32 WorkerW injection (not an overlay)
  • Video wallpapers — Full playback with sound toggle and loop control
  • Interactive HTML — Set any HTML/CSS/JS page as a live wallpaper with mouse & keyboard support
  • Fit modes — Cover, Contain, Stretch, Center — with live preview before applying
  • Spanning preview — Multi-monitor tile visualization showing how wallpapers distribute across displays
  • System tray — Runs quietly in the background with pause, mute, and remove controls
  • Drag & drop — Drop files directly onto the settings window
  • Start with Windows — Optional autostart toggle
  • Single instance — Second launch focuses the existing window

🏗️ Technical Details

  • Built with Electron 34 + Chromium for rendering
  • Native Win32 FFI via koffi for desktop integration
  • Persistent config via electron-store (%AppData%/DeskX Wallpaper Engine/)
  • Packaged with Electron Forge + Squirrel installer

📋 System Requirements

  • OS: Windows 10 / 11 (x64)
  • RAM: ~100–200 MB during use
  • Disk: ~120 MB installed
  • GPU: None required (hardware acceleration used when available)

⚠️ Known Notes

  • First launch after install may take a few seconds as Squirrel finalizes setup
  • Video codec support depends on Chromium's built-in decoders (MP4/H.264, WebM/VP9 work out of the box)
  • HTML wallpapers run in a sandboxed Chromium process — no filesystem access from the wallpaper page

Your desktop, your rules.