~midori/midori/gtk3WebKit2only

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
  <meta charset="utf-8" />
  <title>midori:faq</title>
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/>
<meta name="date" content="2014-06-05T00:44:58+0200"/>
<meta name="keywords" content="midori,faq"/>
<link rel="search" type="application/opensearchdescription+xml" href="/lib/exe/opensearch.php" title="Xfce Wiki"/>
<link rel="start" href="/"/>
<link rel="contents" href="/midori/faq?do=index" title="Sitemap"/>
<link rel="alternate" type="application/rss+xml" title="Recent changes" href="/feed.php"/>
<link rel="alternate" type="application/rss+xml" title="Current namespace" href="/feed.php?mode=list&amp;ns=midori"/>
<link rel="alternate" type="text/html" title="Plain HTML" href="/_export/xhtml/midori/faq"/>
<link rel="alternate" type="text/plain" title="Wiki Markup" href="/_export/raw/midori/faq"/>
<link rel="canonical" href="http://wiki.xfce.org/midori/faq"/>
<link rel="stylesheet" href="faq.css" />
<script type="text/javascript">/*<![CDATA[*/var NS='midori';var JSINFO = {"id":"midori:faq","namespace":"midori"};
/*!]]>*/</script>
<script type="text/javascript" charset="utf-8" src="/lib/exe/js.php?tseed=34912f2e1a4daa1bfa9afb3096df0197"></script>
</head>
<body>
<div class="dokuwiki export">
<!-- TOC START -->
<div id="dw__toc">
<h3 class="toggle">Table of Contents</h3>
<div>

<ul class="toc">
<li class="level1"><div class="li"><a href="#midori_-_frequently_asked_questions">Midori - Frequently asked questions</a></div></li>
<li class="level1"><div class="li"><a href="#about_midori">About Midori</a></div></li>
<li class="level1"><div class="li"><a href="#common_problems">Common problems</a></div>
<ul class="toc">
<li class="level2"><div class="li"><a href="#security_features">Security features</a></div></li>
<li class="level2"><div class="li"><a href="#flash_doesn_t_work">Flash doesn&#039;t work</a></div></li>
</ul>
</li>
<li class="level1"><div class="li"><a href="#privacy">Privacy</a></div>
<ul class="toc">
<li class="level2"><div class="li"><a href="#blacklist_cookies">Blacklist cookies</a></div></li>
<li class="level2"><div class="li"><a href="#adblock">Adblock</a></div></li>
</ul>
</li>
<li class="level1"><div class="li"><a href="#modes">Modes</a></div>
<ul class="toc">
<li class="level2"><div class="li"><a href="#web_applications">Web Applications</a></div></li>
<li class="level2"><div class="li"><a href="#private_browsing">Private Browsing</a></div></li>
<li class="level2"><div class="li"><a href="#portable_modewin32">Portable mode/ Win32</a></div></li>
<li class="level2"><div class="li"><a href="#kiosk_mode">Kiosk mode</a></div></li>
<li class="level2"><div class="li"><a href="#always_open_midori_in_fullscreen">Always open Midori in Fullscreen</a></div></li>
<li class="level2"><div class="li"><a href="#overriding_settings_and_loading_extensions">Overriding settings and loading extensions</a></div></li>
</ul>
</li>
<li class="level1"><div class="li"><a href="#proxy_servers">Proxy servers</a></div></li>
<li class="level1"><div class="li"><a href="#keyboard_hotkeys">Keyboard Hotkeys</a></div></li>
<li class="level1"><div class="li"><a href="#mouse_gestures">Mouse Gestures</a></div></li>
<li class="level1"><div class="li"><a href="#user_scripts_and_styles">User scripts and styles</a></div>
<ul class="toc">
<li class="level2"><div class="li"><a href="#user_styles">User styles</a></div></li>
</ul>
</li>
<li class="level1"><div class="li"><a href="#midori_architecture">Midori Architecture</a></div>
<ul class="toc">
<li class="level2"><div class="li"><a href="#webkit_version_numbers">WebKit Version Numbers</a></div></li>
</ul>
</li>
<li class="level1"><div class="li"><a href="#midori_and_mediaherald">Midori and mediaHerald</a></div></li>
</ul>
</div>
</div>
<!-- TOC END -->

<h1 class="sectionedit1" id="midori_-_frequently_asked_questions">Midori - Frequently asked questions</h1>
<div class="level1">

<p>
<strong>This document is licensed under the <abbr title="GNU Lesser General Public License">LGPL</abbr> 2.1.</strong>
</p>

<p>
This is <a href="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.
</p>

</div>
<!-- EDIT1 SECTION "Midori - Frequently asked questions" [1-286] -->
<h1 class="sectionedit2" id="about_midori">About Midori</h1>
<div class="level1">

</div>

<h4 id="what_is_midori_and_why_should_i_use_it">What is &quot;Midori&quot; and why should I use it?</h4>
<div class="level4">

<p>
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.
</p>

</div>

<h4 id="how_to_pronounce_midori_and_what_does_the_name_mean">How to pronounce Midori and what does the name mean?</h4>
<div class="level4">

<p>
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”.
</p>

</div>

