# Epiphany Extensions Manual

## Introduction

&fr; are a set of tools that extend the capabilities of &app;, the GNOME Web Browser.

They provide to Epiphany new functionality and complete some existing.

## Extensions Manager

### Introduction

The Extension Manager is the tool that lets you activate Epiphany Extensions.

### Using Extensions Manager

To open the Extension Manager, choose Tools Extension....

To enable an extension, activate the check-box in front of the extension. To disable an extension, deactivate the check-box.

## Actions

### Introduction

The Actions extension allows you to create specific actions in the context menu, for images, pages or both.

### Manage Actions

#### Create Actions

To create an action, perform the following steps:

1. Choose Edit Actions to open the Actions manager

2. Press Add to add a new action

3. In the "Add Action" window,

   - Enter the Name of the action. The name will be displayed in the context menu

   - Enter the Description of the action. The Description will be displayed in the statusbar of &app; and in the Action Manager

   - Enter the Command to execute. this command will be executed and will receive as argument the element on which you'll launch the action. This action can be any program or script available in your path

   - Select Pages or Images to choose on which elements the action will appear

   - Press Add

4. Press Close to close the Actions Manager

##### An example of action

#### Edit Actions

To edit an action, follow these steps:

1. Choose Edit Actions to open the Actions manager

2. Select the action to edit

3. Press Edit

4. Edit the action as described in epi-ext-action-manage-create

#### Delete Actions

To delete an action, do the following:

1. Choose Edit Actions to open the Actions manager

2. Select the action to delete

3. Press Remove

4. Press Close to close the Actions Manager

### Using Actions

To use a custom action, choose the action to execute from the context menu of the element you wish to perform the action on.

#### The &app; image context menu with a custom action

## Ad Blocker

### Introduction

The Ad Blocker extension lets you block ad banners on websites. It avoids downloading them, saving time and bandwidth.

### Using Ad Blocker

To use the Ad Blocker, you have to enable the extension. The extension will ignore link to ads when you visit websites, and they won't be displayed in web pages.

&app; will display an icon in left side of the status bar (see epi-ext-figure-adblocker) to inform you that it has blocked ads. If you move the mouse pointer over the icon, it will give you of the number of ads blocked in the page.

#### The Ad Blocker icon

### Extend Ad Blocker

Ad Blocker should block most of the advertisement on the web, but if you find that some banners are not blocked or Ad Blocker is too restrictive, you can tune Ad Blocker extension to match your needs.

Ad Blocker uses Perl regular expressions to match known URLs of ads servers and common words used in URLs of ads. Ad Blocker stores the system-wide rules in the file `adblock-patterns` located in `$PREFIX/share/epiphany-extensions/`; one regular expression per line.

#### Add a deny rule

If you want to block an ad not blocked by the Ad Blocker default rules, you may create a blacklist file, and add rules inside.

&app; looks for the blacklist rules in the file `$HOME/.gnome2/epiphany/extensions/data/adblock/blacklist`.

#### Add a permit rule

If you want allow to permit an ad to be displayed or correct a rule of Ad Blocker which is too restrictive, you can create a whitelist file, and add rules inside.

&app; looks for white-list rules in the file `$HOME/.gnome2/epiphany/extensions/data/adblock/whitelist`.

## Auto Reload Tab

### Introduction

The Auto Reload Tab extension allows you to regularly reload a page in a tab.

### Using Auto Reload Tab

Enter the URL of a page you want to open and you know its content change often, then choose View Auto Reload to enable auto reload, &app; will refresh each 3 minutes.

#### Auto reload local files

When a local file is opened, &app; will monitor it and reload the file when it changes.

## AutoScroll

### Introduction

The Auto Scroll extension allows you to automatically scroll a page in any direction. For instance, if you set a slow scroll, you can read a whole web page without touching your mouse.

### Using Auto Scroll

To start to auto scroll on a page,

1. Press and release the middle-mouse button; a target appears, and the cursor of mouse pointer is changed to a hand cursor.

2. Move the cursor in the direction to scroll. The page will start to scroll in that direction.

## Certificates

### Introduction

The Certificates extension gives access to the certificates stored by &app;, in order to view or manage them.

### Using Certificates

#### View website certificate

When you browse a secured website, the unlocked padlock which appear on the left of the status bar becomes a locked padlock. When the Certificates extension is activated, you can click on the padlock, it will display the certificate information.

#### Manage Certificates

Certificates extensions lets you manage the certificates stored by &app; Browser.

To display the Certificate Manager, choose Tools Manage Certificates, it gives access to 4 tabs:

Your Certificates

- To import, view, backup and delete your own certificates. Personal Certificates can be used to identify when you browse a sensible site.

Other People's

- To import, view, edit and delete certificates from people you know.

Web Sites

- To import, view, edit and delete certificates from website you visited.

Authorities

- To import, view, edit and delete certificates from authorities. Authorities are organizations which create and validate the authenticity of published certificates over the Internet.

#### Manage Security Devices

