Local Wally HUD - Setup, Controls, and Configuration Walkthrough

This guide provides a comprehensive walkthrough for configuring, customizing, and troubleshooting Local Wally HUD on Windows 11 with Lively Wallpaper.


Table of Contents

  1. First Launch and Location Cascade
  2. Customizing Weather, Air Quality, News, and Wallpaper Providers
  3. Interactive 24-Hour Forecast Chart
  4. Regional News Ingestion and Interactive Story Navigation
  5. Progressive Disclosure: Hover Popovers and Telemetry Drawer
  6. Media Player, 60 FPS Sound Visualizer, and Focus Dock
  7. Wallpaper Favorites and Avoidance Engine
  8. OneDrive Personal Settings Synchronization
  9. Upgrading Local Wally While Preserving Settings
  10. Lively Properties Reference Table
  11. Advanced Configuration (config.js)
  12. Troubleshooting and Symptom-to-Action Guide

1. First Launch and Location Cascade

When Local Wally initializes, it determines your geographic coordinates through a non-blocking cascade designed to boot instantly without modal permission dialogs:

  1. Manual Location Override: If you entered a custom city or coordinate pair in the Diagnostics panel (press D on your desktop) or via Lively Properties, that location is geocoded once and cached permanently. It takes precedence over automatic detection.
  2. Persisted Automatic Location: If an automatic location was previously resolved, Local Wally paints that cached location immediately upon boot so you never see blank or placeholder screens. A silent background check detects if your laptop moved to another city and adopts changes smoothly.
  3. Silent Auto-Detection:
  4. - Local Wally checks navigator.permissions.query({ name: 'geolocation' }) with a strict 1500 ms safety timeout race. In WebView2 desktop environments where host permission prompts may hang, the query safely times out and falls back to IP geolocation.

    - If HTML5 Geolocation permission was already granted in your environment, precise coordinates are used.

    - If not already granted, Local Wally immediately uses secure, keyless IP-based geolocation (ipapi.co).

    - If the network is entirely offline, it falls back to the default coordinates specified in config.js (Tokyo, Japan).

Setting a Manual Location


2. Customizing Weather, Air Quality, News, and Wallpaper Providers

Right-click Local Wally in your Lively Wallpaper library and choose Customise Wallpaper to adjust provider preferences:

Lively Wallpaper Customise Settings modal showing provider selectors and masked API key fields

Weather Telemetry Providers

Air Quality Providers

Wallpaper Photography Providers

Regional News Providers

All credential fields in Lively Wallpaper are masked. Local Wally works out of the box with zero API keys. If an optional keyed provider encounters an invalid key or network error, Local Wally falls back cleanly to its default keyless provider for that category (weather and air quality fall back to Open-Meteo, wallpapers fall back to Unsplash, and news falls back to Google News).


3. Interactive 24-Hour Forecast Chart

The weather card includes an inline SVG forecast chart rendered with Catmull-Rom cubic Bezier curves:

Local Wally 24-hour forecast chart displaying temperature curve and metric tabs

Metric Tabs

Click any tab or use the ← and → arrow keys to switch metrics:


4. Regional News Ingestion and Interactive Story Navigation

The regional news dispatch keeps you informed with local and global headlines:

Regional news card displaying selected story and active navigation dot indicator


5. Progressive Disclosure: Hover Popovers and Telemetry Drawer

Local Wally implements a two-tier progressive disclosure system so you can see quick summaries at a glance or inspect complete telemetry on demand:

Air quality card with progressive disclosure floating hover popover

Tier 1: Floating Hover Popovers

Tier 2: Contextual Telemetry Drawer


6. Media Player, 60 FPS Sound Visualizer, and Focus Dock

The companion dock sits directly below the main HUD inside a unified #hud-stack flex container, ensuring a constant 14px gap across all screen heights:

Media player with 32-bar audio visualizer and Pomodoro focus timer dock

Pomodoro & Focus Timer

Universal Media Player & Audio Visualizer


7. Wallpaper Favorites and Avoidance Engine

Local Wally includes a native wallpaper personalization engine that operates entirely via lightweight metadata without saving bulky image files to disk:


8. OneDrive Personal Settings Synchronization

Local Wally features optional, cross-device synchronization with personal Microsoft OneDrive accounts:


9. Upgrading Local Wally While Preserving Settings

Lively Wallpaper maintains customized properties per wallpaper ID. Importing a release zip directly always mints a new wallpaper ID, which starts with default values. To upgrade without losing your customized settings, choose one of these three methods:

Method 1: One-Click Updater Script (Recommended)

  1. Download upgrade-local-wally.bat from the Latest GitHub Release or from this repository's tools/updater/ folder.
  2. Double-click upgrade-local-wally.bat.
  3. The script locates your installed Local Wally folders (supporting both desktop installer and Microsoft Store versions of Lively) and overlays the updated files in place.
  4. Restart Lively Wallpaper or re-select Local Wally. All customized settings remain intact.