<h4 id="what_does_the_logo_mean">What does the logo mean?</h4>
<div class="level4">

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

</div>

<h4 id="on_which_platforms_does_midori_run_currently">On which platforms does Midori run currently?</h4>
<div class="level4">

<p>
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.
</p>

</div>

<h4 id="under_which_license_is_midori_distributed">Under which license is Midori distributed?</h4>
<div class="level4">

<p>
Midori and all delivered artwork are licensed under the LGPL2.
</p>

</div>
<!-- EDIT2 SECTION "About Midori" [287-1323] -->
<h1 class="sectionedit3" id="common_problems">Common problems</h1>
<div class="level1">

</div>

<h4 id="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>
<div class="level4">

<p>
Some websites give up if they don&#039;t recognize your browser as Chrome, Firefox, <abbr title="Internet Explorer">IE</abbr>, etc.
</p>

<p>
You can change the browser name sent to web sites at Preferences &gt; Network &gt; Identify As
</p>

<p>
Either choose a predefined user-agent or choose Custom and find a suitable string in <a href="http://useragentstring.com/pages/useragentstring.php" class="urlextern" title="http://useragentstring.com/pages/useragentstring.php"  rel="nofollow">a list</a>.
</p>

<p>
Many other websites use similar means of detecting the browser.
</p>

<p>
Google <a href="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&#039;s growing market share.
</p>

</div>

<h4 id="there_are_missing_iconswarnings">There are missing icons/ warnings</h4>
<div class="level4">

<p>
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 <abbr title="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 
</p>
<pre class="code">gtk-menu-images=true</pre>

<p>
 in the file ~/.config/gtk-3.0/settings.ini
</p>

</div>

<h4 id="tweaking_midori_on_the_gtk_level">Tweaking Midori on the Gtk level</h4>
<div class="level4">

<p>
If you don&#039;t have a desktop application that takes care of Gtk settings or if your interface doesn&#039;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:
</p>

<p>
Use Tango as a fallback for your icon theme:
</p>
<pre class="code">gtk-icon-theme-name = &quot;MySuperFancyTheme&quot;
gtk-fallback-icon-theme = &quot;Tango&quot;</pre>

<p>
Use a smaller toolbar:
</p>
<pre class="code">gtk-toolbar-icon-size = GTK_ICON_SIZE_SMALL_TOOLBAR</pre>

<p>
Only for those not running a complete DE like Xfce, Elementary, etc…<br/>

There is a preference: Preferences → Browsing → Toolbar Style: Small icons
</p>

<p>
Enable changing hotkeys while hovering menu items:
</p>
<pre class="code">gtk-can-change-accels = 1</pre>

</div>

<h4 id="disable_middle_click_pasting">Disable middle click pasting</h4>
<div class="level4">

<p>
As of GTK+ &gt;= 3.4 one can disable it globally in ~/.gtkrc-2.0
</p>
<pre class="code">gtk-enable-primary-paste = 0</pre>

<p>
Otherwise by adding a line to ~/.config/midori/config
</p>
<pre class="code">middle-click-opens-selection=false</pre>

</div>

<h4 id="midori_crashes_shortly_before_pages_are_loaded">Midori crashes shortly before pages are loaded</h4>
<div class="level4">

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

</div>

<h4 id="how_can_i_change_the_cache_folder_to_tmpfs">How can I change the cache folder (to tmpfs)?</h4>
<div class="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.
</p>

<p>
export XDG_CACHE_HOME=/dev/shm
</p>

</div>
<!-- EDIT3 SECTION "Common problems" [1324-4267] -->
<h2 class="sectionedit4" id="security_features">Security features</h2>
<div class="level2">

</div>

<h4 id="hstshttp_strict_transport_security">HSTS/ HTTP Strict Transport Security</h4>
<div class="level4">

<p>
Midori &gt;= 0.4.7 automatically picks up the Strict-Transport-Security header and caches sites locally. By design, there&#039;s no UI. System administrators can however place a pre-loaded cache at /etc/xdg/midori/hsts.
</p>

</div>

<h4 id="certificate_handling">Certificate Handling</h4>
<div class="level4">

<p>
Midori uses the system&#039;s ca-certificates, the exact locations depend on the distribution.
</p>

<p>
Midori &gt;= 0.4.7 supports <a href="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>

<h5 id="error_granting_trustcouldn_t_find_a_place_to_store_the_imported_certificate">Error granting trust: Couldn&#039;t find a place to store the imported certificate</h5>
<div class="level5">

<p>
No key store is available or it&#039;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.
</p>

</div>

<h5 id="a_testcase_for_self-signed_certificates">A testcase for self-signed certificates</h5>
<div class="level5">

<p>
<a href="https://selfsigned.notyours.dk:444/menu.gif" class="urlextern" title="https://selfsigned.notyours.dk:444/menu.gif"  rel="nofollow">https://selfsigned.notyours.dk:444/menu.gif</a>
</p>

</div>
<!-- EDIT4 SECTION "Security features" [4268-5485] -->
<h2 class="sectionedit5" id="flash_doesn_t_work">Flash doesn&#039;t work</h2>
<div class="level2">

</div>

<h4 id="windows_support">Windows support</h4>
<div class="level4">

