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

aw-watcher-workspace

v0.1.0

Published

ActivityWatch watcher to automatically categorize applications usage based on the active workspace

Readme

aw-watcher-workspace

A lightweight Activity Watcher module to track the active workspace, each logged activity will have the workspace context.

Compatibility:

  • Tested on Ubuntu/Debian GNOME

Install

  1. Clone
git clone https://github.com/nya1/aw-watcher-workspace.git`
  1. Install modules
yarn install
  1. Start the watcher
yarn run start

Data sent to Activity Watch

Fields sent to AW:

  • title Focused window title
  • app Focused app name
  • workspace Active workspace name

How to set the workspace names

There are two ways

  • GNOME Tweaks application
    • Extensions -> Workspace indicator
  • Terminal
    • gsettings set org.gnome.desktop.wm.preferences workspace-names "['games', 'university', 'work-acmecorp']"

Supported env variables

  • AW_WATCHER_WORKSPACE_IGNORE
    • type: stringified array
    • default: '[]'
    • description: completly ignore the workspace names provided, no data will be sent
  • AW_WATCHER_WORKSPACE_REDACT
    • type: stringified array
    • default: '[]'
    • description: redact the window title (field title) of the workspace names provided, the keyword excluded will be used instead of the original value
  • AW_WATCHER_WORKSPACE_CLIENT_NAME
    • type: string
    • default: 'aw-watcher-workspace'
    • description: override the default client name, (hostname will be always appended)
  • AW_WATCHER_WORKSPACE_TESTING
    • type: boolean
    • default: (not set)
    • description: enable the client testing mode

Dependencies

Node modules

  • official aw-client npm module to send the data to AW server

External / shell

  • xdotool to get the focused window
  • xprop to get the list of workspace names, focused window information
  • gdbus as a fallback to xdotool to get the focused app (e.g. xdotool fails when the gnome terminal is focused)