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.
This project is an actively-maintained fork of the Gmail Desktop project.
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.
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
)
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)
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.
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.
The build process is very simple:
-
Clone the repo using
$ git clone https://github.com/cyfrost/gmail-electron
. -
Install project dependencies by running
$ make env
in project root directory (NodeJS is a prerequisite). -
To start the app (and debug any changes), do
$ make run
in the project root directory (or$ npm run start
). -
(Optional) To update the app dependencies, do
$ make update
.
After making your changes, you can simply use any of the below commands to build 64-bit distribution packages.
- Run
$ make build-rpm
to build.rpm
packages (for Fedora/CentOS/RHEL/SuSE). - Run
$ make build-deb
to build.deb
packages (for Debian/Ubuntu and derivatives). - Run
$ make build-pacman
to build.pacman
packages (for Arch/Manjaro and derivatives). - Run
$ make build-appimage
to build.AppImage
package (for almost every distro out there). - Run
$ make build-win
to build Windows.exe
files. - Run
$ make build-linux
to build both.DEB
and.RPM
packages. - Run
$ make build-all
to build packages for both Windows and Linux (basically all the above).
No rules for contributing, Just send a PR :)
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.
Inherited from upstream, no changes.
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.