'About This App' Window for Electron Apps
This package provides 'About This App' window for Electron applications.
- Create 'About This App' window from given parameters
- Icon path
- Copy right
- App name and Versions
- Description
- Gather package information from package.json
- Automatically detect package.json
- Adjust window size to its contents automatically
- CSS customizability
You can install this module via npm.
$ npm install about-window
Only one function is exported as default. Please see TypeScript type definition.
export default function openAboutWindow(info: {
icon_path: string;
package_json_dir?: string;
bug_report_url?: string;
copyright?: string;
homepage?: string;
description?: string;
license?: string;
css_path?: string;
adjust_window_size?: boolean;
win_options?: BrowserWindowOptions;
}): BrowserWindow
Only icon_path
property is required, others are optional. I recommend to specify as below to extract information from package.json as much as possible. Path to package.json is also automatically detected if possible.
openAboutWindow({
icon_path: 'path/to/icon.png'
});
You can check example app to know how to use this package.
$ git clone https://github.com/rhysd/about-window.git
$ cd about-window/example
$ npm install
$ npm start
Name | Description | Type |
---|---|---|
icon_path |
Path to icon file of the application. Required | string |
package_json_dir |
Path to directory which contains package.json. If not specified, it will try to detect a path to package.json. If also failed, it gives up and show less information in 'About This App' window. Optional | string |
bug_report_url |
URL to bug report page. If not specified, 'bugs' entry in package.json is used. Optional | string |
copyright |
Copyright notice shown in window. If not specified, it is replaced with license description generated by 'license' entry of package.json. Optional | string |
homepage |
URL of application's web page. If not specified, 'homepage' entry of package.json is used instead. Optional | string |
description |
Description of the application. If not specified, 'description' entry of package.json is used instead. Optional | string |
license |
License of the application. If not specified, 'license' entry of package.json is used instead. This property is used when copyright is not specified. Optional |
string |
win_options |
Options of 'About This App' window. It is merged into default options. Optional | BrowserWindow options object |
css_path |
Path to user-defined CSS file. It will be inserted to DOM of the window. Optional | string |
adjust_window_size |
Adjust the window size to its content not to show scroll bar. Optional | boolean |
open_devtools |
For debug purpose, Chrome DevTools will start when the window is opened Optional | boolean |
Note: copyright
, license
and description
are set with innerHTML
property so they can contain HTML tags for additional markup. Please ensure that they don't contain any untrusted external input in order to avoid XSS. Be careful.