# Midori - Frequently asked questions

This document is licensed under the LGPL 2.1.

This is a list of frequently asked questions about the Midori Web Browser. Anyone feel free to improve and/ or extend this page, but keep it clean and easy to read for other Xfce users.

# Getting started

## About Midori

#### What is "Midori" and why should I use it?

Midori is a Web Browser, that aims to be lightweight and fast. It aligns well with the Xfce philosophy of making the most out of available resources.

#### How to pronounce Midori and what does the name mean?

Pronounce it “midoɺi”, with a Spanish/ Japanese “r” or “Mee-Doh-Ree” in English or read it Italian. The name comes from the Japanese word 緑 (みどり) for the colour “green”.

#### What does the logo mean?

The paw of a green cat. Obviously. Also it resembles the letter “M” in “Midori”. The curving is supposed to emphasize speed.

#### On which platforms does Midori run currently?

Midori is basically very portable and should run on all platforms that its dependencies support.

#### Under which license is Midori distributed?

Midori and all delivered artwork are licensed under the LGPL2.

## Common problems

#### Why does Google Mail/ Calendar/ Maps, Facebook not work or show mobile version?

Some websites discriminate against your browser.

If you have Midori older than 0.3.5, go to Preferences > Network > Identify As, and choose Custom. Paste this into the entry:

Mozilla/5.0 (X11; Linux) AppleWebKit/531.2+ Midori/0.3

If this doesn't do the trick, try choosing Safari or Firefox.

Many other websites use similar means of detecting the browser.

Ideally Google would follow their own recommendation at some point.

#### There are missing icons/ warnings

The set of themed icons Midori can use is very limited. For instance icons for a new tab or the throbber are not guaranteed to be available. To fix this, install a Freedesktop.org spec compliant icon theme, such as Elementary, Faenza, Buuf or GNOME.

#### Tweaking Midori on the Gtk level

If you don't have a desktop application that takes care of Gtk settings or if your interface doesn't support a particular feature, you can modify any settings easily manually by specifying them in a text file called ~/.gtkrc-2.0 or /etc/gtk-2.0/gtkrc:

Use Tango as a fallback for your icon theme:

    gtk-icon-theme-name = "MySuperFancyTheme"
    gtk-fallback-icon-theme = "Tango"

Use a smaller toolbar:

    gtk-toolbar-icon-size = GTK_ICON_SIZE_SMALL_TOOLBAR

Enable changing hotkeys while hovering menu items:

    gtk-can-change-accels = 1

#### Midori crashes shortly before pages are loaded

There appears to be an issue with Glib 2.16. The recommended solution is to upgrade your Glib package to 2.18.

#### Flash/ Netscape plugins don't work

You need to set MOZ_PLUGIN_PATH, for example like this:

    export MOZ_PLUGIN_PATH="/usr/lib/mozilla/plugins"

The official Flash plugin is called libflashplayer.so .

You can either run that above line and run Midori in the same terminal afterwards or, for the long term, put it in ~/.bash_profile or /etc/profile.d or your respective distribution's place for this.

#### Flash is crashing all the time

Try searching for a package named nspluginwrapper or similar in your distribution repositories. It implements plugins in their own process so they can't drag down the whole browser.

#### HTTPS URLS won't load

That's a problem with WebKit. You can work around it to some extent if you start Midori like so:

    export WEBKIT_IGNORE_SSL_ERRORS="1" midori

#### Scroll with middle mouse button

http://ubuntuforums.org/showthread.php?t=478418

#### HTML5 Video doesn't play

You need to have GStreamer plugins installed which implement the codecs.

1. You need gstreamer0.10-pulse if you're using PulseAudio.
2. You may need gstreamer0.10-alsa for ALSA, depending on your distribution.
3. With Arch Linux, you may need to install liboil explicitly if it is not installed already (see this bug report).
4. You need plugins for Theora, gstreamer0.10-base and MPEG-4 incluing aac (e.g. gst-plugins-faad), gstreamer0.10-bad. For WebM, you'll need plugins for vorbis (-base), matroska (-good), and vp8 (-bad). Have a look at http://www.gstreamer.net/documentation/plugins.html for details.
5. For Youtube or Vimeo, you need WebKitGTK+ 1.1.20 or newer.
6. You can test your installed codecs here..
7. Since Midori 0.3.5 you can look at “about:version” to see which video codecs you have installed.

#### Java doesn't work, applets don't show up

Java is supported in WebKitGTK+ since 1.1.22. If you need Java, you need to upgrade to at least that version. Sun/ Oracle Java as well as IcedTea are known to work. Distribution specific setup might be required, such as setting LD_LIBRARY_PATH to include the location of libxul.so and making a symbolic link for libnpjp2.so to /usr/lib/mozilla.

icedtea6 version 1.8 and above has been known to crash midori. If this is the case for you, try sun-jre.

#### Are SOCKS proxy servers supported?

Currently only HTTP proxy servers are supported directly. A way to use SOCKS on Unix is to use tsocks with SSH as follows:

1. Install 'tsocks'
2. Open /etc/tsocks.conf in an editor
3. Type something like this, you can choose the port freely:

       server = 127.0.0.1
       server_type = 5
       server_port = 5555