<p>
Starting with WebkitGTK+ 1.8.2 (Midori 0.4.7) Netscape plugins are now supported if they&#039;re installed in Application Data\Mozilla\plugins or bin\Plugins in Midori&#039;s folder (ie. NPSWF32.dll for Flash).
</p>

</div>

<h4 id="netscape_plugins_on_linux_bsd_and_os_x">Netscape plugins on Linux, BSD and OS X</h4>
<div class="level4">

<p>
You need to set MOZ_PLUGIN_PATH, for example like this:
</p>
<pre class="code bash"><span class="kw3">export</span> <span class="re2">MOZ_PLUGIN_PATH</span>=<span class="st0">&quot;/usr/lib/mozilla/plugins&quot;</span></pre>

<p>
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&#039;s place for this.
</p>

</div>

<h4 id="flash_is_crashingno_flash_with_gtk_3">Flash is crashing/ No Flash with GTK+3</h4>
<div class="level4">

<p>
nspluginwrapper is a program that runs Flash and other Netscape plugins in a separate process. So a crash can&#039;t crash the whole browser and Flash, which is GTK+2 can run in GTK+3.
</p>
<pre class="code bash"><span class="kw2">sudo</span> <span class="kw2">apt-get install</span> nspluginwrapper
<span class="co0"># On Debian/ Ubuntu - on other systems http://get.adobe.com/de/flashplayer/</span>
<span class="kw2">sudo</span> <span class="kw2">apt-get install</span> flashplugin-installer
<span class="co0"># cd into the folder where the plugin was installed</span>
nspluginwrapper <span class="re5">-v</span> <span class="re5">-a</span> <span class="re5">-n</span> <span class="re5">-i</span> libflashplayer.so</pre>

<p>
~/.mozilla can also be used with Adobe&#039;s tarball if system-wide install is not an option. The approach is confirmed to work with x86-64 as well.
</p>

<p>
Another remedy is using WebKit2 - starting with Midori 0.4.9 experimental support is available, <a href="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>.
</p>

</div>

<h4 id="https_urls_won_t_load">HTTPS URLS won&#039;t load</h4>
<div class="level4">

<p>
That&#039;s a problem with WebKit. You can work around it to some extent if you start Midori like so:
</p>
<pre class="code bash"><span class="kw3">export</span> <span class="re2">WEBKIT_IGNORE_SSL_ERRORS</span>=<span class="st0">&quot;1&quot;</span> midori</pre>

</div>

<h4 id="bit_encryption_isn_t_supported">256-bit encryption isn&#039;t supported?</h4>
<div class="level4">

<p>
There&#039;s no official support right now. It&#039;s possible to <a href="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>

<h4 id="scroll_with_middle_mouse_buttonpan-scrolling">Scroll with middle mouse button/ pan-scrolling</h4>
<div class="level4">

<p>
Windows-style middle-click behavior is 
</p>

<p>
<a href="http://ubuntuforums.org/showthread.php?t=478418" class="urlextern" title="http://ubuntuforums.org/showthread.php?t=478418"  rel="nofollow">http://ubuntuforums.org/showthread.php?t=478418</a>
</p>

<p>
Bug: <a href="https://bugs.launchpad.net/webkit/+bug/871425" class="urlextern" title="https://bugs.launchpad.net/webkit/+bug/871425"  rel="nofollow">https://bugs.launchpad.net/webkit/+bug/871425</a><br/>

Upstream Bug: <a href="https://bugs.webkit.org/show_bug.cgi?id=50561" class="urlextern" title="https://bugs.webkit.org/show_bug.cgi?id=50561"  rel="nofollow">https://bugs.webkit.org/show_bug.cgi?id=50561</a>
</p>

</div>

<h4 id="html5_videoaudio_doesn_t_play">HTML5 Video/ Audio doesn&#039;t play</h4>
<div class="level4">

<p>
<a href="#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.
</p>
<ol>
<li class="level1"><div class="li"> You need gstreamer(0.10/1.0)-pulse if you&#039;re using PulseAudio.</div>
</li>
<li class="level1"><div class="li"> You may need gstreamer(0.10/1.0)-alsa for ALSA, depending on your distribution.</div>
</li>
<li class="level1"><div class="li"> You need plugins for Theora, gstreamer(0.10/1.0)-base and <abbr title="Moving Picture Experts Group">MPEG</abbr>-4 incluing aac (e.g. gst-plugins-faad), gstreamer(0.10/1.0)-bad. For WebM, you&#039;ll need plugins for vorbis (-base), matroska (-good), and vp8 (-bad). Have a look at <a href="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>
</li>
<li class="level1"><div class="li"> For Youtube or Vimeo, you need WebKitGTK+ 1.1.20 or newer.</div>
</li>
<li class="level1"><div class="li"> You can <a href="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>
</li>
<li class="level1"><div class="li"> You can look at about:version to see which video codecs you have installed.</div>
</li>
</ol>

</div>

<h4 id="java_doesn_t_work_applets_don_t_show_up">Java doesn&#039;t work, applets don&#039;t show up</h4>
<div class="level4">

<p>
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.
</p>

</div>

