This is <ahref="http://wiki.xfce.org/midori/faq">a snapshot of the online FAQ</a> about the Midori Web Browser. Anyone should feel free to improve or extend this page, but keep it clean and easy to read for other users.
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. It has a customizable interface using the GTK+ toolkit.
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”.
Midori is portable and should run on all platforms that its dependencies support. Releases exist on various Linux distributions, for Windows versions prior to 8.1 (for now), and BSD.
<h4id="why_does_google_mailcalendarmaps_facebook_not_work_or_show_mobile_version">Why does Google Mail/ Calendar/ Maps, Facebook not work or show mobile version?</h4>
Either choose a predefined user-agent or choose Custom and find a suitable string in <ahref="http://useragentstring.com/pages/useragentstring.php"class="urlextern"title="http://useragentstring.com/pages/useragentstring.php"rel="nofollow">a list</a>.
Google <ahref="http://web.archive.org/web/20100625211333/http://code.google.com/p/doctype/wiki/ArticleGoogleChromeCompatFAQ"class="urlextern"title="http://web.archive.org/web/20100625211333/http://code.google.com/p/doctype/wiki/ArticleGoogleChromeCompatFAQ"rel="nofollow">previously recommended</a> the superior practice for website creators of checking which features are present rather than browser name/version, but has since weakened this stance with their browser's growing market share.
Midori uses a wide variety of icons which may not be present in all themes. For instance icons for a new tab, to represent scripts, or the throbber may not available. To fix this, install a Freedesktop.org <abbrtitle="specification">spec</abbr> compliant icon theme, such as Elementary, Faenza, Buuf or GNOME.
</p>
<p>
if you need to set a custom path for these to be “searched in” (Kiosks and embedded devices for example):
</p>
<p>
XDG_DATA_HOME=/path/to/location
</p>
<p>
will add an extra path for the icons/… directory
</p>
<p>
In addition, GTK3 may remove icons from menus. This may be changed by placing
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:
<h4id="how_can_i_change_the_cache_folder_to_tmpfs">How can I change the cache folder (to tmpfs)?</h4>
<divclass="level4">
<p>
On Linux and BSD, you can set XDG_CACHE_HOME for all applications, or just Midori. Midori saves icons and cache files in that location. The default is ~/.cache.
<h4id="hstshttp_strict_transport_security">HSTS/ HTTP Strict Transport Security</h4>
<divclass="level4">
<p>
Midori >= 0.4.7 automatically picks up the Strict-Transport-Security header and caches sites locally. By design, there's no UI. System administrators can however place a pre-loaded cache at /etc/xdg/midori/hsts.
Midori >= 0.4.7 supports <ahref="http://git.gnome.org/browse/gcr/tree/gcr"class="urlextern"title="http://git.gnome.org/browse/gcr/tree/gcr"rel="nofollow">gcr</a> for certificate display and management, you can click the lock in the urlbar to see detailed information. Earlier versions, or one without gcr will not handle certificates beyond the lock icon in the urlbar.
</p>
</div>
<h5id="error_granting_trustcouldn_t_find_a_place_to_store_the_imported_certificate">Error granting trust: Couldn't find a place to store the imported certificate</h5>
No key store is available or it's incorrectly setup. By default GNOME keyring can do this. Under Xfce it is recommended to enable “GNOME services” under “Session and Startup settings”. To make sure, that the output of “gnome-keyring –startup” is correctly sent to the environment, you can add “export `gnome-keyring-daemon –start`” to .xinitrc.
Starting with WebkitGTK+ 1.8.2 (Midori 0.4.7) Netscape plugins are now supported if they're installed in Application Data\Mozilla\plugins or bin\Plugins in Midori's folder (ie. NPSWF32.dll for Flash).
</p>
</div>
<h4id="netscape_plugins_on_linux_bsd_and_os_x">Netscape plugins on Linux, BSD and OS X</h4>
The official Flash plugin is called libflashplayer.so .
</p>
<p>
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.
nspluginwrapper is a program that runs Flash and other Netscape plugins in a separate process. So a crash can't crash the whole browser and Flash, which is GTK+2 can run in GTK+3.
Another remedy is using WebKit2 - starting with Midori 0.4.9 experimental support is available, <ahref="https://trac.webkit.org/wiki/WebKitGTK/WebKit2Roadmap"class="urlextern"title="https://trac.webkit.org/wiki/WebKitGTK/WebKit2Roadmap"rel="nofollow">progress on WebKit2GTK+ can be seen in the WebKit wiki</a>.
There's no official support right now. It's possible to <ahref="https://opensource.conformal.com/fluxbb/viewtopic.php?pid=1332#p1332"class="urlextern"title="https://opensource.conformal.com/fluxbb/viewtopic.php?pid=1332#p1332"rel="nofollow">patch glib-networking to enable 256-bit SSL</a>.
</p>
</div>
<h4id="scroll_with_middle_mouse_buttonpan-scrolling">Scroll with middle mouse button/ pan-scrolling</h4>
<ahref="#midori_architecture"title="midori:faq ↵"class="wikilink1">Midori uses GStreamer</a> for HTML5 audio and video support. Codecs, which handle particular formats of audio or video, are provided by GStreamer plugins which may need to be installed separately. Midori may be built with GTK+2 or GTK+3 (visit about:version to check), which correspond to GStreamer versions of 0.10 or 1.0 respectively.
<liclass="level1"><divclass="li"> You need plugins for Theora, gstreamer(0.10/1.0)-base and MPEG-4 incluing aac (e.g. gst-plugins-faad), gstreamer(0.10/1.0)-bad. For WebM, you'll need plugins for vorbis (-base), matroska (-good), and vp8 (-bad). Have a look at <ahref="http://www.gstreamer.net/documentation/plugins.html"class="urlextern"title="http://www.gstreamer.net/documentation/plugins.html"rel="nofollow">http://www.gstreamer.net/documentation/plugins.html</a> for details.</div>
<liclass="level1"><divclass="li"> You can <ahref="http://ie.microsoft.com/testdrive/Graphics/VideoFormatSupport/Default.html"class="urlextern"title="http://ie.microsoft.com/testdrive/Graphics/VideoFormatSupport/Default.html"rel="nofollow">test your installed codecs here</a>..</div>
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.
</p>
<p>
icedtea6 version 1.8 and above has been known to crash midori. If this is the case for you, try sun-jre.
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 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.
</p>
<p>
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.
<h4id="google_docs_says_clear_your_caches">Google Docs says "Clear your caches"</h4>
<divclass="level4">
<p>
If you use the Adblock extension, EasyPrivacy may conflict with Google Docs. Disable the subscription if you use it. Otherwise try disabling Adblock entirely.
</p>
</div>
<h4id="opening_html_email_with_mutt">Opening html email with Mutt</h4>
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:
<liclass="level1"><divclass="li"> Use 'Open With' with a graphical file manager</div>
</li>
<liclass="level1"><divclass="li"> Edit ~/.local/share/applications/defaults.list with a text editor</div>
</li>
<liclass="level1"><divclass="li"> Run something like ‘xdg-mime default evince.desktop application/pdf’</div>
</li>
</ol>
<p>
xdg-open knows how to handle GNOME, KDE and Xfce.
LXDE is unfortunately not supported yet, see <ahref="https://bugs.freedesktop.org/show_bug.cgi?id=26058"class="urlextern"title="https://bugs.freedesktop.org/show_bug.cgi?id=26058"rel="nofollow">https://bugs.freedesktop.org/show_bug.cgi?id=26058</a>
For <ahref="http://electrum.org/bitcoin_URIs.html"class="urlextern"title="http://electrum.org/bitcoin_URIs.html"rel="nofollow">bitcoin:</a>, try <ahref="http://electrum.org/index.html"class="urlextern"title="http://electrum.org/index.html"rel="nofollow">Electrum</a> or <ahref="http://multibit.org/"class="urlextern"title="http://multibit.org/"rel="nofollow">Multibit</a>.
Edit→Preferences→Behavior and check “Enable Spell Checking”.
</p>
<p>
Now while typing any errors should get underlined in red. To get suggestions, highlight the word and right-click. You should see a list of suggestions at the top of the menu.
</p>
<p>
On Windows <ahref="http://download.services.openoffice.org/files/contrib/dictionaries/"class="urlextern"title="http://download.services.openoffice.org/files/contrib/dictionaries/"rel="nofollow">you need to download OpenOffice dictionaries</a>, find the zipped file(s) for your locale(s) and unpack the contents into share/myspell/dicts/ in your Midori installation. The folder should contain *.aff and *.dic files
</p>
</div>
<h4id="is_it_possible_to_disable_same_origin_policy_what_webkit_settings_not_in_the_preferences_can_i_change">Is it possible to disable Same Origin Policy? What Webkit settings not in the preferences can I change?</h4>
<divclass="level4">
<p>
You can change <ahref="http://webkitgtk.org/reference/webkitgtk/stable/WebKitWebSettings.html"class="urlextern"title="http://webkitgtk.org/reference/webkitgtk/stable/WebKitWebSettings.html"rel="nofollow">all values of WebKitWebSettings</a> in the config file (~/.config/midori/config on unices, %APPDATA%\midori\config [please check :)] on Windows). For example, to disable Same Origin Policy for local files, add
<liclass="level1"><divclass="li"> zoom-text-and-images Only zoom in text, or text and images</div>
</li>
<liclass="level1"><divclass="li"> first-party-cookies-only First party cookies only</div>
</li>
<liclass="level1"><divclass="li"> site-data-rules see <ahref="#blacklist_cookies"title="midori:faq ↵"class="wikilink1">Blacklisting cookies</a></div>
</li>
</ul>
<p>
Most settings listed at <ahref="http://webkitgtk.org/reference/webkitgtk/stable/WebKitWebSettings.html"class="urlextern"title="http://webkitgtk.org/reference/webkitgtk/stable/WebKitWebSettings.html"rel="nofollow">http://webkitgtk.org/reference/webkitgtk/stable/WebKitWebSettings.html</a> will also work as button types.
The Advertisement Blocker can be activated under Extensions. It uses the same lists as Adblock Plus. URLs are blocked completely and never loaded. Lists can be added through the option button on the right side in the extension list.
There are two closely related features to open websites as dedicated windows of their own. You can do the following to use them:
</p>
<ol>
<liclass="level1"><divclass="li"> Right-click a hyperlink → Open as Web Application</div>
</li>
<liclass="level1"><divclass="li"> Add or Edit a bookmark → [x] Run as web application</div>
</li>
<liclass="level1"><divclass="li"> Type ‘midori -a <ahref="http://foo.bar"class="urlextern"title="http://foo.bar"rel="nofollow">http://foo.bar</a>’ on a command line</div>
</li>
</ol>
<p>
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’)
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.
<abbrtitle="Domain Name System">DNS</abbr> prefetching is disabled in this mode, also referrers are stripped down to the hostname when navigating between different websites.
On Windows builds, -P/ –portable causes all data to be written to the “profile” folder in the Midori folder. Everything, including temporary files and cache, is stored in a sub-folder without touching the system. So Midori can be run eg. from a USB stick on different machines.
There is no specific mode, instead you use several command line switches. A typical fullscreen setup with no toolbar that opens about:blank and resets the session after 2 minutes of inactivity for instance:
If needed, a customized profile can be created with “midori -c /path/to/folder”. Using the shortcut editor extension, keyboard shortcuts can be removed as needed. Afterwards just append “-c /path/to/folder” to the kiosk mode command line.
To restrict pages that can be opened, you can use a regular expression. The expression is a blacklist. To block undesirable sites you can do something like:
<h2class="sectionedit14"id="always_open_midori_in_fullscreen">Always open Midori in Fullscreen</h2>
<divclass="level2">
<p>
Using the WM to get Midori into fullscreen mode, or calling “midori -e Fullscreen” is the typical way. On the next startup Midori will remember the last window size and state.
</p>
<p>
If for whatever reason this isn't enough, <ahref="https://live.gnome.org/DevilsPie"class="urlextern"title="https://live.gnome.org/DevilsPie"rel="nofollow">DevilsPie</a> can force Midori to the desired state:
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.
<liclass="level1"><divclass="li"> Now you can use for example <ahref="http://www.whatsmyip.org/"class="urlextern"title="http://www.whatsmyip.org/"rel="nofollow">http://www.whatsmyip.org/</a> 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.</div>
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.
When using Ctrl+f to bring up Find, use Ctrl+f again or ESC. When using “/” or “,” to bring up Find, the previous works here as well and by simply moving focus away from the Find box. For example: a Tab or a mouse click anywhere[besides links of course].
As of Midori 0.5.0 individual gestures can be configured freely in the file ~/.config/midori/extensions/libmouse-gestures.so/<strong>gestures</strong> .
Consult “midori –help-execute” for a list of available actions, which are placed on the left of the equals sign. On the right goes a sequence of directions, (W)est, (E)east, (N)orth, (S)outh, (S)outh(W)est, etc., with a semicolon (;) after each, as shown below:
Additionally, there are programs allowing mouse gestures system-wide, for example <ahref="http://easystroke.wiki.sourceforge.net/"class="urlextern"title="http://easystroke.wiki.sourceforge.net/"rel="nofollow">EasyStroke</a>.
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 <ahref="http://www.greasespot.net"class="urlextern"title="http://www.greasespot.net"rel="nofollow">Mozilla's Greasemonkey</a> or <ahref="http://www.opera.com/support/tutorials/userjs/"class="urlextern"title="http://www.opera.com/support/tutorials/userjs/"rel="nofollow">Opera's User JavaScript</a>.
First enable the “User Addons” extension. It will show up as a “User Scripts” panel (and it also provides “User Styles”).
</p>
<p>
Now you need to find some scripts. You can find some at <ahref="http://userscripts.org/"class="urlextern"title="http://userscripts.org/"rel="nofollow">userscripts.org</a>. Most scripts work fine, some may be written specifically for other browsers.
</p>
<p>
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.
</p>
<p>
To manually install a userscript, you have to download the script as a file, and put it in the folder <strong>~/.local/share/midori/scripts</strong>. 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.
As previously mentioned, Midori can use most scripts you will find. Midori supports Greasemonkey's <em>@include</em> and <em>@exclude</em> 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 <ahref="http://wiki.greasespot.net/API_reference"class="urlextern"title="http://wiki.greasespot.net/API_reference"rel="nofollow">Greasemonkey API</a>. 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.
You can use <ahref="http://userscripts.org/scripts/show/45343"class="urlextern"title="http://userscripts.org/scripts/show/45343"rel="nofollow">BlockFlash2</a> as a user script which replaces all Flash elements with a button that says “Play Flash”.
You can also use <ahref="http://rightfootin.blogspot.com/2009/04/flashblock-wannabe.html"class="urlextern"title="http://rightfootin.blogspot.com/2009/04/flashblock-wannabe.html"rel="nofollow">FlashBlock WannaBe</a> 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 are <abbrtitle="Cascading Style Sheets">CSS</abbr> 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.
First, you need to find some styles (or write your own). You can find some at <ahref="http://userstyles.org/"class="urlextern"title="http://userstyles.org/"rel="nofollow">userstyles.org</a>. Many styles may or may not work, depending on whether the author decided to use browser specific features.
</p>
<p>
To install a user style, you have to download the style as a file, and put it in the following directory <strong>~/.local/share/midori/styles</strong> (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.
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.
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 <strong>~/.local/share/midori/styles</strong>, then restart Midori and make sure that it is enabled Tools → Userstyles.
<h4id="tweaking_fonts_via_css">Tweaking fonts via CSS</h4>
<divclass="level4">
<p>
If changing system-wide font settings isn't bringing the desired results or rendering should be tweaked only for websites <abbrtitle="Cascading Style Sheets">CSS</abbr> can be an alternative. Add the following to <strong>~/.local/share/midori/styles</strong>, then restart Midori and make sure that it is enabled Tools → Userstyles.
Midori stands on the shoulders of three giants in particular: the software libraries <ahref="http://www.gtk.org/"class="urlextern"title="http://www.gtk.org/"rel="nofollow">GTK+</a>, <ahref="http://webkitgtk.org/"class="urlextern"title="http://webkitgtk.org/"rel="nofollow">WebKitGTK+</a>, and <ahref="https://developer.gnome.org/libsoup/"class="urlextern"title="https://developer.gnome.org/libsoup/"rel="nofollow">libsoup</a>. GTK+ provides the buttons, windows and menus, WebKitGTK+ draws and controls web pages, and libsoup downloads those pages.
</p>
<p>
WebKitGTK+ itself uses two other important libraries: <ahref="https://www.webkit.org/projects/javascript/index.html"class="urlextern"title="https://www.webkit.org/projects/javascript/index.html"rel="nofollow">JavaScriptCore</a>, a WebKit project which runs scripts on web pages; and <ahref="http://gstreamer.freedesktop.org/"class="urlextern"title="http://gstreamer.freedesktop.org/"rel="nofollow">GStreamer</a>, which plays HTML5 video and audio.
<h2class="sectionedit22"id="webkit_version_numbers">WebKit Version Numbers</h2>
<divclass="level2">
<p>
WebKit is the core of the Midori browser, and it determines how web pages are rendered. Because WebKit is a complex piece of software and compatible with various libraries, its version numbers and naming schemes can at times be confusing.
</p>
<p>
WebKit itself is a library which works in many environments, such as Windows, <abbrtitle="Operating System">OS</abbr> X, and various Linux DE. There are different “ports”, one of which corresponds to each of these environments, and each of which is slightly different in bugs and features at any given time. The WebKit port used by Midori (because Midori is built with GTK+) is WebKitGTK+.
</p>
<p>
WebKitGTK+ can be compiled against either GTK+2 or GTK+3. This will result in library filenames like libwebkitgtk-1.0.so or libwebkitgtk-3.0.so, respectively. This has nothing to do with the version of WebKit itself.
</p>
<p>
WebKit has a “new <abbrtitle="Application Programming Interface">API</abbr> layer … designed from the ground up to support a split process model”–so pages can crash without the entire browser crashing. This layer is called WebKit2, and for WebKitGTK+ it requires building against GTK+3, producing a library file called libwebkit2gtk-3.0.so.
</p>
<p>
To find out the version of WebKitGTK+ your build of Midori is using, visit about:version.
</p>
</div>
<h4id="version_number_interactions">Version Number Interactions</h4>
<divclass="level4">
<p>
The WebKit2 <abbrtitle="Application Programming Interface">API</abbr> layer is available from fairly old WebKit versions through the present, but Midori's WebKit2 support requires version 2.0.0 or newer of WebKitGTK+. Current versions of WebKitGTK+ continue to support GTK+2 and GTK+3 (the latter since 1.4.x or so). As stated above, the WebKit2 <abbrtitle="Application Programming Interface">API</abbr> layer is only available with GTK+3.
</p>
<p>
Midori's support for WebKit2 is still provisional, and likely unsuitable for real-world daily usage; much work is being done in this area so that Midori can use WebKit2 by default at some point in the future.
</p>
</div>
<!-- EDIT22 SECTION "WebKit Version Numbers" [28719-30528] -->
<h1class="sectionedit23"id="midori_and_mediaherald">Midori and mediaHerald</h1>
<divclass="level1">
<p>
mediaHerald is a dbus service (/org/midori/mediaHeraldallow) users to connect to dbus and check the titme and url of the video that midori plays in <strong>YOUTUBE</strong>, <strong>VIMEO</strong> or <strong>DAILYMOTION</strong>, the extension which does the work is called webmedia-now-playing.
</p>
<p>
If you want to get the video title and the uri is easy more than easy <imgsrc="/lib/images/smileys/icon_smile.gif"class="icon"alt=":-)"/> .
<spanclass="kw3">echo</span><spanclass="st0">"Midori is now playing: <spanclass="es2">$TITLE</span> ,the uri is: <spanclass="es2">$URI</span>"</span></pre>
</div>
<!-- EDIT23 SECTION "Midori and mediaHerald" [30529-] --></div>