software-catalog

Catalog for identifying applications on their executable or window name.

Usage no npm install needed!

<script type="module">
  import softwareCatalog from 'https://cdn.skypack.dev/software-catalog';
</script>

README

Software-Catalog

Collection of process and application information for Linux, MacOS and Windows. Used in Empoche's automatic time tracking of PC applications.

Identify applications and categories based on their executable name.

const browser = [
  {
    title: 'Chromium',
    description: 'Open-Source browser from Google.',
    url: 'https://www.chromium.org/',
    os: ['linux', 'macos', 'windows'],
    windowClasses: ['chromium-browser-chromium', 'chromium-browser', 'chromium', 'chromium.exe'],
    windowNames: [
      {endsWith: 'chromium'},
    ],
  },
  // ..
]

Installation

This is a Node.js module available through the npm registry.

With npm:

npm install software-catalog

With yarn:

yarn add software-catalog

Usage

// Get all categories and items
const apps = require('software-catalog');

// Browser category
const browser = apps.find(c => c.category === 'browser');

// All Items
const items = browser.items;

// Find an browser based on executable name
const chrome = items.find(i => i.windowClasses.includes('chrome.exe'))

Item description:

The windowClasses ([]) property contains the executable names. As they are not always unique (e.g. shellexperiencehost.exe is used for a lot of Windows 10 applications) for some applications windowNames are needed.

Contributing

Please include as many information (title is required) about the application as possible and try not to make the identifier too generic, especially with window names. If you are unsure on the category, just choose other.

License

GPLv3