{"id":19217985,"url":"https://github.com/sallar/node-mac-app-icon","last_synced_at":"2025-05-13T00:11:42.134Z","repository":{"id":57328044,"uuid":"115124172","full_name":"sallar/node-mac-app-icon","owner":"sallar","description":"Get App icons by pid on macOS in NodeJS","archived":false,"fork":false,"pushed_at":"2024-04-12T08:01:38.000Z","size":68,"stargazers_count":14,"open_issues_count":1,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-13T00:11:40.989Z","etag":null,"topics":["icons","macos","pid","swift"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sallar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-12-22T14:48:24.000Z","updated_at":"2025-03-27T14:33:30.000Z","dependencies_parsed_at":"2024-11-12T12:31:48.630Z","dependency_job_id":null,"html_url":"https://github.com/sallar/node-mac-app-icon","commit_stats":{"total_commits":38,"total_committers":1,"mean_commits":38.0,"dds":0.0,"last_synced_commit":"f9c9367b2e03b76117c276bc0812ef93615f3443"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sallar%2Fnode-mac-app-icon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sallar%2Fnode-mac-app-icon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sallar%2Fnode-mac-app-icon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sallar%2Fnode-mac-app-icon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sallar","download_url":"https://codeload.github.com/sallar/node-mac-app-icon/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253843219,"owners_count":21972874,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["icons","macos","pid","swift"],"created_at":"2024-11-09T14:24:41.592Z","updated_at":"2025-05-13T00:11:42.113Z","avatar_url":"https://github.com/sallar.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# node-mac-app-icon\n\n[![Build Status](https://travis-ci.org/sallar/node-mac-app-icon.svg?branch=master)](https://travis-ci.org/sallar/node-mac-app-icon)\n\nGet App icons by pid on macOS in NodeJS. Returns a `Buffer` representation of the App's icon data.\n\nThe node source uses a [Swift](https://github.com/sallar/GetAppIcon) binary to fetch the icons so it's pretty fast.\n\nReturning a `Buffer` is inspired by [sindresorhus/file-icon](https://github.com/sindresorhus/file-icon).\n\n## Install\n\n```sh\n$ npm install node-mac-app-icon --save\n```\n\n## Functions\n\n\u003cdl\u003e\n\u003cdt\u003e\u003ca href=\"#getAppIconByPid\"\u003egetAppIconByPid(pid, opts)\u003c/a\u003e ⇒ \u003ccode\u003ePromise.\u0026lt;Buffer\u0026gt;\u003c/code\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003cp\u003eFind an icon for a running application (by it\u0026#39;s PID)\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003ca href=\"#getAppIconListByPid\"\u003egetAppIconListByPid(pidArray, opts)\u003c/a\u003e ⇒ \u003ccode\u003ePromise.\u0026lt;Array.\u0026lt;ListResult\u0026gt;\u0026gt;\u003c/code\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003cp\u003eFind icons for a list of running apps (by their PIDs)\u003c/p\u003e\n\u003c/dd\u003e\n\u003c/dl\u003e\n\n## Typedefs\n\n\u003cdl\u003e\n\u003cdt\u003e\u003ca href=\"#Options\"\u003eOptions\u003c/a\u003e : \u003ccode\u003eObject\u003c/code\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003c/dd\u003e\n\u003cdt\u003e\u003ca href=\"#ListOptions\"\u003eListOptions\u003c/a\u003e : \u003ccode\u003eObject\u003c/code\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003c/dd\u003e\n\u003cdt\u003e\u003ca href=\"#ListResult\"\u003eListResult\u003c/a\u003e : \u003ccode\u003eObject\u003c/code\u003e\u003c/dt\u003e\n\u003cdd\u003e\u003c/dd\u003e\n\u003c/dl\u003e\n\n\u003ca name=\"getAppIconByPid\"\u003e\u003c/a\u003e\n\n## getAppIconByPid(pid, opts) ⇒ \u003ccode\u003ePromise.\u0026lt;Buffer\u0026gt;\u003c/code\u003e\nFind an icon for a running application (by it's PID)\n\n**Kind**: global function\n**Returns**: \u003ccode\u003ePromise.\u0026lt;Buffer\u0026gt;\u003c/code\u003e - Buffer containing image data\n\n| Param | Type | Description |\n| --- | --- | --- |\n| pid | \u003ccode\u003enumber\u003c/code\u003e | App PID (Process ID) |\n| opts | [\u003ccode\u003eListOptions\u003c/code\u003e](#ListOptions) |  |\n\n**Example**\n```js\nconst { getAppIconByPid } = require('node-mac-app-icon');\n\ngetAppIconByPid(814, { size: 32 }).then(res =\u003e {\n  console.log(res); // res is a Buffer\n});\n```\n\u003ca name=\"getAppIconListByPid\"\u003e\u003c/a\u003e\n\n## getAppIconListByPid(pidArray, opts) ⇒ \u003ccode\u003ePromise.\u0026lt;Array.\u0026lt;ListResult\u0026gt;\u0026gt;\u003c/code\u003e\nFind icons for a list of running apps (by their PIDs)\n\n**Kind**: global function\n**Returns**: \u003ccode\u003ePromise.\u0026lt;Array.\u0026lt;ListResult\u0026gt;\u0026gt;\u003c/code\u003e - Buffer containing image data\n\n| Param | Type | Description |\n| --- | --- | --- |\n| pidArray | \u003ccode\u003eArray.\u0026lt;number\u0026gt;\u003c/code\u003e | App PID (Process ID) |\n| opts | [\u003ccode\u003eOptions\u003c/code\u003e](#Options) |  |\n\n**Example**\n```js\nconst { getAppIconListByPid } = require('node-mac-app-icon');\n\ngetAppIconListByPid([814, 20134, 503], { size: 512 }).then(res =\u003e {\n  console.log(res); // array of { pid: ..., icon: ... }\n});\n```\n\u003ca name=\"Options\"\u003e\u003c/a\u003e\n\n## Options : \u003ccode\u003eObject\u003c/code\u003e\n**Kind**: global typedef\n**Properties**\n\n| Name | Type | Description |\n| --- | --- | --- |\n| size | \u003ccode\u003enumber\u003c/code\u003e | Size of output icon (in points) |\n\n\u003ca name=\"ListOptions\"\u003e\u003c/a\u003e\n\n## ListOptions : \u003ccode\u003eObject\u003c/code\u003e\n**Kind**: global typedef\n**Properties**\n\n| Name | Type | Description |\n| --- | --- | --- |\n| size | \u003ccode\u003enumber\u003c/code\u003e | Size of output icon (in points) |\n| failOnError | \u003ccode\u003eboolean\u003c/code\u003e | Fail hard if a pid in the list was not found |\n\n\u003ca name=\"ListResult\"\u003e\u003c/a\u003e\n\n## ListResult : \u003ccode\u003eObject\u003c/code\u003e\n**Kind**: global typedef\n**Properties**\n\n| Name | Type | Description |\n| --- | --- | --- |\n| pid | \u003ccode\u003enumber\u003c/code\u003e | PID of the application |\n| icon | \u003ccode\u003eBuffer\u003c/code\u003e | Buffer containing image data |\n\n## License\n\nThis software is licensed under the [MIT License](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsallar%2Fnode-mac-app-icon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsallar%2Fnode-mac-app-icon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsallar%2Fnode-mac-app-icon/lists"}