Add README
This commit is contained in:
parent
74c912dda7
commit
ebfed7ddba
82
README.md
Normal file
82
README.md
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
# Generate Linux desktop launchers for Progressive Web Apps
|
||||||
|
|
||||||
|
**pwa-launcher** is a command-line program to generate Linux desktop app
|
||||||
|
launchers for Progressive Web Apps, using either Firefox or Chromium.
|
||||||
|
|
||||||
|
This tool will create a launcher in your standard Linux applications list
|
||||||
|
that uses the favicon of the website in question and will launch the site as
|
||||||
|
a web app in Firefox or Chrome.
|
||||||
|
|
||||||
|
**Note:** at time of writing, Firefox stable (77.0.1) has some support for
|
||||||
|
"site specific browsers" but it is not enabled by default. Enable it in
|
||||||
|
`about:config` by setting **browser.ssb.enabled = true**.
|
||||||
|
|
||||||
|
## Dependencies
|
||||||
|
|
||||||
|
The `icotool` command will be used to extract PNG images from a website's
|
||||||
|
favicon.ico file. Install it with e.g. `apt install icoutils`. If the command
|
||||||
|
is not available, only PNG images such as apple-touch-icons can be used
|
||||||
|
automatically by this program. (.ico files with image/png mime types will
|
||||||
|
be used as PNG images directly, too).
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pwa-launcher [options] <url>
|
||||||
|
|
||||||
|
# Examples
|
||||||
|
pwa-launcher https://www.reddit.com/
|
||||||
|
pwa-launcher -title Reddit -browser google-chrome https://www.reddit.com/
|
||||||
|
pwa-launcher -browser firefox-esr https://www.youtube.com/
|
||||||
|
```
|
||||||
|
|
||||||
|
Options (all are optional unless they can't be auto-detected):
|
||||||
|
|
||||||
|
* **-title**
|
||||||
|
|
||||||
|
Set the app name for the launcher. The default will parse the `<title>`
|
||||||
|
of the website if available.
|
||||||
|
|
||||||
|
* **-browser**
|
||||||
|
|
||||||
|
Specify what web browser to use. Use either the absolute path
|
||||||
|
(/usr/bin/firefox) or just the command name. The default will search
|
||||||
|
for a suitable browser, preferring Firefox > Chromium > Google Chrome.
|
||||||
|
|
||||||
|
* **-icon**
|
||||||
|
|
||||||
|
Specify an icon image to use with the launcher. Can be a local icon on
|
||||||
|
disk or at an HTTP URL (will be downloaded). The default will search
|
||||||
|
the website's HTML to find icons and also check some well-known URIs
|
||||||
|
for Apple Touch icons. The largest available icon size is used by
|
||||||
|
default.
|
||||||
|
|
||||||
|
* **-exec**
|
||||||
|
|
||||||
|
Manually provide the exec line for launching the web browser. By
|
||||||
|
default a suitable value is used based on whether you're using Firefox
|
||||||
|
or Chromium. Providing this option will override the `-browser` option,
|
||||||
|
as the `-browser` is really only used to determine the command name
|
||||||
|
and type of browser you're using.
|
||||||
|
|
||||||
|
Example values include: `firefox --ssb %s` or `chromium --app=%s`
|
||||||
|
|
||||||
|
Use the placeholder "%s" where the URL would go in the command.
|
||||||
|
|
||||||
|
* **<url>**
|
||||||
|
|
||||||
|
The web URL that the launcher will open. If a title and icon are needed,
|
||||||
|
the program will parse the HTML at this URL and search for titles
|
||||||
|
and icons.
|
||||||
|
|
||||||
|
## Launchers and Icons
|
||||||
|
|
||||||
|
Desktop launchers are placed in the user's home directory at
|
||||||
|
`~/.local/share/applications/` and their app icons (PNG images) are
|
||||||
|
placed in `~/.config/pwa-launcher`
|
||||||
|
|
||||||
|
File naming convention is like `pwa-$(domain)-$(time).desktop` where the
|
||||||
|
domain is the base domain of the site (e.g. `www.reddit.com`) and the time
|
||||||
|
is a Unix timestamp.
|
||||||
|
|
||||||
|
To remove launchers and icons, delete them from the above locations.
|
|
@ -11,6 +11,7 @@ import (
|
||||||
var browsers = []string{
|
var browsers = []string{
|
||||||
"/usr/bin/firefox",
|
"/usr/bin/firefox",
|
||||||
"/usr/bin/chromium",
|
"/usr/bin/chromium",
|
||||||
|
"/usr/bin/chromium-browser",
|
||||||
"/usr/bin/google-chrome",
|
"/usr/bin/google-chrome",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user