Security Devices are used encrypt and decrypt connections and can store certificates and passwords.

## Error Viewer

### Introduction

The Error Viewer extension allows you to view errors in web pages, validate web pages and check links.

### Using Error Viewer

The Error Viewer is a small but useful extension for webmasters to check that websites (specially yours) conform to Web standards. This extension comes with 3 functions:

Links Checker

- Detects dead links on a site

HTML Code Checker

- Checks the validity of the source code.

Error Viewer

- Displays various errors of a webpage (like javascript, ...)

To launch the Links Checker, choose Tools Check Links. The error viewer window will open, and the links verification will start automatically.

To launch the HTML Code Checker, choose Tools Check HTML. The error viewer window will open, and the HTML code verification will start automatically.

To launch the Error Viewer, choose Tools Error Viewer. The error viewer window will open, it will display all the validation errors discovered in the web page.

## Favicon Fallback

### Introduction

The Favicon Fallback extension allows to retrieve the icon favicon.ico when the favicon is not well declared in web page.

### Using Favicon

Once activated, this extension will retrieve the picture file /favicon.ico on each site you will visit if this file exists. Then &app; will display this icon on the left of the location bar.

## Gestures

### Introduction

The Gestures allows you to quickly perform actions in &app; by drawing a shape with the mouse.

### Using Gestures

To perform a gesture, press the middle button in the view pane of a &app; window, move the mouse in one of the following patterns, and then release the button. The cursor will change while the gesture is being performed.

### List of available default patterns in &fr;

Action | Gesture | Example
Go back in history | Left |
Go forward in history | Right |
Go up in a directory | Up - Left - Up |
Go to your home page | Up - Left - Down |
Reload the page | Up - Down |
Stop loading the page | Left - Up |
Open a new window | Up |
Open a new tab | Down |
Close a tab/window | Right - Left - Right |
Close a tab /window (second gesture) | Down - Right |
Toggle full-screen mode | Down - Left |
Go to the next tab | Up - Right |
Go to the previous tab | Up - Left |
View the page source | Left - Down - Right - Down - Left (Do a S) |
View the page source (Second gesture) | Up - Right - Down |

### Create gestures

The Gestures extension lets you create your own gesture patterns, and so let you extend the set provided by default.

#### Understand how gesture works

&app; stores the definition of the gestures for all users in the file `ephy-gestures.xml` located in the directory `$PREFIX/share/epiphany-extensions/`; this file uses the xml format, and defines the gestures for all the users of the system.

If you open this file, you see a set of markup gesture, and inside them, there is one of several markup sequence and one markup action.

##### A Gesture Example

    <!-- down-left -->
    <gesture>
    	<sequence>36987</sequence>
    	<sequence>3687</sequence>
    	<action>/menubar/ViewMenu/ViewFullscreenMenu</action>
    </gesture>

#### Create new gesture

In this section, we will explain how to create a new gesture. We will decide to print the web page when we will draw a P with the mouse.

To create your own gestures, first create a file named `ephy-gestures.xml` in the directory `~/.gnome2/epiphany/` which will store your personal gesture definitions.

Open the newly created file with a text editor and add the following content:

    <?xml version="1.0"?>
    <epiphany_gestures version="0.4">
    	<gesture>
    		<sequence></sequence>
    		<action></action>
    	</gesture>
    </epiphany_gestures>

##### Define the gesture movement

To define a new gesture, you need at least one or several sequences and an action to execute.

A sequence is a set of numerical values between 1 and 9 which define the gesture to draw following a phone keypad layout (with "1" placed to the top-left hand corner and the "9" at the bottom-right hand corner).

If we want to draw a P, the key sequence is 74123654, insert this value between the markups "sequence".

    <?xml version="1.0"?>
    <epiphany_gestures version="0.4">
    	<gesture>
    		<sequence>74123654</sequence>
    		<action></action>
    	</gesture>
    </epiphany_gestures>

##### Define the action

An action describes the path to a menu or toolbar item in the &app; window. All these paths are defined is the file `ephy-gestures.xml` located in `$PREFIX/epiphany-browser/epiphany-ui.xml`

    <?xml version="1.0"?>
    <epiphany_gestures version="0.4">
    	<gesture>
    		<sequence>74123654</sequence>
    		<action>/menubar/FileMenu/FilePrintMenu</action>
    	</gesture>
    </epiphany_gestures>

## Greasemonkey

### Introduction

Greasemonkey is a powerful extension that allows users to use scripts that make on-the-fly changes to web pages. The greasemonkey scripts can make page modifications or automatically fill forms for instance.

Greasemonkey scripts are javascripts and have the file extension ".user.js". Greasemonkey extension doesn't come with any scripts, you have to find by yourself scripts over the web. A good Greasemonkey scripts repository is the site http://userscripts.org/.

To learn more about Greasemonkey, read the definition on the Wikipedia on-line enciclopedia.

### Using Greasemonkey

#### Install a Greasemonkey script

