npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@inkdropapp/electron-vibrancy-gpu-fix

v0.1.0

Published

Reduce WindowServer GPU load of transparent Electron windows with vibrancy on macOS

Readme

@inkdropapp/electron-vibrancy-gpu-fix

Reduces WindowServer GPU load of transparent Electron windows with vibrancy on macOS.

The problem

Electron gives every transparent: true window a clear NSWindow background. With a fully clear background, macOS derives the window shadow from the window's content and keeps recomputing it, even when nothing on screen changes. A frameless window with vibrancy then costs WindowServer a lot of GPU time, which drains battery.

The upstream fix is electron/electron#55642. This module applies the same change from your app until it ships in the Electron version you use.

What it does

It sets the window background to NSColor.windowBackgroundColor. The vibrancy view covers the whole frameless window, so the background stays hidden and the window looks the same. The window gets a regular frame shadow instead of a content-derived one.

Install

npm install @inkdropapp/electron-vibrancy-gpu-fix

The package ships a prebuilt universal (arm64 + x64) binary built with Node-API, so it needs no compiler and works across Electron versions.

Usage

Call it in the main process right after creating the window:

const { BrowserWindow } = require('electron')
const { setOpaqueBackground } = require('@inkdropapp/electron-vibrancy-gpu-fix')

const win = new BrowserWindow({
  frame: false,
  transparent: true,
  vibrancy: 'under-window'
})
setOpaqueBackground(win.getNativeWindowHandle(), true)
  • Only use it on frameless windows whose vibrancy covers the whole window.
  • Before removing vibrancy with win.setVibrancy(null), call setOpaqueBackground(handle, false) to restore the clear background.
  • If vibrancy fades in with an animation, call it after the animation ends.
  • Don't call it after the window is destroyed.
  • On other platforms it does nothing.

Build

npm install
npm run build
npm test

License

MIT