4. Open an SSH connection with the same port:

        ssh -D localhost:5555 myhost.com

5. Run Midori with “tsocks” in front of it:

        tsocks midori

6. Now you can use for example http://www.whatsmyip.org/ to verify that you are using a SOCKS connection. The IP address should match the one of your SSH host. Remember to keep the SSH login running, and don't suspend it, otherwise it won't work.
7. If the connection fails for some reason, you should see a connection error.

#### How do I get rid of the menubar?

In the menubar, go to View → Toolbars → Menubar, voilà the menubar is gone and a new icon appears at the right end of the toolbar. Click the icon to access functionality that otherwise sits in the menubar. Midori 0.3.2 disables the menubar by default.

#### Why can't I use periods when searching from the location bar?

Midori tries to make a smart guess on whether you are searching for something or typing a valid address by hand. Yet there are ambiguous cases so it fails.

Try using 'g' in front of the search terms, like 'g Ms.Marple'. The 'g' is a token that tells the browser you want to use Google. See Tools > Manage Search Engines or right-click the location bar and select the menu item, to look at search engines and tokens.

#### How can I reload and bypass the cache?

Hold the Shift key while clicking Refresh in the toolbar (this works in Chromium, Mozilla, Opera and Safari, too). Since Midori 0.3.2 you can use Ctrl+Shift+R.

#### How do I make tabs pinned/ sticky/ minimized?

Right-click the tab label, and click 'Minimize' or 'Show Tab Icon Only' (Midori 0.3.5 or older).

#### Why doesn't Google "live search" work?

You need to set Preferences > Network > Identify As to Firefox.

#### Opening html email with Mutt

Place the following in ~/.mutt/mailcap or ~/.mailcap:

    text/html; midori -a '%s'; test=test -n "$DISPLAY"; nametemplate=%s.html

#### Scrolling on website xyz is very slow

1. Go to Tools > Extensions
2. Enable 'User Addons' if it's not yet enabled
3. Create a text file .local/share/midori/styles/scrollfix.user.css
4. Put this into the file: * {-webkit-box-shadow: none !important;}

#### File opening doesn't work/ PDFs are opened with GIMP

Midori opens files with GIO, and falls back to xdg-open, exo-open or gnome-open if these are available. All of this relies on freedesktop.org MIME configuration. To tweak this there are multiple options:

1. Use 'Open With' with a graphical file manager
2. Edit ~/.local/share/applications/defaults.list with a text editor
3. Run something like ‘xdg-mime default evince.desktop application/pdf’

xdg-open knows how to handle GNOME, KDE and Xfce. LXDE is unfortunately not supported yet, see https://bugs.freedesktop.org/show_bug.cgi?id=26058

#### Open magnet:, irc:, apt: and friends with an application

As of git 2011-03-05 02:40:00 UTC and Midori 0.3.3 you can

Add a line to ~/.local/share/applications/mimeapps.list:

      x-scheme-handler/magnet=transmission-gtk.desktop

Or install an application which advertises the scheme like so:

      MimeType=x-scheme-handler/magnet;

Note that incomplete .desktop files will silently fail and it will look as if it doesn't exist.

# Features

## Web Applications

There are two closely related features to open websites as dedicated windows of their own. You can do the following to use them:

1. Right-click a hyperlink → Open as Web Application
2. Add or Edit a bookmark → [x] Run as web application
3. Type ‘midori -a http://foo.bar’ on a command line

You can also add options such as ‘-e Fullscreen’, ‘-e Navigationbar’ or ‘-e Statusbar’ (as of Midori 0.2.9 ‘midori –help-execute will list all available commands’)

## Private Browsing

1. File menu/ App Menu button → Private Browsing

A private window is a separate process, so crashes don't affect the normal browser session. No sensitive data such as cookies, history or bookmarks are stored. No extensions are loaded. Panels are not available.

As of Midori 0.2.9 Private Browsing uses preferences, cookies, keyboard shortcuts and search engines from the normal session, but it won't save any changes. This behaviour can be emulated from the command line with ”-a” and ”-c”.

As of Midori 0.3.4 the –private command line switch opens a private browsing instance with normal preferences, cookies, shortcuts and search engines. But no changes will be saved. DNS prefetching is disabled in this mode, also referrers are stripped down to the hostname when navigating between different websites.

The same options available to -a/ –app can be used for private browsing mode.

## Proxy servers

By running a local proxy you can modify web content even before it has reached Midori. That allows you to do things similar to what user scripts and user styles provide and even others that neither is suitable for.

#### Privoxy

Privoxy is a non-caching web proxy with filter capabilites and particular support for blocking advertisements before even loading them.

http://www.privoxy.org/faq/

#### Mousehole

Mousehole is a scriptable proxy server written in Ruby.

http://code.whytheluckystiff.net/mouseHole/

#### Polipo

Polipo is a caching web proxy (a web cache) designed to be used by one person or a small group of people. It is similar in spirit to WWWOFFLE, but the implementation techniques are more like the ones used by Squid.

http://www.pps.jussieu.fr/~jch/software/polipo/

