This document is licensed under the LGPL 2.1.
This is a list of frequently asked questions 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”.
The paw of a green cat. Obviously. Also it resembles the letter “M” in “Midori”. The curving is supposed to emphasize speed.
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.
Midori and all delivered artwork are licensed under the LGPL2.
Some websites give up if they don't recognize your browser as Chrome, Firefox, IE, etc.
You can change the browser name sent to web sites at Preferences > Network > Identify As
Either choose a predefined user-agent or choose Custom and find a suitable string in a list.
Many other websites use similar means of detecting the browser.
Google previously recommended 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 spec compliant icon theme, such as Elementary, Faenza, Buuf or GNOME.
if you need to set a custom path for these to be “searched in” (Kiosks and embedded devices for example):
XDG_DATA_HOME=/path/to/location
will add an extra path for the icons/… directory
In addition, GTK3 may remove icons from menus. This may be changed by placing
gtk-menu-images=true
in the file ~/.config/gtk-3.0/settings.ini
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
Only for those not running a complete DE like Xfce, Elementary, etc…
There is a preference: Preferences → Browsing → Toolbar Style: Small icons
Enable changing hotkeys while hovering menu items:
gtk-can-change-accels = 1
To make the current tab more visible in Midori, when running Elementary edit the file /usr/share/themes/elementary/gtk-3.0/gtk-widgets.css around line 1620:
.notebook tab .active-page GtkLabel { font-weight: Bold;
Note that this will also affect tabs on Files, Scratch and other apps. The change is presumably applicable to other GTK+3 based themes but it wasn't tested.
As of GTK+ >= 3.4 one can disable it globally in ~/.gtkrc-2.0
gtk-enable-primary-paste = 0
Otherwise by adding a line to ~/.config/midori/config
middle-click-opens-selection=false
There appears to be an issue with Glib 2.16. The recommended solution is to upgrade your Glib package to 2.18.
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.
export XDG_CACHE_HOME=/dev/shm
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 uses the system's ca-certificates, the exact locations depend on the distribution.
Midori >= 0.4.7 supports gcr 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.
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.
In order to solve it, follow the steps:
1- make sure that gnome-keyring-pkcs11.so exists in your machine, the location can be found with:
$ sudo find / -name gnome-keyring-pkcs11.so
Depending on the architecture it can be under /usr/lib/x86_64-linux-gnu/pkcs11 or /usr/lib/i386-linux-gnu/pkcs11
If you don't find them, you must install it:
64bit machine:
$ sudo apt-get install libp11-kit-gnome-keyring
32bit machine:
$ sudo apt-get install libp11-kit-gnome-keyring:i386
After that the file should be in the expected place.
2- Now CLOSE Midori.
3- After it is totally closed, run:
64bit machine:
$ modutil -add gnome-keyring -libfile ./lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so -mechanisms RSA:DSA -dbdir ~/.config/midori/
32bit machine:
$ modutil -add gnome-keyring -libfile ./lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so -mechanisms RSA:DSA -dbdir ~/.config/midori/
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).
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.
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.
sudo apt-get install nspluginwrapper # On Debian/ Ubuntu - on other systems http://get.adobe.com/de/flashplayer/ sudo apt-get install flashplugin-installer # cd into the folder where the plugin was installed nspluginwrapper -v -a -n -i libflashplayer.so
~/.mozilla can also be used with Adobe's tarball if system-wide install is not an option. The approach is confirmed to work with x86-64 as well.
Another remedy is using WebKit2 - starting with Midori 0.4.9 experimental support is available, progress on WebKit2GTK+ can be seen in the WebKit wiki.
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
There's no official support right now. It's possible to patch glib-networking to enable 256-bit SSL.
Windows-style middle-click behavior is
http://ubuntuforums.org/showthread.php?t=478418
Bug: https://bugs.launchpad.net/webkit/+bug/871425
Upstream Bug: https://bugs.webkit.org/show_bug.cgi?id=50561
Midori uses GStreamer 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.
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.
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.
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.
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.
Right-click the tab label, and click 'Minimize' or 'Show Tab Icon Only' (Midori 0.3.5 or older).
You need to set Preferences > Network > Identify As to Firefox.
If you use the Adblock extension, EasyPrivacy may conflict with Google Docs. Disable the subscription if you use it. Otherwise try disabling Adblock entirely.
Place the following in ~/.mutt/mailcap or ~/.mailcap:
text/html; midori -a '%s'; test=test -n "$DISPLAY"; nametemplate=%s.html
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:
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
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.
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. You should see a list of suggestions at the top of the menu.
On Windows you need to download OpenOffice dictionaries, 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
You can change all values of WebKitWebSettings 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
enable-universal-access-from-file-uris=true
to your config file.
[settings] items=auto-load-images;enable-scripts;enable-plugins;identify-as;zoom-level
Add button types separated by semicolon:
Most settings listed at http://webkitgtk.org/reference/webkitgtk/stable/WebKitWebSettings.html will also work as button types.
As of Midori 0.4.4 you can add a hidden option to ~/.config/midori/config like so:
site-data-rules=-google.com,-facebook.com,!bugzilla.gnome.org,+bugs.launchpad.net
The feature is currently experimental and will change in future versions.
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:
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’)
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.
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:
midori -i 120 -e Fullscreen -e Navigationbar -a about:blank
Available commands for -e can be listed with “midori –help-execute”.
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:
-b 'youtube|youporn'
By negating the expression you can also whitelist pages.
-b '^(?!.*?(gmail|mail\.google|accounts\.google)).*'
Any links outside end up in an error page. All images and other files won't be loaded.
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.
If for whatever reason this isn't enough, DevilsPie can force Midori to the desired state:
~/.devilspie/midori.ds
(begin
(if (and (is (application_name) "Midori") ) (begin (maximize) ) )
)
As of Midori 0.5.0 the –execute command line switch got more powerful:
midori -e libcolorful-tabs.so=true
midori -e enable-javascript=false
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 is a non-caching web proxy with filter capabilites and particular support for blocking advertisements before even loading them.
Mousehole is a scriptable proxy server written in Ruby.
http://code.whytheluckystiff.net/mouseHole/ https://www.blogthisphone.com/3-ways-how-to-unlock-iphone-to-work-on-any-network/
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.
As of Midori 0.5.0 and libSoup 2.40 SOCKS proxies can be used, the Preferences dialog lists detected types and accepts curl syntax.
libSoup < 2.40 only supports HTTP proxy servers directly. A way to use SOCKS on Unix is to use tsocks with SSH as follows:
server = 127.0.0.1 server_type = 5 server_port = 5555
ssh -D localhost:5555 myhost.com
tsocks midori
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.
To enable Hints in Midori, similar to vimperator in Firefox or xxxterm, 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.
Since Midori 0.3.5 Ctrl+Tab is supported by default.
In older versions you can enable the History List extension under Tools → Extensions.
Enable the Shortcuts extension Tools → Extensions. To edit a keybinding Tools → Customize Shortcuts…
Default shortcuts for Find are:
Find: Ctrl+f “/” and “,”
FindNext: Ctrl+g and Enter
FindPrevious: Shift+Ctrl+g
Dismissing Find:
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].
By default the right mouse button initiates gestures.
You can change the button (for example, to the middle mouse button) using a hidden option:
[settings] button=2
As of Midori 0.5.0 individual gestures can be configured freely in the file ~/.config/midori/extensions/libmouse-gestures.so/gestures . 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:
[gestures] Quit=W;E; TabPrevious=SW; TabNext=SE;
Additionally, there are programs allowing mouse gestures system-wide, for example EasyStroke.
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.
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.
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.
You can use BlockFlash2 as a user script which replaces all Flash elements with a button that says “Play Flash”.
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 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.
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.
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 ~/.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; }
If changing system-wide font settings isn't bringing the desired results or rendering should be tweaked only for websites CSS can be an alternative. Add the following to ~/.local/share/midori/styles, then restart Midori and make sure that it is enabled Tools → Userstyles.
Customize as needed:
* { font-smooth:always; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility }
Midori stands on the shoulders of three giants in particular: the software libraries GTK+, WebKitGTK+, and libsoup. GTK+ provides the buttons, windows and menus, WebKitGTK+ draws and controls web pages, and libsoup downloads those pages.
WebKitGTK+ itself uses two other important libraries: JavaScriptCore, a WebKit project which runs scripts on web pages; and GStreamer, which plays HTML5 video and audio.
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.
WebKit itself is a library which works in many environments, such as Windows, OS 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+.
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.
WebKit has a “new API 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.
To find out the version of WebKitGTK+ your build of Midori is using, visit about:version.
The WebKit2 API 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 API layer is only available with GTK+3.
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.
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 YOUTUBE, VIMEO or DAILYMOTION, the extension which does the work is called webmedia-now-playing.
If you want to get the video title and the uri is easy more than easy .
#!/bin/sh eval $(dbus-send --session --print-reply --dest=org.midori.mediaHerald /org/midori/mediaHerald org.freedesktop.DBus.Properties.GetAll string:"org.midori.mediaHerald" | awk ' /string *"VideoTitle/{ while (1) { getline line if (line ~ /string "/) sub(/.*string /, "TITLE=", line) print line break } } /string *"VideoUri/{ while (1) { getline line if (line ~ /string "/) sub(/.*string /, "URI=", line) print line break } } ') echo "Midori is now playing: $TITLE ,the uri is: $URI"