GNOME Web
A simple, clean, beautiful view of the web
GNOME Web (referred to on this page by its codename, Epiphany) is the default web browser for the GNOME desktop environment.
Epiphany aims for integration with the GNOME desktop and easy of use. Epiphany only aims to make Epiphany usable within GNOME. Example: network proxy configuration is handled from the GNOME control center installed instead of Epiphany itself. See the Epiphany Manifesto
Epiphany uses WebKitGTK from the WebKit project to display web pages.
Contents
General
Another project took the "Epiphany" name!
The maintainers of the other project (a boulder-dash clone) agreed to share the name. On Debian systems, the GNOME epiphany binary is renamed to epiphany-browser to avoid name conflict.
What about Galeon?
Epiphany was forked from Galeon to be able to build a more usable browser for non-technical users. This involves removing confusing/technical features but more importantly redesign and add new features important for this part of the users. See the detailed history of Galeon, for more information on the Epiphany split.
Extensions and Plugins
Does Epiphany support extensions?
No. Epiphany did support extensions in the past, but they were fragile as they required access to browser internals and broke very often when new versions of Epiphany were released. To avoid these problems, we would love to support WebExtensions, the same extensions standard that is implemented by both Chrome and Firefox. Contributions would be highly welcome. Regardless, Epiphany aims to obviate the need for most extensions by having the functionality of most important extensions, such as adblocking, built-in and enabled by default.
Note that extensions are completely different from plugins.
Does Epiphany support plugins?
As of Epiphany 3.36, NPAPI plugins are no longer supported. Plugins (like Flash, QuickTime, and Java) are a legacy technology and no longer used except by extraordinarily obsolete websites. Unlike extensions, which would be nice to support, we have no intention of ever supporting any form of plugins again.
Mozilla and Firefox
What about Firefox as the default GNOME browser?
Epiphany's GNOME integration is better than Firefox's. This includes:
- Simplicity - Epiphany aims for the simplest interface possible for a browser. Simplicity can be achieved by providing advanced features in an intuitive manner. Epiphany's modularity helps make a light and powerful application. External applications and components are used when possible. Examples: 'View source' launches a gedit window instead of a browser view source window, and 'Help' launches Yelp instead of a foreign help browser.
HIG compliance - Epiphany aims to follow GNOME Human Interface Guidelines (HIG). Non-compliance with the HIG is a bug, unless there are grave reasons to make an exception. Contrast this with Firefox, which follows few HIG recommendations.
- WebKitGTK - Unlike Firefox, WebKitGTK uses your GTK theme to render HTML widgets like buttons and checkboxes, delivering superior desktop integration. WebKitGTK offers many technical advantages over Firefox beyond desktop integration, such as better multimedia support using GStreamer. Also, depending on WebKitGTK, a system library, allows us to maintain a featureful and functional web browser with orders of magnitude less code than Firefox. Less code means Epiphany is much easier to maintain, allowing us to manage with a smaller development team, and making it relatively easy to become familiar with the codebase and contribute to Epiphany.
Localization consistency - Epiphany translations are managed by the GNOME translation project. This ensures a much greater consistency level with other translated GNOME components than Firefox can give, where translations must also blend in with Windows. Furthermore, some Mozilla-provided translations are low quality, and Mozilla translations are always beyond the control of the GNOME translation project.
- Complete lockdown via GSettings - indispensible for system administrators or kiosk mode.
- Follows the icon theme - because Epiphany uses the GNOME framework, it will instantly use the icon theme you've selected. Firefox equivalents have been painstakingly recreated for some themes, but people who are using one which lacks an equivalent, are out of luck.
- Support for GNOME accessibility features such as themes for users with vision disabilities.
- GNOME keyring integration, so you can manage your web passwords in the Passwords and Keys app like all your other passwords.
- Support for new platform technologies, like GTK 3 and Wayland. Epiphany switched to GTK 3 roughly five years before Firefox did. And Firefox's Wayland support is still experimental (as of February 2017). Firefox will never be able to offer a good user experience when it is stuck in the past.
Many distributions use Firefox as the default browser. Why bother with Epiphany?
We are concerned that distributions favor Firefox over Epiphany. We strive to improve Epiphany as much as possible, so that distributors would use it as the default browser. We welcome your suggestions and especially your contributions.
Epiphany will never have the brand name recognition Firefox has.
Epiphany does not strive for brand name recognition. Epiphany strives to be low-key, staying out of people's way. Epiphany aims for unobtrusiveness, so that people don't notice when using it. Epiphany is also solely targeted at users of the GNOME desktop environment, so it is competing only for a small subset of Firefox's userbase.
Technical
How do I define a system-wide web application?
Let's say your application is called "Example" and it launches "https://www.example.com". You need to create a .desktop file as follows:
[Desktop Entry] Version=1.0 Type=Application Exec=epiphany --application-mode=example.desktop https://www.example.com Icon=example StartupNotify=true StartupWMClass=example Terminal=false Name=Example application Comment=A system-wide web application
Note that the exec line includes a reference to the web app URL and to the .desktop file itself. Store the desktop file and matching icons in the usual locations, for example:
- /usr/share/applications/example.desktop
- /usr/share/icons/hicolor/128x128/apps/example.png
You can also reference local HTML files as follows:
[Desktop Entry] Name=Fedora Developer Portal Comment=The developer workstation you've been waiting for. GenericName=Documentation Exec=epiphany --application-mode=fedora-developer-portal.desktop /usr/share/fedora-developer-portal/index.html Icon=fedora-developer-portal StartupWMClass=fedora-developer-portal Type=Application StartupNotify=true MimeType=text/plain;