To install a Greasemonkey script, first locate a link to a greasemonkey script on a web page, right-click on the link, and choose Install User Script. &app; will download the script; a message box will confirm the script is installed and ready to use.

You can manually install Greasemonkey scripts by copying them in `$HOME/.gnome2/epiphany/extensions/data/greasemonkey/`

#### Remove a Greasemonkey script

&app; doesn't provide a Graphical User interface to delete scripts; to remove a script go to `$HOME/.gnome2/epiphany/extensions/data/greasemonkey/` , and move the script file in the trash.

## Java Console

### Introduction

Java Console extension provides access to the Java-Plugin Console.

### Using Java Console

To display the Java Console, choose Tools Java Console.

## News Feed Subscription

### Introduction

The News Feed Subscription extension allows you to subscribe to a news feed offered by the web page in your favorite news reader. The supported feed readers are

- Liferea

- Straw

- Blam

### Using News Feed Subscription

When &app; detects a that a website provides RSS and Atom feeds, it will display an icon on left side of the &app; status bar.

To register this feed:

1. Choose Tools News Feed Subscription, a new window with the list of available feeds appears. You can also click on the Feed icon in the status bar to make the News Feed Subscription window appear.

2. Choose the feeds you wan to subscribe to. You can also copy the feed Loaction using the feed's context menu.

3. Press Subscribe to subscribe the feeds.

## Page Info

### Introduction

The Page Info extension provides detailed information about the web pages you visit.

### Using Page Info

To access the page information choose View Page Information; a new window appears, letting you access 5 tabs:

General

- Provides various information on the page and the website

Media

- displays media files (pictures, sounds,...) used on the page.

Links

- Provides all the links of the web page.

Forms

- All the forms available in the page are displayed.

Metadata

- Displays all the information entered by the webmaster about the site.

## Push Scroll

### Introduction

The Push Scroll extension provides scroll function while the middle mouse button is pressed.

### Using Push Scroll

To use Push Scroll, simply press the middle mouse button, and move your mouse in any direction, the page will scroll.

## Python Console

### Introduction

Opens an interactive Python console, and allows to modify &app; through Python.

### Using Python Console

To display the Python Console, choose Tools Python Console.

## Select Stylesheet

### Introduction

The Select Stylesheet extension lets you switch between the stylesheets of a web page. You can also disable the stylesheets when you browsing a page.

### Using Select Stylesheet

To change the style sheet of the website you visit, choose View Style , then choose a style sheet from those available.

If you choose the style sheet none the website will not use any style sheet.

## Sidebar

### Introduction

The Sidebar extension adds a small window on the left side of the &app; window. Sidebar allows to display website content and can provide quick access to their information.

### Using Sidebar

#### &app; with a Sidebar displayed

#### Display Sidebar

By default, the Sidebar is not displayed; to display the Sidebar, choose menu View Sidebar.

You can also toggle the visibility of Sidebar by pressing F9.

#### Add a Sidebar

To add a Sidebar, activate the Sidebar extension, then click on the link that the website provides to install the sidebar. A window requests to add the document to the Sidebar, click Add a Sidebar, the sidebar document is added to the Sidebar.

You can find a list of websites that provide sidebar on DMOZ.

#### Switch between Sidebars

When you have subscribed to several sidebars, to switch between them, select the Sidebar from the drop-box at the top of the Sidebar.

#### Delete a Sidebar

To delete a Sidebar which you have added, display the sidebar to delete and press the trash icon.

## Smart Bookmarks

### Introduction

The Smart Bookmarks extension is an extension that enable to look up selected text with a smart bookmark.

### Using Smart Bookmarks

To create a smart bookmark, see the appropriate section in the &app; manual.

To look up text, select the text in a web page and choose look-up and the smart bookmark from the context menu. A web browser will be opened with the result of the look-up.

## Tab Groups

### Introduction

The Tab Groups extension makes new tabs appear after the current tab.

### Using Tab Groups

Once this extension is enabled, it changes the normal behaviour (where new tabs are created after the last tab) to a new one. When you open a new tab, it will be created after the current tab.

#### A new tab created after the first tab

## Tab States

### Introduction

The Tab States extension changes the status of the tab label to signal the content has changed.

### Using Tab States

Once this extension is enabled, when the content of a page in a tab changes, the tab label will become bold, to notify you that the page has changed.

## About &fr;

&fr; were written by

- Samuel Abels (spam2@debain.org)

- Crispin Flowerday (gnome@flowerday.cx)

- Adam Hooper (adamh@cvs.gnome.org)

- Mathias Hasselmann (mathias@taschenorakel.de)

- James Henstridge (james@daa.com.au)

- Jean-Yves Lefort (jylefort@brutele.be)

- Christian Persch (chpe@gnome.org)

- Raphaël Slinckx (raphael@slinckx.net)

- Justin Wake (jwake@iinet.net.au)

This manual was written by Baptiste Mille-Mathias baptiste.millemathias@gmail.com.

This program is distributed under the terms of the GNU General Public license as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. A copy of this license can be found at this link, or in the file COPYING included with the source code of this program.