<h4 id="how_do_i_get_rid_of_the_menubar">How do I get rid of the menubar?</h4>
<div class="level4">

<p>
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.
</p>

</div>

<h4 id="why_can_t_i_use_periods_when_searching_from_the_location_bar">Why can&#039;t I use periods when searching from the location bar?</h4>
<div class="level4">

<p>
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 &#039;g&#039; in front of the search terms, like &#039;g Ms.Marple&#039;. The &#039;g&#039; is a token that tells the browser you want to use Google. See Tools &gt; Manage Search Engines or right-click the location bar and select the menu item, to look at search engines and tokens.
</p>

</div>

<h4 id="how_can_i_reload_and_bypass_the_cache">How can I reload and bypass the cache?</h4>
<div class="level4">

<p>
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.
</p>

</div>

<h4 id="how_do_i_make_tabs_pinnedstickyminimized">How do I make tabs pinned/ sticky/ minimized?</h4>
<div class="level4">

<p>
Right-click the tab label, and click &#039;Minimize&#039; or &#039;Show Tab Icon Only&#039; (Midori 0.3.5 or older).
</p>

</div>

<h4 id="why_doesn_t_google_live_search_work">Why doesn&#039;t Google &quot;live search&quot; work?</h4>
<div class="level4">

<p>
You need to set Preferences &gt; Network &gt; Identify As to Firefox.
</p>

</div>

<h4 id="google_docs_says_clear_your_caches">Google Docs says &quot;Clear your caches&quot;</h4>
<div class="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>

<h4 id="opening_html_email_with_mutt">Opening html email with Mutt</h4>
<div class="level4">

<p>
Place the following in ~/.mutt/mailcap or ~/.mailcap:
</p>
<pre class="code">text/html; midori -a &#039;%s&#039;; test=test -n &quot;$DISPLAY&quot;; nametemplate=%s.html</pre>

</div>

<h4 id="scrolling_on_website_xyz_is_very_slow">Scrolling on website xyz is very slow</h4>
<div class="level4">
<ol>
<li class="level1"><div class="li"> Go to Tools &gt; Extensions</div>
</li>
<li class="level1"><div class="li"> Enable &#039;User Addons&#039; if it&#039;s not yet enabled</div>
</li>
<li class="level1"><div class="li"> Create a text file .local/share/midori/styles/scrollfix.user.css</div>
</li>
<li class="level1"><div class="li"> Put this into the file: * {-webkit-box-shadow: none !important;}</div>
</li>
</ol>

</div>

<h4 id="file_opening_doesn_t_workpdfs_are_opened_with_gimp">File opening doesn&#039;t work/ PDFs are opened with GIMP</h4>
<div class="level4">

<p>
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 <abbr title="Multipurpose Internet Mail Extension">MIME</abbr> configuration. To tweak this there are multiple options:
</p>
<ol>
<li class="level1"><div class="li"> Use &#039;Open With&#039; with a graphical file manager</div>
</li>
<li class="level1"><div class="li"> Edit ~/.local/share/applications/defaults.list with a text editor</div>
</li>
<li class="level1"><div class="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 <a href="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>
</p>

</div>

<h4 id="open_magnetircaptbitcoinwith_an_application">Open magnet:, irc:, apt:, bitcoin: with an application</h4>
<div class="level4">

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

<p>
Add a line to ~/.local/share/applications/mimeapps.list:
</p>
<pre class="code">x-scheme-handler/magnet=transmission-gtk.desktop</pre>

<p>
Or install an application which advertises the scheme like so:
</p>
<pre class="code">MimeType=x-scheme-handler/magnet;</pre>

<p>
Note that incomplete .desktop files will silently fail and it will look as if it doesn&#039;t exist.
</p>

<p>
For <a href="http://electrum.org/bitcoin_URIs.html" class="urlextern" title="http://electrum.org/bitcoin_URIs.html"  rel="nofollow">bitcoin:</a>, try <a href="http://electrum.org/index.html" class="urlextern" title="http://electrum.org/index.html"  rel="nofollow">Electrum</a> or <a href="http://multibit.org/" class="urlextern" title="http://multibit.org/"  rel="nofollow">Multibit</a>.
</p>

</div>

<h4 id="spell_check">Spell check</h4>
<div class="level4">

<p>
First enable spell checking:
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 <a href="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>

<h4 id="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>
<div class="level4">

<p>
You can change <a href="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 
</p>
<pre class="code">enable-universal-access-from-file-uris=true</pre>

<p>
 to your config file.
</p>

</div>

<h4 id="how_do_i_change_the_proxy_server_from_the_toolbar_or_statusbar">How do I change the proxy server from the toolbar or statusbar?</h4>
<div class="level4">
<ol>
<li class="level1"><div class="li"> Activate the Statusbar Features plugin.</div>
</li>
<li class="level1"><div class="li"> Close Midori.</div>
</li>
<li class="level1"><div class="li"> Create a folder ~/.config/midori/extensions/libstatusbar-features.so/</div>
</li>
<li class="level1"><div class="li"> Create a text file “config”</div>
</li>
<li class="level1"><div class="li"> Type the following for the default setup:</div>
</li>
</ol>
<pre class="code">  [settings]
  items=auto-load-images;enable-scripts;enable-plugins;identify-as;zoom-level</pre>