Method 2: Manual ZIP Overlay

  1. In Lively Wallpaper, temporarily switch to another wallpaper to release file locks.
  2. Download local-wally.zip from the Latest GitHub Release.
  3. Extract the contents directly into your existing Local Wally installation folder, choosing Replace all files:
  4. %LocalAppData%\Lively Wallpaper\Library\wallpapers\

  5. Switch back to Local Wally in Lively. All settings are preserved because the wallpaper storage ID was not changed.

Method 3: Settings Export and Import

  1. On your existing Local Wally wallpaper, open Lively settings (Customise Wallpaper) and click Export Settings.
  2. Save the resulting JSON backup file to your computer.
  3. Import the new local-wally.zip into Lively Wallpaper.
  4. On the newly added wallpaper, click Customise Wallpaper, click Import Settings, and select your saved JSON file.

Privacy Notice: Settings backup files contain your configured API keys and custom location settings. Always keep your backup JSON file private. Never post or share an unredacted settings export in public GitHub issues or forums.


10. Lively Properties Reference Table

The following table lists every property defined in LivelyProperties.json:

Setting IdentifierUI LabelTypeDefaultOptions / Range
customLocationCustom Location (blank = Automatic)textbox""City name or lat, lon coordinates
hudPositionHUD PositiondropdownTop RightTop Right, Top Left, Bottom Right, Bottom Left, Middle Right, Middle Left, Middle Top, Middle Bottom, Center
glassBlurGlass Blur (px)slider140 to 40 px (step 2)
particleDensityParticle Density Multiplierslider1.00.2 to 2.0 (step 0.1)
tempUnitTemperature UnitdropdownCelsius (°C)Celsius (°C), Fahrenheit (°F)
refreshIntervalData & Wallpaper Refresh Intervalslider155 to 30 minutes (step 1)
wallpaperProviderWallpaper ProviderdropdownUnsplashUnsplash, Wallhaven, Pexels, Pixabay, Rotate configured sources
unsplashApiKeyUnsplash Access Key (Optional)textbox""Personal Unsplash API key
wallhavenApiKeyWallhaven API Key (Optional)textbox""Personal Wallhaven key
pexelsApiKeyPexels API Key (Optional)textbox""Personal Pexels key
pixabayApiKeyPixabay API Key (Optional)textbox""Personal Pixabay key
weatherSimulationSimulate Weather (Debug)dropdownLive Weather (Auto)Live Weather (Auto), Clear Day, Rain & Storm, Snow, Starry Night
contrastModeGlass Contrast ThemedropdownAuto (Wallpaper-Adaptive)Auto (Wallpaper-Adaptive), Dark Glass (White Text), Light Glass (Dark Text)
showMediaFocusDockShow Media & Focus DockcheckboxtrueShow or hide bottom companion dock
focusTimerModeFocus Timer ModedropdownPomodoro (25/5)Pomodoro (25/5), 52/17 Rule, Ultradian (90/20), Flowtime (Stopwatch)
pomodoroFocusMinutesPomodoro Focus Duration (Minutes)slider255 to 60 minutes
pomodoroBreakMinutesPomodoro Break Duration (Minutes)slider51 to 15 minutes
pomodoroLongBreakMinutesPomodoro Long Break Duration (Minutes)slider155 to 30 minutes
enableAudioVisualizerEnable Audio Visualizer (60 FPS)checkboxtrueToggle 32-bar visualizer animation
enableDynamicSolarLightingDynamic Solar Lighting & ShadowscheckboxtrueToggle sun-angle lighting and card drop shadows
showNewsFeedShow Regional News FeedcheckboxtrueShow or hide news card
newsProviderNews ProviderdropdownAuto (API keys first)Auto (API keys first), Google News, NewsAPI, Currents News, Rotate configured sources
newsFocusNews FocusdropdownBalanced (City with Region Fallback)Nearby (City Only), Balanced (City with Region Fallback), Wider (Country & World)
newsApiKeyNewsAPI Key (Optional)textbox""Personal NewsAPI key
currentsApiKeyCurrents API Key (Optional)textbox""Personal Currents API key
showHardwareMonitorShow Hardware MonitorcheckboxtrueShow or hide CPU/GPU/RAM/Disk gauges
showCelestialShow Solar & Lunar EphemerischeckboxtrueShow or hide dynamic day/night cards
showAqiShow Air Quality Index (AQI)checkboxtrueShow or hide AQI gauge and pollutants
showEnvironmentalMetricsShow Environmental MetricscheckboxtrueShow or hide Humidity, Clouds, and Precip row
showPomodoroShow Pomodoro Focus TimercheckboxtrueShow or hide Pomodoro timer in companion dock
showMediaPlayerShow Media Player & VisualizercheckboxtrueShow or hide media card in companion dock
showNetworkUsageShow Network BandwidthcheckboxtrueShow or hide Download / Upload speed meters
showBatteryInfoShow Laptop Battery TelemetrycheckboxtrueAutomatically hidden on desktop PCs without batteries
weatherProviderWeather Telemetry ProviderdropdownOpen-Meteo (Keyless)Open-Meteo (Keyless), WeatherAPI.com (Free Key), OpenWeatherMap (Key Optional)
weatherapiKeyWeatherAPI.com API Key (Optional)textbox""Free tier WeatherAPI.com key
openweathermapApiKeyOpenWeatherMap API Key (Optional)textbox""Personal OpenWeatherMap key
aqiProviderAir Quality ProviderdropdownOpen-Meteo AQI (Keyless)Open-Meteo AQI (Keyless), WAQI / AQICN (Token Optional)
waqiApiKeyWAQI API Token (Optional)textbox""Personal WAQI token
showForecastChartShow Forecast ChartcheckboxtrueShow or hide 24-hour SVG forecast chart
defaultForecastTabDefault Forecast TabdropdownTemperatureTemperature, Feels Like, Precipitation, Wind, Humidity, AQI
settingsExportExport Settings (incl. API keys)button-Exports all settings to JSON file
settingsImportImport Settingsbutton-Restores settings from JSON file
onedriveConnect☁ Connect OneDrive (Sign In)button-Launches browser authentication modal
onedriveSync☁ Backup / Sync Settings Nowbutton-Triggers immediate two-way synchronization
onedriveDisconnect✕ Disconnect Accountbutton-Clears tokens and resets synchronization
onedriveFolderOneDrive Backup Foldertextbox"Apps/Local Wally"Custom folder path or default AppFolder

