Skip to content

DeskX: Wallpaper Engine — v3.0.0

Latest

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.