<p>
Add button types separated by semicolon:
</p>
<ul>
<li class="level1"><div class="li"> proxy-type Proxy Server</div>
</li>
<li class="level1"><div class="li"> preferred-encoding Character Set/ Encoding</div>
</li>
<li class="level1"><div class="li"> enable-spell-checking Spell Check</div>
</li>
<li class="level1"><div class="li"> zoom-text-and-images Only zoom in text, or text and images</div>
</li>
<li class="level1"><div class="li"> first-party-cookies-only First party cookies only</div>
</li>
<li class="level1"><div class="li"> site-data-rules see <a href="#blacklist_cookies" title="midori:faq ↵" class="wikilink1">Blacklisting cookies</a></div>
</li>
</ul>

<p>
Most settings listed at <a href="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.
</p>

</div>
<!-- EDIT5 SECTION "Flash doesn't work" [5486-14378] -->
<h1 class="sectionedit6" id="privacy">Privacy</h1>
<div class="level1">

</div>
<!-- EDIT6 SECTION "Privacy" [14379-14401] -->
<h2 class="sectionedit7" id="blacklist_cookies">Blacklist cookies</h2>
<div class="level2">

<p>
As of Midori 0.4.4 you can add a hidden option to ~/.config/midori/config like so:
</p>
<pre class="code">site-data-rules=-google.com,-facebook.com,!bugzilla.gnome.org,+bugs.launchpad.net</pre>
<ol>
<li class="level1"><div class="li"> Values prefixed with ”-” are always blocked</div>
</li>
<li class="level1"><div class="li"> Values prefixed with ”+” are always accepted</div>
</li>
<li class="level1"><div class="li"> Values prefixed with ”!” are not cleared in Clear Private Data</div>
</li>
<li class="level1"><div class="li"> No wildcards.</div>
</li>
<li class="level1"><div class="li"> LSO, local storage and application caches ignore all policies.</div>
</li>
</ol>

<p>
The feature is currently experimental and will change in future versions.
</p>

</div>
<!-- EDIT7 SECTION "Blacklist cookies" [14402-14938] -->
<h2 class="sectionedit8" id="adblock">Adblock</h2>
<div class="level2">

<p>
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.
</p>

</div>
<!-- EDIT8 SECTION "Adblock" [14939-15194] -->
<h1 class="sectionedit9" id="modes">Modes</h1>
<div class="level1">

</div>
<!-- EDIT9 SECTION "Modes" [15195-15215] -->
<h2 class="sectionedit10" id="web_applications">Web Applications</h2>
<div class="level2">

<p>
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>
<li class="level1"><div class="li"> Right-click a hyperlink → Open as Web Application</div>
</li>
<li class="level1"><div class="li"> Add or Edit a bookmark → [x] Run as web application</div>
</li>
<li class="level1"><div class="li"> Type ‘midori -a <a href="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’)
</p>

</div>
<!-- EDIT10 SECTION "Web Applications" [15216-15732] -->
<h2 class="sectionedit11" id="private_browsing">Private Browsing</h2>
<div class="level2">

<p>
File menu/ App Menu button → Private Browsing
</p>

<p>
A private window is a separate process, so crashes don&#039;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.
</p>

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

<p>
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.
<abbr title="Domain Name System">DNS</abbr> prefetching is disabled in this mode, also referrers are stripped down to the hostname when navigating between different websites.
</p>

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

</div>
<!-- EDIT11 SECTION "Private Browsing" [15733-16652] -->
<h2 class="sectionedit12" id="portable_modewin32">Portable mode/ Win32</h2>
<div class="level2">

<p>
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.
</p>

</div>
<!-- EDIT12 SECTION "Portable mode/ Win32" [16653-16966] -->
<h2 class="sectionedit13" id="kiosk_mode">Kiosk mode</h2>
<div class="level2">

<p>
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:
</p>
<pre class="code bash">midori <span class="re5">-i</span> <span class="nu0">120</span> <span class="re5">-e</span> Fullscreen <span class="re5">-e</span> Navigationbar <span class="re5">-a</span> about:blank</pre>

<p>
Available commands for -e can be listed with “midori –help-execute”.
</p>

<p>
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.
</p>

<p>
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:
</p>
<pre class="code bash"><span class="re5">-b</span> <span class="st_h">'youtube|youporn'</span></pre>

<p>
By negating the expression you can also whitelist pages.
</p>
<pre class="code bash"><span class="re5">-b</span> <span class="st_h">'^(?!.*?(gmail|mail\.google|accounts\.google)).*'</span></pre>

<p>
Any links outside end up in an error page. All images and other files won&#039;t be loaded.
</p>

</div>
<!-- EDIT13 SECTION "Kiosk mode" [16967-18004] -->
<h2 class="sectionedit14" id="always_open_midori_in_fullscreen">Always open Midori in Fullscreen</h2>
<div class="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&#039;t enough, <a href="https://live.gnome.org/DevilsPie" class="urlextern" title="https://live.gnome.org/DevilsPie"  rel="nofollow">DevilsPie</a> can force Midori to the desired state:
</p>

<p>
~/.devilspie/midori.ds
</p>