11. Advanced Configuration (config.js)

When running Local Wally outside of Lively Wallpaper (such as in a local browser preview via node serve.js), settings can be modified in config.js. The schema mirrors the properties in Lively Wallpaper:


window.LOCAL_WALLY_CONFIG = {

refreshIntervalMinutes: 15,

hudPosition: 'top-right',

glassBlurPx: 14,

glassSaturationPct: 190,

tempUnit: 'C',

newsRotateIntervalSeconds: 7,

newsFocus: 'balanced',

hwUpdateIntervalSeconds: 10,

wallpaperProvider: 'unsplash',

weatherProvider: 'open-meteo',

weatherapiKey: '',

openweathermapApiKey: '',

aqiProvider: 'open-meteo',

waqiApiKey: '',

newsProvider: 'auto',

newsApiKey: '',

currentsApiKey: '',

defaultLocation: {

city: 'Tokyo',

country: 'Japan',

latitude: 35.6762,

longitude: 139.6503

}

};


12. Troubleshooting and Symptom-to-Action Guide

The following symptom-to-action table is based on verified application logic:

SymptomVerified CauseAction to Take
Location displays "Locating..." indefinitelyWebView2 host geolocation permission query hung without respondingUpdate to the latest release (which incorporates an automatic 1500 ms IP fallback race) or press D and specify a manual city name.
Location detected as wrong cityIP geolocation provider resolved nearest ISP gateway rather than physical locationPress D on your desktop to open the Diagnostics panel, enter your desired city name or coordinates, and press Enter.
Weather or AQI displays "--" or "Unavailable"Network connectivity issue or upstream provider returned incomplete payloadCheck your internet connection. Local Wally never fabricates missing metrics. It will retry automatically on the next scheduled refresh interval (default 15 minutes).
WeatherAPI.com or OpenWeatherMap failsMissing, invalid, or expired API keyEnsure your key is typed correctly in Lively Wallpaper settings. If the keyed call fails, Local Wally automatically falls back to Open-Meteo.
Regional news headlines are not updating15-minute news quota firewall is active, or CORS proxy is temporarily unreachableNews enforces an independent 15-minute rate limit window per provider to protect API quotas. Wait for the window to expire. If using Google News, verify your internet connection.
OneDrive sync prompts "Sign-in required"Microsoft OAuth token expired or revokedPress D on the desktop, click Connect OneDrive, and complete the Device Code sign-in flow at microsoft.com/devicelogin.
Wallpaper marked as avoided still appearsCollection bound reached or all provider candidates are avoidedAvoided list holds up to 200 items. If all candidate images from your active provider are avoided, Local Wally preserves your current wallpaper rather than breaking.
Wallpaper or data does not update immediatelyLocal Wally adheres to its configured refresh cadence (default 15 minutes)Data refreshes automatically according to your Data Refresh Interval slider (5 to 30 minutes). Changing a provider setting in Lively immediately triggers a fresh sync.
HUD clock or hardware meters frozen after sleepSystem entered S0 Modern Standby or deep sleepUpdate to the latest release. On resume from sleep or when the network comes back online, the clock synchronizes immediately and triggers a background refresh if elapsed time exceeds 15 minutes.
Visualizer or animation runs when a game is openLively Wallpaper window pause event was not forwarded by hostEnsure Lively Wallpaper settings are set to Pause when applications are fullscreen or focused. In LivelyInfo.json, verify that --pause-event true is present in the arguments.

Need further help? Visit GitHub Issues to ask questions or submit bug reports.