## Using the Keyboard

### HJKL

You can use the Vim-like key bindings [hjkl] to navigate a page. h=left j=down k=up l=right In a picture:

    	       k
    	   h     l
    	     j

You can also use the arrow keys to do the same.

### Following Links

To enable Hints in Midori [similar to those vimperator provides in Firefox], press .

With hints enabled, type the link number, and press Enter to open the link in the current tab, or Ctrl-Enter to open the link in a new tab. To clear a typed link number before pressing Enter or Ctrl-Enter, use Escape.

### Use Ctrl(+Shift)+Tab to switch between pages

Since Midori 0.3.5 Ctrl+Tab is supported by default.

In older versions you can enable the History List extension under Tools → Extensions.

### Customizing keyboard shortcuts

Enable the Shortcuts extension Tools → Extensions. To edit a keybinding Tools → Customize Shortcuts…

## Mouse Gestures

By default the right mouse button initiates gestures.

You can change the button using a hidden option:

1. Create a text file ~/.config/midori/extensions/libmouse-gestures.so/config .
2. Type the following in there:

      [settings]
      button=2

For a quick and dirty overview of the gestures in the current release take a look at the preliminary manual. Further information is available at the MGX website.

Additionally, there are programs allowing mouse gestures system-wide, for example EasyStroke.

## Spell check

First enable spell checking: Edit→Preferences→Behavior and check “Enable Spell Checking”.

Now while typing any errors should get underlined in red. To get suggestions, highlight the word and right-click. Should see a list of suggestions on the top of the menu.

## User scripts

#### Overview

UserScripts are scripts applied on some, or on all web pages. They can modify pages locally to add or alter functionality. That includes fixing bugs in web pages. User scripts are also available in other browsers, in the form of Mozilla's Greasemonkey or Opera's User JavaScript.

#### How to install a UserScript

First enable the “User Addons” extension. It will show up as a “User Scripts” panel (and it also provides “User Styles”).

Now you need to find some scripts. You can find some at userscripts.org. Most scripts work fine, some may be written specifically for other browsers.

If you have Midori 0.3.0 or newer, you will be offered to install scripts as soon as you see them on the page.

To manually install a userscript, you have to download the script as a file, and put it in the folder ~/.local/share/midori/scripts. You need to create that folder if it doesn't exist yet. Midori will automatically see and use it, which you can also see in the user scripts panel.

If the script is only shown as source code on the page, you first have to create a new text file in a text editor, copy the source code into the new file, and save it as my-user-script.js where ”.js” is the extension.

#### Compatibility with GreaseMonkey

As previously mentioned, Midori can use most scripts you will find. Midori supports Greasemonkey's @include and @exclude metadata so that scripts are only loaded on appropriate pages. Midori doesn't support advanced metadata, such as @require and @resource, so user scripts can't define dependencies on other scripts - most of the time this isn't a problem. Midori also does not support Greasemonkey API. Scripts must also be compatible with Webkit, since Midori is based on WebKit. A Greasemonkey script that makes use of functionality of Gecko/ Firefox will not work in Midori.

#### Flash blocking via a User script

You can use BlockFlash2 as a user script which replaces all Flash elements with a button that says “Play Flash”.

#### Flash blocking via a User style

You can also use FlashBlock WannaBe as a user script in order to replace Flash elements with placeholders and load them on click. The script is pretty advanced compared to most Flash blockers found on the web.

## User styles

#### Overview

User styles are CSS Cascading Style sheets that are loaded locally and applied on top of web pages, similar to User scripts, in order to add or alter functionality and also fix bugs.

#### How to install a user style

First, you need to find some styles (or write your own). You can find some at userstyles.org. Many styles may or may not work, depending on whether the author decided to use browser specific features.

To install a user style, you have to download the style as a file, and put it in the following directory ~/.local/share/midori/styles (you may need to create that directory if it does not exist). Midori will automatically see and use it, which you can also see in the user styles panel.

Note, if the style is only shown as source code on the page, you first have to create a new text file in a text editor, copy the source code into the new file, and save it as my-user-style.css where ”.css” is the extension.

#### How to install a user style before Midori 0.0.20

Open up the Preferences and use the file chooser button beside User Stylesheet to choose a style sheet file. The style sheet will from now on be applied to all sites automatically.

#### A user css to display the url when a link is hovered

This user css is used to display the corresponding url when a link is hovered. This is similar to what chromium/chrome provides when hovering over a link, shown on the bottom left of the page. Add the following to ~/.local/share/midori/styles, then restart Midori and make sure that it is enabled Tools → Userstyles.

Customize as needed:

    a[href]:hover {
                text-decoration: none !important;
            }
            a[href]:hover:after {
                content: attr(href);
                position: fixed; left: 4px; bottom: 4px;
                padding: 0 6px !important;
                max-width: 95%; overflow: hidden;
                white-space: nowrap; text-overflow: ellipsis;
                font:10pt sans-serif !important; text-shadow: 0 0 12px white;
                background-color: ButtonFace !important; color: ButtonText !important;
                opacity: 0.8; outline: ButtonFace solid thick;
                z-index: 9999;
            }