<p>
(begin
</p>
<pre class="code">  (if
      (and
          (is (application_name) &quot;Midori&quot;)
      )
          (begin
              (maximize)
          )
  )</pre>

<p>
)
</p>

</div>
<!-- EDIT14 SECTION "Always open Midori in Fullscreen" [18005-18532] -->
<h2 class="sectionedit15" id="overriding_settings_and_loading_extensions">Overriding settings and loading extensions</h2>
<div class="level2">

<p>
As of Midori 0.5.0 the –execute command line switch got more powerful:
</p>

<p>
<code>midori -e libcolorful-tabs.so=true</code>
</p>

<p>
<code>midori -e enable-javascript=false</code>
</p>

</div>
<!-- EDIT15 SECTION "Overriding settings and loading extensions" [18533-18740] -->
<h1 class="sectionedit16" id="proxy_servers">Proxy servers</h1>
<div class="level1">

<p>
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.
</p>

</div>

<h4 id="privoxy">Privoxy</h4>
<div class="level4">

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

<p>
<a href="http://www.privoxy.org/faq/" class="urlextern" title="http://www.privoxy.org/faq/"  rel="nofollow">http://www.privoxy.org/faq/</a>
</p>

</div>

<h4 id="mousehole">Mousehole</h4>
<div class="level4">

<p>
Mousehole is a scriptable proxy server written in Ruby.
</p>

<p>
<a href="http://code.whytheluckystiff.net/mouseHole/" class="urlextern" title="http://code.whytheluckystiff.net/mouseHole/"  rel="nofollow">http://code.whytheluckystiff.net/mouseHole/</a>
</p>

</div>

<h4 id="polipo">Polipo</h4>
<div class="level4">

<p>
 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.
</p>

<p>
<a href="http://www.pps.jussieu.fr/~jch/software/polipo/" class="urlextern" title="http://www.pps.jussieu.fr/~jch/software/polipo/"  rel="nofollow">http://www.pps.jussieu.fr/~jch/software/polipo/</a>
</p>

</div>

<h4 id="are_socks_proxy_servers_supported">Are SOCKS proxy servers supported?</h4>
<div class="level4">

<p>
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.
</p>

<p>
libSoup &lt; 2.40 only supports <abbr title="Hyper Text Transfer Protocol">HTTP</abbr> proxy servers directly. A way to use SOCKS on Unix is to use tsocks with <abbr title="Secure Shell">SSH</abbr> as follows:
</p>
<ol>
<li class="level1"><div class="li"> Install &#039;tsocks&#039;</div>
</li>
<li class="level1"><div class="li"> Open /etc/tsocks.conf in an editor</div>
</li>
<li class="level1"><div class="li"> Type something like this, you can choose the port freely: <pre class="code">server = 127.0.0.1
server_type = 5
server_port = 5555</pre>
</div>
</li>
<li class="level1"><div class="li"> Open an <abbr title="Secure Shell">SSH</abbr> connection with the same port: <pre class="code"> ssh -D localhost:5555 myhost.com </pre>
</div>
</li>
<li class="level1"><div class="li"> Run Midori with “tsocks” in front of it: <pre class="code"> tsocks midori </pre>
</div>
</li>
<li class="level1"><div class="li"> Now you can use for example <a href="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 <abbr title="Secure Shell">SSH</abbr> host. Remember to keep the <abbr title="Secure Shell">SSH</abbr> login running, and don&#039;t suspend it, otherwise it won&#039;t work.</div>
</li>
<li class="level1"><div class="li"> If the connection fails for some reason, you should see a connection error.</div>
</li>
</ol>

</div>
<!-- EDIT16 SECTION "Proxy servers" [18741-20562] -->
<h1 class="sectionedit17" id="keyboard_hotkeys">Keyboard Hotkeys</h1>
<div class="level1">

</div>

<h4 id="hjkl">HJKL</h4>
<div class="level4">

<p>
You can use the Vim-like key bindings [hjkl] to navigate a page.  h=left j=down k=up l=right  In a picture:
</p>
<pre class="code">	       k
	   h     l
	     j</pre>

<p>
You can also use the arrow keys to do the same.
</p>

</div>

<h4 id="following_links">Following Links</h4>
<div class="level4">

<p>
To enable Hints in Midori, similar to vimperator in Firefox or xxxterm, press .
</p>

<p>
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.
</p>

</div>

<h4 id="use_ctrl_shift_tab_to_switch_between_pages">Use Ctrl(+Shift)+Tab to switch between pages</h4>
<div class="level4">

<p>
Since Midori 0.3.5 Ctrl+Tab is supported by default.
</p>

<p>
In older versions you can enable the History List extension under Tools → Extensions.
</p>

</div>

<h4 id="customizing_keyboard_shortcuts">Customizing keyboard shortcuts</h4>
<div class="level4">

<p>
Enable the Shortcuts extension Tools → Extensions. To edit a keybinding Tools → Customize Shortcuts…
</p>

</div>

<h4 id="using_find">Using Find</h4>
<div class="level4">

<p>
Default shortcuts for Find are:
</p>

<p>
Find:         Ctrl+f ”/” and ”,”<br/>

