Wallhaven Enhancer

Stats on thumbs + hover preview + click open + D download + arrow browse

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

Tekijä
quantavil
Päivittäiset asennukset
1
Asennuskerrat
2
Arvostelut
0 0 0
Versio
1.1
Luotu
13.6.2026
Päivitetty
13.6.2026
Size
12,1 kt
Lisenssi
MIT
Käytössä

Missed the installation block. Updated README:


Wallhaven Enhancer

A high-performance userscript that optimizes the Wallhaven gallery interface with real-time metadata injections, automated hover previews, seamless keyboard browsing, and rate-limit safe background data resolution.

Installation

  1. Install a userscript manager extension such as Tampermonkey, Violentmonkey, or Greasemonkey for your browser.
  2. Click the Install this script button at the top of this Greasy Fork page.
  3. Confirm the installation in your userscript manager dashboard.
  4. Navigate to or refresh any Wallhaven page to activate the enhancer features.

Features

  • Instant Overlay Previews: Hovering over any thumbnail opens an adaptive, high-resolution visual overlay capped at 92vw and 88vh to preserve maximum pixel details without losing visual grid alignment.
  • Lazy-Loaded File Sizes: Displays file size metrics directly on the thumbnail bar. Uses an asynchronous IntersectionObserver coupled with a throttled network queue (50ms sequential cool-down boundary) to pre-fetch header data without triggering Cloudflare rate limits.
  • Intelligent Auto-Close: Previews close instantly when moving the cursor away, triggering manual pointer scroll (wheel), or mobile swipe actions (touchmove).
  • Cached Keyboard Navigation: Preload grid index lists dynamically when the overlay initializes. Prevents redundant DOM queries during fast arrow-key browsing.

Keyboard Controls & Interactions

Trigger Action Target
Mouse Hover Activates full-resolution preview overlay Thumbnail Grid
Mouse Move Away Automatically terminates preview state Active Overlay
Mouse Scroll (Wheel) Instantly terminates overlay to allow unhindered browsing Active Overlay
Click Opens the core wallpaper profile page in a background tab Active Overlay
ArrowRight Advances to the next structural item in the cached grid layout Active Overlay
ArrowLeft Navigates back to the preceding item in the cached grid layout Active Overlay
D / d Triggers a direct background download via native browser loops Active Overlay
Escape Forced termination of active preview layer Active Overlay

Technical Architecture

  • MutationObserver Surveillance Engine: Monitors dynamic DOM append operations (e.g., infinite scrolling). Truncates internal cycles by screening out self-generated modifications originating from the overlay container target block (#whOv).
  • Decoupled Concurrency Loop: Offloads extension sorting and payload delivery to a prioritized data queue (networkQueue), restricting execution matrices to a rigid, deterministic sequence.
  • Memory Optimization: Leverages a local localStorage eviction mechanism limited strictly to the top 2000 entries to prevent localized overhead creep. Automatically recycles unused memory blocks using URL.revokeObjectURL handlers during manual browser download streams.