electrify.me v0.2.2 - Create a native-like app from a website. Just like that

Today I released electrify.me v0.2.0. This is a patch release including bugfixes and stabilizations.

Further information

electrify.me is a tool to run a website as native-like application. Electrified websites are available in your task bar, start menu or launchers. Just like a native application.

You can customize the apperance of your electrified website by injecting CSS into the website, start the app in kiosk mode, open it at specific window positions and much more.

Usage

Download source archive and run..

./electrify https://web.whatsapp.com

Startup process

A subfolder _electrified will be created, containing the extracted and converted favicons and a reusable settings file (see below). Furthermore you will find a desktop link to restart your configured app and to add the link to your start menu or launcher bar.

Options

For details on options etc. run ./electrify -h.

Usage:   <electrify> [URL] ([OPTS])

Options:
    -c <FILE>   CSS to be injected into website.
    -m          Window maximized.
    -d          Run in development mode.
    -r <FILE>   Read settings from local file (all other options are ignored).
    -h          Print this help.

Example: <electrify> https://web.whatsapp.com -c inject.css -d

Settings file

The setting file that you can read/write via the command-line options will look something like this:

{
  "url": "https://web.whatsapp.com",
  "cssFile": "my-css-injections.css",
  "devMode": false,
  "maximized": false,
  "hideScrollbars": false,
  "windowSettings": {
    "fullscreen": false,
    "fullscreenable": true,
    "resizable": true,
    "movable": true,
    "frame": true
  },
  "manualIcon": null
}
Parameter Purpose
url The URL you want to electrify
cssFile The css file to be injected. Can either be an absolute path or filename only, if the cssFile resides next to the settings file.
devMode If true, opens the chromium devevelopment console on startup
maximized If true, opens the window maximized
hideScrollbars Tries to suppress window scrollbars
windowSettings Fine-grained Electron window settings (Attention: Parameters icon, show, and webPreferences will always be overwritten)
manualIcon Path to a manual icon to be set (in case electrify cannot determine a favicon)

Limitations and future work

electrify.me is in its baby shoes. Pull requests and ideas are very welcome.

Current To-Dos

Favicon extraction

Favicon extraction is still somewhat shaky. The reason is that icon files are not supported by electron and that there is no non-native way to convert ico to png. Currently imagemagick/convert is used. So further work would include:

  • Add an imagemagick build for linux systems to support ico-2-png conversion for it.
  • Add an imagemagick build for mac systems to support ico-2-png conversion for it.

or

or

Installing

  • Create executable packages
  • Create installer packages

Other

  • Support for MAC (it’s an electron app afterall, but I cannot test myself)
  • Support for WIN (it’s an electron app afterall, but I cannot test myself)

Licence and attributions

Icon made by Freepik from www.flaticon.com

Code is licensed under GPLv3.

This small tool is powered by the awesome Electron framework.