Skip to content

piec/elecwhat

Repository files navigation

ElecWhat - Simple desktop WhatsApp client for Linux

elecwhat

Features

  • Desktop notifications
  • Tray icon with unread count (aka AppIndicator), custom tray icons.
  • Custom keyboard shortcuts (default)
  • Custom CSS
  • Spellcheck
  • CLI & D-Bus interface to show/hide/toggle window
  • Dock unread count badge
  • Very stable, I have been running it for 1+ year without crash/freeze
  • Can be trusted:
    • Code easy to review - ~800 lines of code currently
    • Automatically built by GitHub Actions (CI)
  • Preserve window position
  • Custom user scripts in ~/.config/elecwhat/user-scripts/*.js
  • Custom tray icons in ~/.config/elecwhat/user-icons/*.png by default

Why?

I created this client after due to recurrent stability issues with other linux clients. Also I just wanted a simple and stable client and thought it could be done without much code with electron.

Install

If you use Gnome, I recommend using this AppIndicator extension in order to show tray icons

Ubuntu/Kubuntu:

Arch Linux:

Debian:

Fedora:

Configuration

~/.config/elecwhat/config.json:

(or for snap: ~/snap/elecwhat/current/.config/elecwhat/config.json)

{
  "log-level": "info",
  "notification-prefix": "elecwhat - ",

  "quit-on-close": false,
  "show-at-startup": false,

  "dbus": true,

  "menu-bar": true,
  "menu-bar-auto-hide": true,

  "keys": {
    "C ArrowDown": {
      "whatsappAction": "GO_TO_NEXT_CHAT"
    }
  },
  "esc-toggle-window": false,

  "css": [
    "span { font-size: small !important; }",
    "https://gist.githubusercontent.com/piec/3f9a198a7694f1df37895ee3faee9b6e/raw/whatsapp-test.css",
    "file://~/mysheet.css"
  ],

  "spellcheck": true,
  "spellcheck-languages": ["en-US", "fr"],

  "user-agent": "...",
  "open-dev-tools": false,

  "scripts": [
    # ~/.config/elecwhat/user-scripts/myscript.js
    "${userData}/user-scripts/myscripts.js"
  ],
  "icons-directory": "..."
}

Custom icons

The naming scheme is based on WhatsApp Web favicon urls:

  • ~/.config/elecwhat/user-icons/app.png during startup
  • ~/.config/elecwhat/user-icons/favicon.png when there is no unread
  • ~/.config/elecwhat/user-icons/f01.png where fXX.png is the number of unread

Not planed

  • Multi account
  • Complex features
  • Other OS support, official apps already exist. Porting would probably be easy though thanks to electron.

About

Simple desktop WhatsApp client for Linux

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •