/gmail-electron

Gmail desktop app for Linux and Windows (fork of https://github.com/timche/gmail-desktop)

Primary LanguageTypeScriptMIT LicenseMIT

Gmail Desktop

This project provides the Gmail web app as a native desktop application (for Windows and Linux only).

This app was built using the open-source Electron.js framework.

Disclaimer

This project is an actively-maintained fork of the Gmail Desktop project.

Motivation behind the fork

I'd wanted a Gmail desktop app that supports Linux, has Push notifications, and a Tray icon. A little hunt found me this brilliant project, thanks to FOSS.

There are a few things I wished were different about it just to make it more suited to my workflow. Implementing some of those changes may not be feasible upstream. Hence this fork, which caters to only my needs.

Differences from upstream project

The following are whats different about this project compared to the upstream project.

  • Added rudimentary support for handling network reset events; Gmail will refresh itself when there's a network change to avoid missing out on push notifications (Test/repro scenario: wake from S3 and you should see Gmail refreshing itself).
  • Dropped all (code + builds) related to macOS since I do not use a Mac in any of my workflows.
  • Reverted all custom styles made by upstream; no css will be changed at all.
  • Removed ability to inject custom CSS (this + above change are done to prevent any rare issues that stem from modifying 3rd party stylesheets. For instance, when gmail changes their css vars and co.; This sacrifices customization but I can live without it :)).
  • Removed travis CI pipelines since this repo doesn't have integration hooks setup yet (will soon be re-added).
  • [meh] Added a decorated About App page accessible via Tray icon > About.
  • The menu bar is hidden by default and can be made visible by hitting the Alt key, this is ephemeral and not preserved.
  • Supports "Start as Minimized" feature (can be triggered in autostart via gmail --start-minimized)

Features

Most features inherited from upstream (excepting those related to macOS and custom styling), plus:

  • Supports refreshing self on network changes to avoid missing push notifications
  • [minor/meh] a fancy-yet-almost-useless About page
  • [minor/meh] Start as minimzed (nice to have it though)

Download

GNU/Linux

For APT based distros (Debian/+ derivatives): get the .deb package from here.

For DNF based distros (Fedora, RHEL, CentOS, SuSE): get the .rpm package from here.

For Arch and derivatives: get the .pacman package from here.

.AppImage or .snap for everyone else.

Windows

For Windows 7 and above, get the latest .exe file from here and install it normally by running it. There are no configurable options in the installer.

Build Instructions

The build process is very simple:

  1. Clone the repo using $ git clone https://github.com/cyfrost/gmail-electron.

  2. Install project dependencies by running $ make env in project root directory (NodeJS is a prerequisite).

  3. To start the app (and debug any changes), do $ make run in the project root directory (or $ npm run start).

  4. (Optional) To update the app dependencies, do $ make update.

Building Distribution Packages

After making your changes, you can simply use any of the below commands to build 64-bit distribution packages.

  1. Run $ make build-rpm to build .rpm packages (for Fedora/CentOS/RHEL/SuSE).
  2. Run $ make build-deb to build .deb packages (for Debian/Ubuntu and derivatives).
  3. Run $ make build-pacman to build .pacman packages (for Arch/Manjaro and derivatives).
  4. Run $ make build-appimage to build .AppImage package (for almost every distro out there).
  5. Run $ make build-win to build Windows .exe files.
  6. Run $ make build-linux to build both .DEB and .RPM packages.
  7. Run $ make build-all to build packages for both Windows and Linux (basically all the above).

Contributing

No rules for contributing, Just send a PR :)

Maintainer

I maintain this fork for just myself, but all credits to @timche and @markpython for originally starting and maintaining the upstream app. Read more about it here.

License

Inherited from upstream, no changes.

Disclaimer

The Gmail app provided by this "forked" project is a community-built open-source app that relies on open-source technologies for its functionalities and is in no way affiliated with or endorsed by Google.