FindNext:     Ctrl+g and Enter<br/>

FindPrevious: Shift+Ctrl+g<br/>

</p>

<p>
Dismissing Find:
</p>

<p>
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].
</p>

</div>
<!-- EDIT17 SECTION "Keyboard Hotkeys" [20563-21895] -->
<h1 class="sectionedit18" id="mouse_gestures">Mouse Gestures</h1>
<div class="level1">

<p>
By default the right mouse button initiates gestures.
</p>

<p>
You can change the button (for example, to the middle mouse button) using a hidden option:
</p>
<ol>
<li class="level1"><div class="li"> Create a text file ~/.config/midori/extensions/libmouse-gestures.so/<strong>config</strong> .</div>
</li>
<li class="level1"><div class="li"> Type the following in there:</div>
</li>
</ol>
<pre class="code">  [settings]
  button=2</pre>

<p>
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:
</p>
<pre class="code">  [gestures]
  Quit=W;E;
  TabPrevious=SW;
  TabNext=SE;</pre>

<p>
Additionally, there are programs allowing mouse gestures system-wide, for example <a href="http://easystroke.wiki.sourceforge.net/" class="urlextern" title="http://easystroke.wiki.sourceforge.net/"  rel="nofollow">EasyStroke</a>.
</p>

</div>
<!-- EDIT18 SECTION "Mouse Gestures" [21896-22828] -->
<h1 class="sectionedit19" id="user_scripts_and_styles">User scripts and styles</h1>
<div class="level1">

<p>
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 <a href="http://www.greasespot.net" class="urlextern" title="http://www.greasespot.net"  rel="nofollow">Mozilla&#039;s Greasemonkey</a> or <a href="http://www.opera.com/support/tutorials/userjs/" class="urlextern" title="http://www.opera.com/support/tutorials/userjs/"  rel="nofollow">Opera&#039;s User JavaScript</a>.
</p>

</div>

<h4 id="how_to_install_a_userscript">How to install a UserScript</h4>
<div class="level4">

<p>
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 <a href="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&#039;t exist yet. Midori will automatically see and use it, which you can also see in the user scripts panel.
</p>

<p>
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.
</p>

</div>

<h4 id="compatibility_with_greasemonkey">Compatibility with GreaseMonkey</h4>
<div class="level4">

<p>
As previously mentioned, Midori can use most scripts you will find. Midori supports Greasemonkey&#039;s <em>@include</em> and <em>@exclude</em> metadata so that scripts are only loaded on appropriate pages. Midori doesn&#039;t support advanced metadata, such as @require and @resource, so user scripts can&#039;t define dependencies on other scripts - most of the time this isn&#039;t a problem. Midori also does not support <a href="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.
</p>

</div>

<h4 id="flash_blocking_via_a_user_script">Flash blocking via a User script</h4>
<div class="level4">

<p>
You can use <a href="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”.
</p>

</div>

<h4 id="flash_blocking_via_a_user_style">Flash blocking via a User style</h4>
<div class="level4">

<p>
You can also use <a href="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.
</p>

</div>
<!-- EDIT19 SECTION "User scripts and styles" [22829-25383] -->
<h2 class="sectionedit20" id="user_styles">User styles</h2>
<div class="level2">

<p>
User styles are <abbr title="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.
</p>

</div>

<h4 id="how_to_install_a_user_style">How to install a user style</h4>
<div class="level4">

<p>
First, you need to find some styles (or write your own). You can find some at <a href="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.
</p>

<p>
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.
</p>

</div>

<h4 id="how_to_install_a_user_style_before_midori_0020">How to install a user style before Midori 0.0.20</h4>
<div class="level4">

<p>
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.
</p>

</div>

<h4 id="a_user_css_to_display_the_url_when_a_link_is_hovered">A user css to display the url when a link is hovered</h4>
<div class="level4">

<p>
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.
</p>

<p>
Customize as needed:
</p>
<pre class="code css">a<span class="br0">&#91;</span>href<span class="br0">&#93;</span><span class="re2">:hover </span><span class="br0">&#123;</span>
            <span class="kw1">text-decoration</span><span class="sy0">:</span> <span class="kw2">none</span> !important<span class="sy0">;</span>
        <span class="br0">&#125;</span>
        a<span class="br0">&#91;</span>href<span class="br0">&#93;</span><span class="re2">:hover</span><span class="re2">:after </span><span class="br0">&#123;</span>
            <span class="kw1">content</span><span class="sy0">:</span> attr<span class="br0">&#40;</span>href<span class="br0">&#41;</span><span class="sy0">;</span>
            <span class="kw1">position</span><span class="sy0">:</span> <span class="kw2">fixed</span><span class="sy0">;</span> <span class="kw1">left</span><span class="sy0">:</span> <span class="re3">4px</span><span class="sy0">;</span> <span class="kw1">bottom</span><span class="sy0">:</span> <span class="re3">4px</span><span class="sy0">;</span>
            <span class="kw1">padding</span><span class="sy0">:</span> <span class="nu0">0</span> <span class="re3">6px</span> !important<span class="sy0">;</span>
            <span class="kw1">max-width</span><span class="sy0">:</span> <span class="re3">95%</span><span class="sy0">;</span> <span class="kw1">overflow</span><span class="sy0">:</span> <span class="kw2">hidden</span><span class="sy0">;</span>
            <span class="kw1">white-space</span><span class="sy0">:</span> <span class="kw2">nowrap</span><span class="sy0">;</span> text-overflow<span class="sy0">:</span> ellipsis<span class="sy0">;</span>
            <span class="kw1">font</span><span class="sy0">:</span><span class="re3">10pt</span> <span class="kw2">sans-serif</span> !important<span class="sy0">;</span> <span class="kw1">text-shadow</span><span class="sy0">:</span> <span class="nu0">0</span> <span class="nu0">0</span> <span class="re3">12px</span> <span class="kw2">white</span><span class="sy0">;</span>
            <span class="kw1">background-color</span><span class="sy0">:</span> ButtonFace !important<span class="sy0">;</span> <span class="kw1">color</span><span class="sy0">:</span> ButtonText !important<span class="sy0">;</span>
            opacity<span class="sy0">:</span> <span class="nu0">0.8</span><span class="sy0">;</span> <span class="kw1">outline</span><span class="sy0">:</span> ButtonFace <span class="kw2">solid</span> <span class="kw2">thick</span><span class="sy0">;</span>
            <span class="kw1">z-index</span><span class="sy0">:</span> <span class="nu0">9999</span><span class="sy0">;</span>
        <span class="br0">&#125;</span></pre>

</div>

<h4 id="tweaking_fonts_via_css">Tweaking fonts via CSS</h4>
<div class="level4">

<p>
If changing system-wide font settings isn&#039;t bringing the desired results or rendering should be tweaked only for websites <abbr title="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.
</p>

<p>
Customize as needed:
</p>
<pre class="code css"><span class="sy0">*</span> <span class="br0">&#123;</span>
    font-smooth<span class="sy0">:</span><span class="kw2">always</span><span class="sy0">;</span>
    -webkit-font-smoothing<span class="sy0">:</span> antialiased<span class="sy0">;</span>
    text-rendering<span class="sy0">:</span> optimizeLegibility
<span class="br0">&#125;</span></pre>

</div>
<!-- EDIT20 SECTION "User styles" [25384-28087] -->
<h1 class="sectionedit21" id="midori_architecture">Midori Architecture</h1>
<div class="level1">

<p>
Midori stands on the shoulders of three giants in particular: the software libraries <a href="http://www.gtk.org/" class="urlextern" title="http://www.gtk.org/"  rel="nofollow">GTK+</a>, <a href="http://webkitgtk.org/" class="urlextern" title="http://webkitgtk.org/"  rel="nofollow">WebKitGTK+</a>, and <a href="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: <a href="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 <a href="http://gstreamer.freedesktop.org/" class="urlextern" title="http://gstreamer.freedesktop.org/"  rel="nofollow">GStreamer</a>, which plays HTML5 video and audio.
</p>

</div>
<!-- EDIT21 SECTION "Midori Architecture" [28088-28718] -->
<h2 class="sectionedit22" id="webkit_version_numbers">WebKit Version Numbers</h2>
<div class="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, <abbr title="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 <abbr title="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>

<h4 id="version_number_interactions">Version Number Interactions</h4>
<div class="level4">

<p>
The WebKit2 <abbr title="Application Programming Interface">API</abbr> layer is available from fairly old WebKit versions through the present, but Midori&#039;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 <abbr title="Application Programming Interface">API</abbr> layer is only available with GTK+3.
</p>

<p>
Midori&#039;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] -->
<h1 class="sectionedit23" id="midori_and_mediaherald">Midori and mediaHerald</h1>
<div class="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 <img src="/lib/images/smileys/icon_smile.gif" class="icon" alt=":-)" /> .
</p>
<pre class="code bash"><span class="co0">#!/bin/sh</span>
&nbsp;
<span class="kw3">eval</span> $<span class="br0">&#40;</span>dbus-send <span class="re5">--session</span> <span class="re5">--print-reply</span> <span class="re5">--dest</span>=org.midori.mediaHerald <span class="sy0">/</span>org<span class="sy0">/</span>midori<span class="sy0">/</span>mediaHerald org.freedesktop.DBus.Properties.GetAll string:<span class="st0">&quot;org.midori.mediaHerald&quot;</span> <span class="sy0">|</span> <span class="kw2">awk</span> <span class="st_h">'
    /string  *&quot;VideoTitle/{
        while (1) {
            getline line
            if (line ~ /string &quot;/)
                sub(/.*string /, &quot;TITLE=&quot;, line)
                print line
                break
            }
        }
        /string  *&quot;VideoUri/{
        while (1) {
            getline line
            if (line ~ /string &quot;/)
                sub(/.*string /, &quot;URI=&quot;, line)
                print line
                break
            }
        }
    '</span><span class="br0">&#41;</span>
<span class="kw3">echo</span> <span class="st0">&quot;Midori is now playing: <span class="es2">$TITLE</span> ,the uri is: <span class="es2">$URI</span>&quot;</span></pre>

</div>
<!-- EDIT23 SECTION "Midori and mediaHerald" [30529-] --></div>
</body>
</html>