]> gitweb.stoutner.com Git - PrivacyBrowserPC.git/blob - doc/index.docbook
Add keyboard shortcuts for the URL toolbar actions. https://redmine.stoutner.com...
[PrivacyBrowserPC.git] / doc / index.docbook
1 <?xml version="1.0" ?>
2
3 <!--
4   Copyright 2023 Soren Stoutner <soren@stoutner.com>.
5
6   This file is part of Privacy Browser PC <https://www.stoutner.com/privacy-browser-pc>.
7
8   Permission is granted to copy, distribute and/or modify this document
9   under the terms of the GNU Free Documentation License, Version 1.3
10   or any later version published by the Free Software Foundation;
11   with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
12
13   You should have received a copy of the GNU Free Documentation License
14   along with Privacy Browser PC.  If not, see <http://www.gnu.org/licenses/>. -->
15
16 <!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN" "dtd/kdedbx45.dtd" [
17   <!-- Privacy Browser’s name -->
18   <!ENTITY privacybrowser "<application>Privacy Browser</application>">
19
20   <!-- People. -->
21   <!ENTITY Soren.Stoutner "<personname><firstname>Soren</firstname><surname>Stoutner</surname></personname>">
22   <!ENTITY Soren.Stoutner.mail "<email>soren@stoutner.com</email>">
23
24   <!-- Set the language of this documentation. -->
25   <!ENTITY % English "INCLUDE">
26
27   <!-- Default entries.  May not be needed. -->
28   <!ENTITY i18n-translatable-entity "<application>Translatable Entity</application>">
29   <!ENTITY % addindex "IGNORE">
30 ]>
31
32 <book id="privacybrowser" lang="&language;">
33   <bookinfo>
34     <title>The &privacybrowser; Handbook</title>
35
36     <authorgroup>
37       <author>&Soren.Stoutner; &Soren.Stoutner.mail;</author>
38
39       <!-- Add translators here.  TRANS:ROLES_OF_TRANSLATORS -->
40     </authorgroup>
41
42     <copyright>
43       <year>2016-2017, 2021-2023</year>
44       <holder>&Soren.Stoutner;</holder>
45     </copyright>
46
47     <!-- Documentation license. -->
48     <legalnotice>&FDLNotice;</legalnotice>
49
50     <!-- Last update. -->
51     <date>2023-06-13</date>
52
53     <!-- The version of Privacy Browser this documentation is written for. -->
54     <releaseinfo>&privacybrowser; version 0.4</releaseinfo>
55
56
57     <!-- Abstract about this handbook -->
58     <abstract>
59       <para>
60         &privacybrowser; is a web browser that respects your privacy.
61       </para>
62
63       <para>
64         The only way to prevent data from being abused is to prevent it from being collected in the first place.
65       </para>
66     </abstract>
67
68     <!-- This is a set of Keywords for indexing by search engines. -->
69     <keywordset>
70       <keyword>KDE</keyword>
71       <keyword>privacy</keyword>
72       <keyword>browser</keyword>
73     </keywordset>
74   </bookinfo>
75
76   <!-- Introduction. -->
77   <chapter id="introduction">
78     <title>Introduction</title>
79
80     <para>
81       &privacybrowser; is currently in an early alpha state.
82       Most of the features are not yet implemented, but I thought it would be useful to publish it so that users can track the progress and submit feedback.
83     </para>
84
85     <para>
86       To distinguish between the Android and the PC version, the website, issue tracker,
87       and code base refer to this version as <ulink url="https://www.stoutner.com/privacy-browser-pc/">Privacy Browser PC</ulink>.
88     </para>
89
90     <para>
91       The best place to discuss the development of Privacy Browser is <ulink url="https://redmine.stoutner.com/projects/privacy-browser-pc/boards">on the forum</ulink>.
92       I also frequently post on my <ulink url="https://fosstodon.org/@privacybrowser">Mastodon account</ulink> regarding the development status.
93     </para>
94
95     <!-- Qt WebEngine. -->
96     <sect1 id="qt-webengine">
97       <title>Qt WebEngine</title>
98
99       <para>
100         Privacy Browser uses <ulink url="https://doc.qt.io/qt-5/qtwebengine-index.html">Qt WebEngine</ulink> to render websites.
101         Qt WebEngine is based on the <ulink url="https://www.chromium.org/blink/">Chromium Blink</ulink> source code.
102         Because Privacy Browser is built on the <ulink url="https://api.kde.org/frameworks/index.html">KDE Framework</ulink>,
103         it currently uses the <ulink url="https://community.kde.org/Schedules/Plasma_6">Qt 5</ulink> packages.
104       </para>
105
106       <para>
107         The current Qt 5 packages are in long-term support mode.
108         From a feature perspective, Qt WebEngine 5.15.x is based on <ulink url="https://wiki.qt.io/QtWebEngine/ChromiumVersions">Chromium 87.0.4280.144</ulink>.
109         Security fixes are backported every few months with <ulink url="https://wiki.qt.io/Qt_5.15_Release#Release_Plan">each release</ulink>.
110       </para>
111     </sect1>
112
113     <!-- Bugs and missing features. -->
114     <sect1 id="bugs-and-missing-features">
115       <title>Bugs and Missing Features</title>
116
117       <para>
118         There is a list of feature requests and known bugs at <ulink url="https://redmine.stoutner.com/projects/privacy-browser-pc/issues">redmine.stoutner.com</ulink>.
119         Users should anticipate that all the current features of <ulink url="https://www.stoutner.com/privacy-browser-android/">Privacy Browser Android</ulink>
120         will also be implemented in Privacy Browser PC.
121         There is no need at this point to create features requests for these as they will be added as I start working on each feature and have a better idea of how they will be implemented.
122         However, each feature that has already been implemented should be bug free.
123         If you discover a bug that is not already documented at <ulink url="https://redmine.stoutner.com/projects/privacy-browser-pc/issues">redmine.stoutner.com</ulink> please add it.
124       </para>
125
126       <para>
127         Below is a list of known prominent bugs or missing features in this alpha release.
128       </para>
129
130       <itemizedlist>
131         <listitem><para>The page zoom is <ulink url="https://redmine.stoutner.com/issues/799">momentarily reset</ulink> every time a new URL is loaded.</para></listitem>
132         <listitem><para>If domain settings change the user agent, loading of the new URL is interrupted and the
133           <ulink url="https://redmine.stoutner.com/issues/821">previous site is reloaded</ulink>.</para></listitem>
134         <listitem><para>Browser <ulink url="https://redmine.stoutner.com/issues/831">error messages are not displayed</ulink> unless JavaScript is enabled.</para></listitem>
135         <listitem><para>Bookmarks are <ulink url="https://redmine.stoutner.com/issues/968">not yet implemented</ulink>.</para></listitem>
136         <listitem><para>Blocklists are <ulink url="https://redmine.stoutner.com/issues/969">not yet implemented</ulink>.</para></listitem>
137       </itemizedlist>
138     </sect1>
139   </chapter>
140
141   <!-- Using Privacy Browser. -->
142   <chapter id="using-privacy-browser">
143     <title>Using &privacybrowser;</title>
144
145     <para>
146       <mediaobject>
147         <imageobject>
148           <imagedata fileref="privacybrowser-window.png" format="PNG"/>
149         </imageobject>
150         <textobject>
151           <phrase>Screenshot</phrase>
152         </textobject>
153       </mediaobject>
154     </para>
155
156     <!-- JavaScript. -->
157     <sect1 id="javascript">
158       <title>JavaScript</title>
159
160       <para>
161         JavaScript allows web pages to run scripts (programs) on your device. It allows web pages to function more like apps, but it also allows web pages to spy on you.
162         Most of the tracking on the internet does not work when JavaScript is disabled.
163         JavaScript can be toggled by clicking on the privacy shield, which is blue if JavaScript is disabled and red when it is enabled.
164         <inlinemediaobject>
165           <imageobject>
166             <imagedata fileref="javascript.png" format="PNG"/>
167           </imageobject>
168           <textobject>
169             <phrase>JavaScript</phrase>
170           </textobject>
171         </inlinemediaobject>
172       </para>
173     </sect1>
174
175     <!-- Local Storage. -->
176     <sect1 id="local-storage">
177       <title>Local Storage</title>
178
179       <para>
180         <ulink url="https://doc.qt.io/qt-5/qwebenginecookiestore.html#setCookieFilter">Local storage</ulink>
181         in Privacy Browser encompasses cookies, DOM storage, IndexedDB, service workers, and the filesystem API.
182         Local storage can be toggled through an action on the toolbar.
183       </para>
184
185       <!-- Cookies. -->
186       <sect2 id="cookies">
187         <title>Cookies</title>
188
189         <para>
190           <ulink url="https://en.wikipedia.org/wiki/HTTP_cookie">Cookies</ulink>
191           allow websites to store small pieces of information for a specific host that are sent in the HTTP header every time the browser connects to that host.
192           Privacy Browser allows a maximum of <ulink url="http://browsercookielimits.iain.guru/">180 cookies with a maximum size of 4096 bytes per cookie</ulink> to be set per domain.
193           Cookies are often used to track users across the web, particularly third-party cookies (which are completely blocked in Privacy Browser).
194           They are also used as a security mechanism on websites where you log in to identify it is you as you browse from page to page on a site.
195         </para>
196
197         <para>
198           <mediaobject>
199             <imageobject>
200               <imagedata fileref="cookies.png" format="PNG"/>
201             </imageobject>
202             <textobject>
203               <phrase>Cookies</phrase>
204             </textobject>
205           </mediaobject>
206         </para>
207
208         <para>
209           The cookies dialog is opened from <xref linkend="settings-cookies"/>.
210           Durable cookies are shared with all tabs that are opened after they are made durable and are preserved even when Privacy Browser is restarted.
211           This allows users to stay logged in to sites of their choosing. No cookies are durable by default. Making a cookie durable requires specific user interaction.
212         </para>
213
214         <para>
215           All other cookies are specific to the tab where they are created and are destroyed when the tab is closed.
216         </para>
217       </sect2>
218
219       <!-- DOM storage. -->
220       <sect2 id="dom-storage">
221         <title>DOM storage</title>
222
223         <para>
224           <ulink url="https://en.wikipedia.org/wiki/Web_storage">DOM (Document Object Model) storage</ulink>, also knows as web storage, allows web pages to store information on a client device.
225           The storage capacity is larger than for cookies and the data is not automatically sent in the headers with every HTTP request.
226           In Privacy Browser, each website is allowed to store a <ulink url="https://arty.name/localstorage.html">5 MB of data</ulink> in DOM storage.
227           DOM storage requires JavaScript to function, and, in addition, requires an extra toggle to be enabled.
228           In Privacy Browser, DOM storage is limited to the tab where it is created and is destroyed when the tab is closed.
229         </para>
230       </sect2>
231
232       <!-- IndexedDB. -->
233       <sect2 id="indexeddb">
234         <title>IndexedDB</title>
235
236         <para>
237           <ulink url="https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API">IndexedDB</ulink>
238           provides web pages with a local database where they can store â€śsignificant amounts of structured data”.
239           There is disagreement on the internet about the maximum size of an IndexedDB database, probably because the various rendering engines keep changing their mind.
240           But it is usually listed at somewhere between 20% and 80% of <emphasis>your entire hard drive</emphasis> with each individual domain limited to some segment of that.
241           IndexedDB requires JavaScript to function.
242           In Privacy Browser, this database is limited to the tab where it is created and is destroyed when the tab is closed.
243         </para>
244       </sect2>
245
246       <!-- Service Workers. -->
247       <sect2 id="service-workers">
248         <title>Service Workers</title>
249
250         <para>
251           <ulink url="https://developer.chrome.com/docs/workbox/service-worker-overview/">Service workers</ulink> are offline JavaScript proxies of a website. They have their own cache that is usually hidden and hard to clear.
252           They were designed by people who want the web browser to become the operating system and run full â€śapps”.
253           In Privacy Browser, service workers are limited to the tab where they are created and are destroyed when the tab is closed.
254         </para>
255       </sect2>
256
257       <!-- Filesystem API. -->
258       <sect2 id="filesystem-api">
259         <title>Filesystem API</title>
260
261         <para>
262           The <ulink url="https://developer.chrome.com/articles/file-system-access/">filesystem API</ulink> grants the browser direct access to the files on your system.
263           Like service workers, the filesystem API is a summarily bad idea thought up by those who want the browser to become an operating system.
264           Even when JavaScript and local storage are enabled, the filesystem API does not work in Privacy Browser.
265         </para>
266       </sect2>
267     </sect1>
268
269     <!-- User Agent. -->
270     <sect1 id="user-agent">
271       <title>User Agent</title>
272
273       <para>
274         The user agent is a text string that is sent as part of every HTTP header that identifies the browser to the web server.
275         Privacy Browser's default user agent is <code>PrivacyBrowser/1.0</code>.
276         Qt WebEngine 5.15.12’s default user agent is <code>Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) QtWebEngine/5.15.12 Chrome/87.0.4280.144 Safari/537.36</code>.
277       </para>
278
279       <para>
280         Over the years user agents have become quite lengthy,
281         partially because they tend to include a <ulink url="https://webaim.org/blog/user-agent-string-history/">brief history of the internet</ulink>.
282         In the modern world they serve almost no good purpose, but some web developers still think they need them so they can send different version of their website to different browsers.
283         Some servers <ulink url="https://www.stoutner.com/user-agent-problems/">refuse to function correctly</ulink> if they don't like the user agent that is sent.
284       </para>
285
286       <para>
287         At some point in the future Privacy Browser will send no user agent by default.
288         Not only is that currently impossible because the Qt WebEngine doesn't allow you to not send a user agent (I will probably have to fork it to enable that functionality),
289         but even web servers that don't care what the user agent is often refuse to send an answer if there is no user agent at all.
290         Getting rid of this relic of the internet is going to take some time and a retraining of common expectations.
291       </para>
292     </sect1>
293
294     <!-- Domain Settings. -->
295     <sect1 id="domain-settings">
296       <title>Domain Settings</title>
297
298       <para>
299         Domain setting make it easy to automatically change JavaScript, local storage, user agent, and other settings when the domain changes.
300         Domain settings for the current domain can be accessed through the domain settings button at the far right of the URL line edit.
301         Domain settings for all domains can be accessed through <xref linkend="settings-domain-settings"/>. When domain settings are active, the URL line edit will have a green background.
302       </para>
303     </sect1>
304
305     <!-- HTTP Pings. -->
306     <sect1 id="http-pings">
307       <title>HTTP Pings</title>
308
309       <para>
310         HTTP hyperlinks can have an extra <ulink url="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#ping">ping attribute</ulink> that sends a POST request to a different URL.
311         These HTTP pings are commonly used for tracking.
312         <ulink url="https://www.theregister.com/2019/04/06/apple_safari_changes/">Most browsers</ulink> send HTTP pings without informing the user
313         <ulink url="https://lists.w3.org/Archives/Public/public-html/2018May/0027.html">in any way</ulink>
314         (despite what The Register article says, current versions of FireFox also happily send HTTP pings).
315       </para>
316
317       <para>
318         Privacy Browser blocks all HTTP pings and presents a dialog informing the user every time the current tab attempts to send one.
319         Hopefully, as more people become aware of what HTTP pings are, web sites will become more embarrassed about using them.
320         This is a classic example of how those who wrote the HTTP specs do not have the best interests of internet users at heart. I would like the day to come when this is removed from both the internet and the spec.
321         Here is an example of me <ulink url="https://forum.f-droid.org/t/the-f-droid-forum-should-stop-tracking-links-with-http-pings/">raising the issue</ulink> with F-Droid.
322       </para>
323     </sect1>
324
325     <!-- Spell Checking. -->
326     <sect1 id="spell-checking">
327       <title>Spell Checking</title>
328
329       <para>
330         Privacy Browser uses the binary <filename>.bdic</filename> Hunspell dictionary format <ulink url="https://doc.qt.io/qt-5/qtwebengine-features.html#spellchecker">utilized by Qt WebEngine</ulink>
331         which was <ulink url="https://sites.google.com/a/chromium.org/dev/developers/how-tos/editing-the-spell-checking-dictionaries">created by Google for Chromium</ulink>.
332         Debian’s Hunspell dictionary language packages are slowly adding support for the <filename>.bdic</filename> format. Those which have are listed by Privacy Browser as suggested packages.
333       </para>
334
335       <para>
336         Once a <filename>.bdic</filename> dictionary is installed, it can be enabled in Privacy Browser’s settings.
337       </para>
338     </sect1>
339   </chapter>
340
341   <!-- Commands. -->
342   <chapter id="commands">
343     <title>Command Reference</title>
344
345     <!-- Main Window. -->
346     <sect1 id="main-window">
347       <title>Main Window</title>
348
349       <!-- File. -->
350       <sect2>
351         <title>File</title>
352
353         <variablelist>
354           <!-- New Tab. -->
355           <varlistentry id="file-new-tab">
356             <term>
357               <menuchoice>
358                 <shortcut>
359                   <keycombo action="simul">&Ctrl;<keycap>T</keycap></keycombo>
360                 </shortcut>
361                 <guimenu>File</guimenu>
362                 <guimenuitem>New Tab</guimenuitem>
363               </menuchoice>
364             </term>
365
366             <listitem>
367               <para>
368                 Create a new tab.
369               </para>
370             </listitem>
371           </varlistentry>
372
373           <!-- New Window. -->
374           <varlistentry id="file-new-window">
375             <term>
376               <menuchoice>
377                 <shortcut>
378                   <keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo>
379                 </shortcut>
380                 <guimenu>File</guimenu>
381                 <guimenuitem>New Window</guimenuitem>
382               </menuchoice>
383             </term>
384
385             <listitem>
386               <para>
387                 Create a new window.
388               </para>
389             </listitem>
390           </varlistentry>
391
392           <!-- Print. -->
393           <varlistentry  id="file-print">
394             <term>
395               <menuchoice>
396                 <shortcut>
397                   <keycombo action="simul">&Ctrl;<keycap>P</keycap></keycombo>
398                 </shortcut>
399                 <guimenu>File</guimenu>
400                 <guimenuitem>Print</guimenuitem>
401               </menuchoice>
402             </term>
403
404             <listitem>
405               <para>
406                 Print the document.
407               </para>
408             </listitem>
409           </varlistentry>
410
411           <!-- Print Preview. -->
412           <varlistentry  id="file-print-preview">
413             <term>
414               <menuchoice>
415                 <shortcut>
416                   <keycombo action="simul">&Ctrl;&Shift;<keycap>P</keycap></keycombo>
417                 </shortcut>
418                 <guimenu>File</guimenu>
419                 <guimenuitem>Print Preview</guimenuitem>
420               </menuchoice>
421             </term>
422
423             <listitem>
424               <para>
425                 Display the print preview dialog.
426               </para>
427             </listitem>
428           </varlistentry>
429
430           <!-- Quit. -->
431           <varlistentry  id="file-quit">
432             <term>
433               <menuchoice>
434                 <shortcut>
435                   <keycombo action="simul">&Ctrl;<keycap>Q</keycap></keycombo>
436                 </shortcut>
437                 <guimenu>File</guimenu>
438                 <guimenuitem>Quit</guimenuitem>
439               </menuchoice>
440             </term>
441
442             <listitem>
443               <para>
444                 Quit &privacybrowser;.
445               </para>
446             </listitem>
447           </varlistentry>
448         </variablelist>
449       </sect2>
450
451       <!-- Edit. -->
452       <sect2>
453         <title>Edit</title>
454
455         <variablelist>
456           <!-- Find. -->
457           <varlistentry id="edit-find">
458             <term>
459               <menuchoice>
460                 <shortcut>
461                   <keycombo action="simul">&Ctrl;<keycap>F</keycap></keycombo>
462                 </shortcut>
463                 <guimenu>Edit</guimenu>
464                 <guimenuitem>Find</guimenuitem>
465               </menuchoice>
466             </term>
467
468             <listitem>
469               <para>
470                 Display the find toolbar and focus the find text line edit. If the toolbar is already displayed, the find text line edit is refocused and the text it contains is selected.
471               </para>
472             </listitem>
473           </varlistentry>
474
475
476           <!-- Find Next. -->
477           <varlistentry id="edit-find-next">
478             <term>
479               <menuchoice>
480                 <shortcut>
481                   <keycap>F3</keycap>
482                 </shortcut>
483                 <guimenu>Edit</guimenu>
484                 <guimenuitem>Find Next</guimenuitem>
485               </menuchoice>
486             </term>
487
488             <listitem>
489               <para>
490                 Find the next entry on the page that matches the specified text. This action is only displayed if the find toolbar is visible.
491               </para>
492             </listitem>
493           </varlistentry>
494
495           <!-- Find Previous. -->
496           <varlistentry id="edit-find-previous">
497             <term>
498               <menuchoice>
499                 <shortcut>
500                   <keycombo action="simul">&Shift;<keycap>F3</keycap></keycombo>
501                 </shortcut>
502                 <guimenu>Edit</guimenu>
503                 <guimenuitem>Find Previous</guimenuitem>
504               </menuchoice>
505             </term>
506
507             <listitem>
508               <para>
509                 Find the previous entry on the page that matches the specified text. This action is only displayed if the find toolbar is visible.
510               </para>
511             </listitem>
512           </varlistentry>
513         </variablelist>
514       </sect2>
515
516       <!-- View. -->
517       <sect2>
518         <title>View</title>
519
520         <variablelist>
521           <!-- Zoom In. -->
522           <varlistentry id="zoom-in">
523             <term>
524               <menuchoice>
525                 <shortcut>
526                   <keycombo action="simul">&Ctrl;<keycap>+</keycap></keycombo>
527                 </shortcut>
528                 <guimenu>View</guimenu>
529                 <guimenuitem>Zoom In</guimenuitem>
530               </menuchoice>
531             </term>
532
533             <listitem>
534               <para>
535                 Increment the zoom factor by 0.25. Valid factors range from 0.25 to 5.00.
536               </para>
537             </listitem>
538           </varlistentry>
539
540
541           <!-- Zoom Out. -->
542           <varlistentry id="zoom-out">
543             <term>
544               <menuchoice>
545                 <shortcut>
546                   <keycombo action="simul">&Ctrl;<keycap>-</keycap></keycombo>
547                 </shortcut>
548                 <guimenu>View</guimenu>
549                 <guimenuitem>Zoom Out</guimenuitem>
550               </menuchoice>
551             </term>
552
553             <listitem>
554               <para>
555                 Decrement the zoom factor by 0.25. Valid factors range from 0.25 to 5.00.
556               </para>
557             </listitem>
558           </varlistentry>
559
560           <!-- Refresh. -->
561           <varlistentry id="view-refresh">
562             <term>
563               <menuchoice>
564                 <shortcut>
565                   <keycap>F5</keycap>
566                 </shortcut>
567                 <guimenu>View</guimenu>
568                 <guimenuitem>Refresh</guimenuitem>
569               </menuchoice>
570             </term>
571
572             <listitem>
573               <para>
574                 Reload the website in the current tab.
575               </para>
576             </listitem>
577           </varlistentry>
578
579           <!-- Reload and Bypass Cache. -->
580           <varlistentry id="view-reload-and-bypass-cache">
581             <term>
582               <menuchoice>
583                 <shortcut>
584                   <keycombo action="simul">&Ctrl;<keycap>F5</keycap></keycombo>
585                 </shortcut>
586                 <guimenu>View</guimenu>
587                 <guimenuitem>Reload and Bypass Cache</guimenuitem>
588               </menuchoice>
589             </term>
590
591             <listitem>
592               <para>
593                 Reload the website in the current tab bypassing any information in the cache and loading everything from the webserver.
594               </para>
595             </listitem>
596           </varlistentry>
597
598           <!-- View Source. -->
599           <varlistentry id="view-source">
600             <term>
601               <menuchoice>
602                 <shortcut>
603                   <keycombo action="simul">&Ctrl;<keycap>U</keycap></keycombo>
604                 </shortcut>
605                 <guimenu>View</guimenu>
606                 <guimenuitem>View Source</guimenuitem>
607               </menuchoice>
608             </term>
609
610             <listitem>
611               <para>
612                 Toggle between viewing the source and viewing the rendered website.
613               </para>
614             </listitem>
615           </varlistentry>
616
617           <!-- View Source in New Tab. -->
618           <varlistentry id="view-source-in-new-tab">
619             <term>
620               <menuchoice>
621                 <shortcut>
622                   <keycombo action="simul">&Ctrl;&Shift;<keycap>U</keycap></keycombo>
623                 </shortcut>
624                 <guimenu>View</guimenu>
625                 <guimenuitem>View Source in New Tab></guimenuitem>
626               </menuchoice>
627             </term>
628
629             <listitem>
630               <para>
631                 Open a new tab displaying the source of the current tab, or a new tab displaying the rendered version if the source is already displayed. Note that right-clicking on the background of a rendered website will display a context menu with a "View page source" entry, which performs the first of these actions.
632               </para>
633             </listitem>
634           </varlistentry>
635
636           <!-- Full Screen Mode. -->
637           <varlistentry id="view-full-screen-mode">
638             <term>
639               <menuchoice>
640                 <shortcut>
641                   <keycombo action="simul">&Ctrl;&Shift;<keycap>F</keycap></keycombo>
642                 </shortcut>
643                 <guimenu>View</guimenu>
644                 <guimenuitem>Full Screen Mode</guimenuitem>
645               </menuchoice>
646             </term>
647
648             <listitem>
649               <para>
650                 Toggle full screen mode. This performs the same action as <xref linkend="f11"/>.
651               </para>
652             </listitem>
653           </varlistentry>
654         </variablelist>
655       </sect2>
656
657       <!-- Go. -->
658       <sect2>
659         <title>Go</title>
660
661         <variablelist>
662           <!-- Back. -->
663           <varlistentry id="go-back">
664             <term>
665               <menuchoice>
666                 <shortcut>
667                   <keycombo action="simul">&Alt;<keycap>Left</keycap></keycombo>
668                 </shortcut>
669                 <guimenu>Go</guimenu>
670                 <guimenuitem>Back</guimenuitem>
671               </menuchoice>
672             </term>
673
674             <listitem>
675               <para>
676                 Navigate back one step in the current tab’s history. The action is disabled if it is not possible to go back.
677               </para>
678             </listitem>
679           </varlistentry>
680
681           <!-- Forward. -->
682           <varlistentry id="go-forward">
683             <term>
684               <menuchoice>
685                 <shortcut>
686                   <keycombo action="simul">&Alt;<keycap>Right</keycap></keycombo>
687                 </shortcut>
688                 <guimenu>Go</guimenu>
689                 <guimenuitem>Forward</guimenuitem>
690               </menuchoice>
691             </term>
692
693             <listitem>
694               <para>
695                 Navigate forward one step in the current tab’s history. The action is disabled if it is not possible to go forward.
696               </para>
697             </listitem>
698           </varlistentry>
699
700           <!-- Home. -->
701           <varlistentry id="go-home">
702             <term>
703               <menuchoice>
704                 <shortcut>
705                   <keycombo action="simul">&Alt;<keycap>Home</keycap></keycombo>
706                 </shortcut>
707                 <guimenu>Go</guimenu>
708                 <guimenuitem>Home</guimenuitem>
709               </menuchoice>
710             </term>
711
712             <listitem>
713               <para>
714                 Load the home page in the current tab.
715               </para>
716             </listitem>
717           </varlistentry>
718         </variablelist>
719       </sect2>
720
721       <!-- On-The-Fly Settings. -->
722       <sect2>
723         <title>On-The-Fly Settings</title>
724
725         <variablelist>
726           <!-- JavaScript. -->
727           <varlistentry id="on-the-fly-settings-javascript">
728             <term>
729               <menuchoice>
730                 <shortcut>
731                   <keycombo action="simul">&Ctrl;<keycap>J</keycap></keycombo>
732                 </shortcut>
733                 <guimenu>On-The-Fly Settings</guimenu>
734                 <guimenuitem>JavaScript</guimenuitem>
735               </menuchoice>
736             </term>
737
738             <listitem>
739               <para>
740                 Toggle JavaScript in the current tab.
741               </para>
742             </listitem>
743           </varlistentry>
744
745           <!-- Local Storage. -->
746           <varlistentry id="on-the-fly-settings-local-storage">
747             <term>
748               <menuchoice>
749                 <shortcut>
750                   <keycombo action="simul">&Ctrl;<keycap>L</keycap></keycombo>
751                 </shortcut>
752                 <guimenu>On-The-Fly Settings</guimenu>
753                 <guimenuitem>Local Storage</guimenuitem>
754               </menuchoice>
755             </term>
756
757             <listitem>
758               <para>
759                 Toggle local storage in the current tab.
760               </para>
761             </listitem>
762           </varlistentry>
763
764           <!-- DOM Storage. -->
765           <varlistentry id="on-the-fly-settings-dom-storage">
766             <term>
767               <menuchoice>
768                 <shortcut>
769                   <keycombo action="simul">&Ctrl;<keycap>D</keycap></keycombo>
770                 </shortcut>
771                 <guimenu>On-The-Fly Settings</guimenu>
772                 <guimenuitem>DOM Storage</guimenuitem>
773               </menuchoice>
774             </term>
775
776             <listitem>
777               <para>
778                 Toggle DOM storage in the current tab.
779               </para>
780             </listitem>
781           </varlistentry>
782         </variablelist>
783
784         <!-- User Agent. -->
785         <sect3>
786           <title>User Agent</title>
787
788           <variablelist>
789             <!-- Privacy Browser. -->
790             <varlistentry id="user-agent-privacy-browser">
791               <term>
792                 <menuchoice>
793                   <shortcut>
794                     <keycombo action="simul">&Ctrl;&Alt;<keycap>P</keycap></keycombo>
795                   </shortcut>
796                   <guimenu>On-The-Fly Settings</guimenu>
797                   <guisubmenu>User Agent</guisubmenu>
798                   <guimenuitem>Privacy Browser</guimenuitem>
799                 </menuchoice>
800               </term>
801
802               <listitem>
803                 <para>
804                   Use the Privacy Browser user agent for the current tab.
805                 </para>
806               </listitem>
807             </varlistentry>
808
809             <!-- WebEngine Default. -->
810             <varlistentry id="user-agent-webengine-default">
811               <term>
812                 <menuchoice>
813                   <shortcut>
814                     <keycombo action="simul">&Ctrl;&Alt;<keycap>W</keycap></keycombo>
815                   </shortcut>
816                   <guimenu>On-The-Fly Settings</guimenu>
817                   <guisubmenu>User Agent</guisubmenu>
818                   <guimenuitem>WebEngine Default</guimenuitem>
819                 </menuchoice>
820               </term>
821
822               <listitem>
823                 <para>
824                   Use the WebEngine Default user agent for the current tab.
825                 </para>
826               </listitem>
827             </varlistentry>
828
829             <!-- Firefox on Linux. -->
830             <varlistentry id="user-agent-firefox-linux">
831               <term>
832                 <menuchoice>
833                   <shortcut>
834                     <keycombo action="simul">&Ctrl;&Alt;<keycap>F</keycap></keycombo>
835                   </shortcut>
836                   <guimenu>On-The-Fly Settings</guimenu>
837                   <guisubmenu>User Agent</guisubmenu>
838                   <guimenuitem>Firefox on Linux</guimenuitem>
839                 </menuchoice>
840               </term>
841
842               <listitem>
843                 <para>
844                   Use the Firefox on Linux user agent for the current tab.
845                 </para>
846               </listitem>
847             </varlistentry>
848
849             <!-- Chromium on Linux. -->
850             <varlistentry id="user-agent-chromium-linux">
851               <term>
852                 <menuchoice>
853                   <shortcut>
854                     <keycombo action="simul">&Ctrl;&Alt;<keycap>C</keycap></keycombo>
855                   </shortcut>
856                   <guimenu>On-The-Fly Settings</guimenu>
857                   <guisubmenu>User Agent</guisubmenu>
858                   <guimenuitem>Chromium on Linux</guimenuitem>
859                 </menuchoice>
860               </term>
861
862               <listitem>
863                 <para>
864                   Use the Chromium on Linux user agent for the current tab.
865                 </para>
866               </listitem>
867             </varlistentry>
868
869             <!-- Firefox on Windows. -->
870             <varlistentry id="user-agent-firefox-windows">
871               <term>
872                 <menuchoice>
873                   <shortcut>
874                     <keycombo action="simul">&Ctrl;&Alt;&Shift;<keycap>F</keycap></keycombo>
875                   </shortcut>
876                   <guimenu>On-The-Fly Settings</guimenu>
877                   <guisubmenu>User Agent</guisubmenu>
878                   <guimenuitem>Firefox on Windows</guimenuitem>
879                 </menuchoice>
880               </term>
881
882               <listitem>
883                 <para>
884                   Use the Firefox on Windows user agent for the current tab.
885                 </para>
886               </listitem>
887             </varlistentry>
888
889             <!-- Chrome on Windows. -->
890             <varlistentry id="user-agent-chrome-windows">
891               <term>
892                 <menuchoice>
893                   <shortcut>
894                     <keycombo action="simul">&Ctrl;&Alt;&Shift;<keycap>C</keycap></keycombo>
895                   </shortcut>
896                   <guimenu>On-The-Fly Settings</guimenu>
897                   <guisubmenu>User Agent</guisubmenu>
898                   <guimenuitem>Chrome on Windows</guimenuitem>
899                 </menuchoice>
900               </term>
901
902               <listitem>
903                 <para>
904                   Use the Chrome on Windows user agent for the current tab.
905                 </para>
906               </listitem>
907             </varlistentry>
908
909             <!-- Edge on Windows. -->
910             <varlistentry id="user-agent-edge-windows">
911               <term>
912                 <menuchoice>
913                   <shortcut>
914                     <keycombo action="simul">&Ctrl;&Alt;<keycap>E</keycap></keycombo>
915                   </shortcut>
916                   <guimenu>On-The-Fly Settings</guimenu>
917                   <guisubmenu>User Agent</guisubmenu>
918                   <guimenuitem>Edge on Windows</guimenuitem>
919                 </menuchoice>
920               </term>
921
922               <listitem>
923                 <para>
924                   Use the Edge on Windows user agent for the current tab.
925                 </para>
926               </listitem>
927             </varlistentry>
928
929             <!-- Safari on macOS. -->
930             <varlistentry id="user-agent-safari-macOS">
931               <term>
932                 <menuchoice>
933                   <shortcut>
934                     <keycombo action="simul">&Ctrl;&Alt;<keycap>S</keycap></keycombo>
935                   </shortcut>
936                   <guimenu>On-The-Fly Settings</guimenu>
937                   <guisubmenu>User Agent</guisubmenu>
938                   <guimenuitem>Safari on macOS</guimenuitem>
939                 </menuchoice>
940               </term>
941
942               <listitem>
943                 <para>
944                   Use the Safari on macOS user agent for the current tab.
945                 </para>
946               </listitem>
947             </varlistentry>
948
949             <!-- Custom User Agent. -->
950             <varlistentry id="user-agent-custom">
951               <term>
952                 <menuchoice>
953                   <shortcut>
954                     <keycombo action="simul">&Alt;&Shift;<keycap>C</keycap></keycombo>
955                   </shortcut>
956                   <guimenu>On-The-Fly Settings</guimenu>
957                   <guisubmenu>User Agent</guisubmenu>
958                   <guimenuitem>Custom</guimenuitem>
959                 </menuchoice>
960               </term>
961
962               <listitem>
963                 <para>
964                   Use the custom user agent for the current tab. This action is only active if a custom user agent is set in the settings.
965                 </para>
966               </listitem>
967             </varlistentry>
968           </variablelist>
969         </sect3>
970
971         <!-- Zoom. -->
972         <sect3>
973           <title>Zoom</title>
974
975           <variablelist>
976             <!-- Zoom Factor. -->
977             <varlistentry id="on-the-fly-settings-zoom-factor">
978               <term>
979                 <menuchoice>
980                   <shortcut>
981                     <keycombo action="simul">&Ctrl;&Alt;<keycap>Z</keycap></keycombo>
982                   </shortcut>
983                   <guimenu>On-The-Fly Settings</guimenu>
984                   <guimenuitem>Zoom Factor</guimenuitem>
985                 </menuchoice>
986               </term>
987
988               <listitem>
989                 <para>
990                   Display the zoom factor dialog.
991                 </para>
992               </listitem>
993             </varlistentry>
994           </variablelist>
995         </sect3>
996
997         <!-- Search Engine. -->
998         <sect3>
999           <title>Search Engine</title>
1000
1001           <variablelist>
1002             <!-- Mojeek. -->
1003             <varlistentry id="search-engine-mojeek">
1004               <term>
1005                 <menuchoice>
1006                   <shortcut>
1007                     <keycombo action="simul">&Ctrl;&Shift;<keycap>M</keycap></keycombo>
1008                   </shortcut>
1009                   <guimenu>On-The-Fly Settings</guimenu>
1010                   <guisubmenu>Search Engine</guisubmenu>
1011                   <guimenuitem>Mojeek</guimenuitem>
1012                 </menuchoice>
1013               </term>
1014
1015               <listitem>
1016                 <para>
1017                   Use Mojeek as the search engine.
1018                 </para>
1019               </listitem>
1020             </varlistentry>
1021
1022             <!-- Monocles. -->
1023             <varlistentry id="search-engine-monocles">
1024               <term>
1025                 <menuchoice>
1026                   <shortcut>
1027                     <keycombo action="simul">&Ctrl;&Shift;<keycap>O</keycap></keycombo>
1028                   </shortcut>
1029                   <guimenu>On-The-Fly Settings</guimenu>
1030                   <guisubmenu>Search Engine</guisubmenu>
1031                   <guimenuitem>Monocles</guimenuitem>
1032                 </menuchoice>
1033               </term>
1034
1035               <listitem>
1036                 <para>
1037                   Use Mojeek as the search engine.
1038                 </para>
1039               </listitem>
1040             </varlistentry>
1041
1042             <!-- MetaGer. -->
1043             <varlistentry id="search-engine-metager">
1044               <term>
1045                 <menuchoice>
1046                   <shortcut>
1047                     <keycombo action="simul">&Ctrl;&Shift;<keycap>E</keycap></keycombo>
1048                   </shortcut>
1049                   <guimenu>On-The-Fly Settings</guimenu>
1050                   <guisubmenu>Search Engine</guisubmenu>
1051                   <guimenuitem>MetaGer</guimenuitem>
1052                 </menuchoice>
1053               </term>
1054
1055               <listitem>
1056                 <para>
1057                   Use MetaGer as the search engine.
1058                 </para>
1059               </listitem>
1060             </varlistentry>
1061
1062             <!-- Google. -->
1063             <varlistentry id="search-engine-google">
1064               <term>
1065                 <menuchoice>
1066                   <shortcut>
1067                     <keycombo action="simul">&Ctrl;&Shift;<keycap>G</keycap></keycombo>
1068                   </shortcut>
1069                   <guimenu>On-The-Fly Settings</guimenu>
1070                   <guisubmenu>Search Engine</guisubmenu>
1071                   <guimenuitem>Google</guimenuitem>
1072                 </menuchoice>
1073               </term>
1074
1075               <listitem>
1076                 <para>
1077                   Use Google as the search engine.
1078                 </para>
1079               </listitem>
1080             </varlistentry>
1081
1082             <!-- Bing. -->
1083             <varlistentry id="search-engine-bing">
1084               <term>
1085                 <menuchoice>
1086                   <shortcut>
1087                     <keycombo action="simul">&Ctrl;&Shift;<keycap>B</keycap></keycombo>
1088                   </shortcut>
1089                   <guimenu>On-The-Fly Settings</guimenu>
1090                   <guisubmenu>Search Engine</guisubmenu>
1091                   <guimenuitem>Bing</guimenuitem>
1092                 </menuchoice>
1093               </term>
1094
1095               <listitem>
1096                 <para>
1097                   Use Bing as the search engine.
1098                 </para>
1099               </listitem>
1100             </varlistentry>
1101
1102             <!-- Yahoo. -->
1103             <varlistentry id="search-engine-yahoo">
1104               <term>
1105                 <menuchoice>
1106                   <shortcut>
1107                     <keycombo action="simul">&Ctrl;&Shift;<keycap>Y</keycap></keycombo>
1108                   </shortcut>
1109                   <guimenu>On-The-Fly Settings</guimenu>
1110                   <guisubmenu>Search Engine</guisubmenu>
1111                   <guimenuitem>Yahoo</guimenuitem>
1112                 </menuchoice>
1113               </term>
1114
1115               <listitem>
1116                 <para>
1117                   Use Yahoo as the search engine.
1118                 </para>
1119               </listitem>
1120             </varlistentry>
1121
1122             <!-- Custom Search Engine. -->
1123             <varlistentry id="search-engine-custom">
1124               <term>
1125                 <menuchoice>
1126                   <shortcut>
1127                     <keycombo action="simul">&Ctrl;&Shift;<keycap>C</keycap></keycombo>
1128                   </shortcut>
1129                   <guimenu>On-The-Fly Settings</guimenu>
1130                   <guisubmenu>Search Engine</guisubmenu>
1131                   <guimenuitem>Custom</guimenuitem>
1132                 </menuchoice>
1133               </term>
1134
1135               <listitem>
1136                 <para>
1137                   Use the custom search engine. This action is only active if a custom search engine is set in the settings.
1138                 </para>
1139               </listitem>
1140             </varlistentry>
1141           </variablelist>
1142         </sect3>
1143       </sect2>
1144
1145       <!-- Settings. -->
1146       <sect2>
1147         <title>Settings</title>
1148
1149         <variablelist>
1150           <!-- Domain Settings. -->
1151           <varlistentry id="settings-domain-settings">
1152             <term>
1153               <menuchoice>
1154                 <shortcut>
1155                   <keycombo action="simul">&Ctrl;&Shift;<keycap>D</keycap></keycombo>
1156                 </shortcut>
1157                 <guimenu>Settings</guimenu>
1158                 <guimenuitem>Domain Settings</guimenuitem>
1159               </menuchoice>
1160             </term>
1161
1162             <listitem>
1163               <para>
1164                 Display the domain settings dialog.
1165               </para>
1166             </listitem>
1167           </varlistentry>
1168
1169
1170           <!-- Cookies. -->
1171           <varlistentry id="settings-cookies">
1172             <term>
1173               <menuchoice>
1174                 <shortcut>
1175                   <keycombo action="simul">&Ctrl;<keycap>;</keycap></keycombo>
1176                 </shortcut>
1177                 <guimenu>Settings</guimenu>
1178                 <guimenuitem>Cookies</guimenuitem>
1179               </menuchoice>
1180             </term>
1181
1182             <listitem>
1183               <para>
1184                 Display the cookies dialog.
1185               </para>
1186             </listitem>
1187           </varlistentry>
1188         </variablelist>
1189       </sect2>
1190
1191       <!-- Common Settings and Help Entries. -->
1192       <sect2 id="common-settings-help-menus">
1193         <title>Common Settings and Help Entries</title>
1194
1195         <para>
1196           &privacybrowser; has many common &kde; <guimenu>Settings</guimenu> and <guimenu>Help</guimenu> menu items.
1197           For more information read the sections about the <ulink url="help:/fundamentals/ui.html#menus-settings">Settings Menu</ulink>
1198           and <ulink url="help:/fundamentals/ui.html#menus-help">Help Menu</ulink>.
1199         </para>
1200       </sect2>
1201
1202       <!-- Other Commands. -->
1203       <sect2>
1204         <title>Other Commands</title>
1205
1206         <variablelist>
1207           <!-- Find Case Sensitive. -->
1208           <varlistentry id="find-case-sensitive">
1209             <term>
1210               <command>
1211                 &Ctrl;+<keycap>S</keycap>
1212               </command>
1213             </term>
1214
1215             <listitem>
1216               <para>
1217                 Toggle find case sensitive if the find toolbar is visible.
1218               </para>
1219             </listitem>
1220           </varlistentry>
1221
1222           <!-- Open link in new tab. -->
1223           <varlistentry id="new-tab">
1224             <term>
1225               <command>
1226                 &Ctrl;+&Shift;+Click
1227               </command>
1228             </term>
1229
1230             <listitem>
1231               <para>
1232                 Open link in new tab. This performs the same action as right-clicking on the link and selecting â€śOpen link in new tab”.
1233               </para>
1234             </listitem>
1235           </varlistentry>
1236
1237           <!-- Open link in background tab. -->
1238           <varlistentry id="new-background-tab">
1239             <term>
1240               <command>
1241                 &Ctrl;+Click
1242               </command>
1243             </term>
1244
1245             <listitem>
1246               <para>
1247                 Open link in new background tab. This performs the same action as right-clicking on the link and selecting â€śOpen link in new background tab”.
1248               </para>
1249             </listitem>
1250           </varlistentry>
1251
1252           <!-- Open link in new window. -->
1253           <varlistentry id="new-window">
1254             <term>
1255               <command>
1256                 &Shift;+Click
1257               </command>
1258             </term>
1259
1260             <listitem>
1261               <para>
1262                 Open link in new window. This performs the same action as right-clicking on the link and selecting â€śOpen link in new window”.
1263               </para>
1264             </listitem>
1265           </varlistentry>
1266
1267           <!-- Save link. -->
1268           <varlistentry id="save-link">
1269             <term>
1270               <command>
1271                 &Alt;+Click
1272               </command>
1273             </term>
1274
1275             <listitem>
1276               <para>
1277                 Save link. This performs the same action as right-clicking on the link and selecting â€śSave link”.
1278               </para>
1279             </listitem>
1280           </varlistentry>
1281
1282           <!-- F11. -->
1283           <varlistentry id="f11">
1284             <term>
1285               <command>
1286                 <keycap>F11</keycap>
1287               </command>
1288             </term>
1289
1290             <listitem>
1291               <para>
1292                 Toggle full screen mode. This performs the same action as <xref linkend="view-full-screen-mode"/>.
1293               </para>
1294             </listitem>
1295           </varlistentry>
1296
1297           <!-- Escape. -->
1298           <varlistentry id="escape">
1299             <term>
1300               <command>
1301                 <keycap>&Esc;</keycap>
1302               </command>
1303             </term>
1304
1305             <listitem>
1306               <para>
1307                 Escape runs the first command that applies from the following list.
1308               </para>
1309
1310               <itemizedlist>
1311                 <listitem>
1312                   <para>
1313                     Exit full screen browsing.
1314                   </para>
1315                 </listitem>
1316
1317                 <listitem>
1318                   <para>
1319                     Clear the find text line edit and the find text highlights.
1320                   </para>
1321                 </listitem>
1322
1323                 <listitem>
1324                   <para>
1325                     Hide the find text toolbar.
1326                   </para>
1327                 </listitem>
1328               </itemizedlist>
1329             </listitem>
1330           </varlistentry>
1331         </variablelist>
1332       </sect2>
1333     </sect1>
1334
1335     <!-- Cookies Dialog. -->
1336     <sect1 id="cookies-dialog">
1337       <title>Cookies Dialog</title>
1338
1339       <para>
1340         The cookies dialog is accessed through <xref linkend="settings-cookies"/> (see <xref linkend="cookies"/>).
1341       </para>
1342
1343       <sect2 id="cookies-dialog-commands">
1344         <title>Commands</title>
1345
1346         <variablelist>
1347           <!-- Add Cookie. -->
1348           <varlistentry id="add-cookie">
1349             <term>
1350               <command>
1351                 <keycap>A</keycap>
1352               </command>
1353             </term>
1354
1355             <listitem>
1356               <para>
1357                 Open the add cookie dialog.
1358               </para>
1359             </listitem>
1360           </varlistentry>
1361
1362           <!-- Edit Cookie. -->
1363           <varlistentry id="edit-cookie">
1364             <term>
1365               <command>
1366                 <keycap>E</keycap>
1367               </command>
1368             </term>
1369
1370             <listitem>
1371               <para>
1372                 Open the edit cookie dialog. This command is only valid if a cookie is currently selected.
1373               </para>
1374             </listitem>
1375           </varlistentry>
1376
1377           <!-- Delete Cookies. -->
1378           <varlistentry id="delete-cookies">
1379             <term>
1380               <command>
1381                 <keycap>D</keycap> or <keycap>&Del;</keycap>
1382               </command>
1383             </term>
1384
1385             <listitem>
1386               <para>
1387                 Delete the currently selected cookies. A dialog will confirm the deletion before it is processed.
1388               </para>
1389             </listitem>
1390           </varlistentry>
1391
1392           <!-- Delete All Cookies. -->
1393           <varlistentry id="delete-all-cookie">
1394             <term>
1395               <command>
1396                 <keycap>L</keycap>
1397               </command>
1398             </term>
1399
1400             <listitem>
1401               <para>
1402                 Delete all the cookies. A dialog will confirm the deletion before it is processed.
1403               </para>
1404             </listitem>
1405           </varlistentry>
1406
1407           <!-- Close. -->
1408           <varlistentry id="close-cookies-dialog">
1409             <term>
1410               <command>
1411                 <keycap>C</keycap> or <keycombo action="simul">&Ctrl;<keycap>Q</keycap></keycombo>
1412               </command>
1413             </term>
1414
1415             <listitem>
1416               <para>
1417                 Close the cookies dialog.
1418               </para>
1419             </listitem>
1420           </varlistentry>
1421         </variablelist>
1422       </sect2>
1423     </sect1>
1424
1425     <!-- Save Dialog. -->
1426     <sect1 id="save-dialog">
1427       <title>Save Dialog</title>
1428
1429       <para>
1430         The save dialog pops up when a download is initiated.
1431       </para>
1432
1433       <sect2 id="save-dialog-commands">
1434         <title>Commands</title>
1435
1436         <variablelist>
1437           <!-- Save. -->
1438           <varlistentry id="save-dialog-save">
1439             <term>
1440               <command>
1441                 <keycap>S</keycap>
1442               </command>
1443             </term>
1444
1445             <listitem>
1446               <para>
1447                 Save the file.
1448               </para>
1449             </listitem>
1450           </varlistentry>
1451
1452           <!-- Close. -->
1453           <varlistentry id="save-dialog-close">
1454             <term>
1455               <command>
1456                 <keycap>C</keycap> or <keycombo action="simul">&Ctrl;<keycap>Q</keycap></keycombo>
1457               </command>
1458             </term>
1459
1460             <listitem>
1461               <para>
1462                 Close the save dialog without saving the file.
1463               </para>
1464             </listitem>
1465           </varlistentry>
1466         </variablelist>
1467       </sect2>
1468     </sect1>
1469   </chapter>
1470
1471   <!-- Changelog. -->
1472   <chapter id="changelog">
1473     <title>Changelog</title>
1474
1475     <!-- Version 0.4. -->
1476     <sect1 id="version_0.4">
1477       <title><ulink url="https://www.stoutner.com/privacy-browser-pc-0-4/">0.4</ulink> -
1478         <ulink url="https://gitweb.stoutner.com/?p=PrivacyBrowserPC.git;a=commitdiff;h=b4c8c8d02113d14c2a07751eb3b0c1bdeec7abb4">13 June 2023</ulink></title>
1479
1480       <itemizedlist>
1481         <listitem><para>Add a setting to <ulink url="https://redmine.stoutner.com/issues/1002">control spatial navigation</ulink>.</para></listitem>
1482         <listitem><para>Add an action to <ulink url="https://redmine.stoutner.com/issues/982">reload and bypass cache</ulink>.</para></listitem>
1483         <listitem><para>Fix a crash if one Privacy Browser window is closed while a <ulink url="https://redmine.stoutner.com/issues/1010">tab within it is loading</ulink>.</para></listitem>
1484         <listitem><para>Add <ulink url="https://redmine.stoutner.com/issues/1009">keyboard+click commands</ulink> to the Handbook.</para></listitem>
1485       </itemizedlist>
1486     </sect1>
1487
1488     <!-- Version 0.3. -->
1489     <sect1 id="version_0.3">
1490       <title><ulink url="https://www.stoutner.com/privacy-browser-pc-0-3/">0.3</ulink> -
1491         <ulink url="https://gitweb.stoutner.com/?p=PrivacyBrowserPC.git;a=commitdiff;h=ace098e8677ac0d6468b825c73e65b82c0d6993e">8 May 2023</ulink></title>
1492
1493       <itemizedlist>
1494         <listitem><para>Add the changelog <ulink url="https://redmine.stoutner.com/issues/1000">to the Handbook</ulink>.</para></listitem>
1495         <listitem><para>Add the missing <ulink url="https://redmine.stoutner.com/issues/999">current domain settings icon</ulink> on Gnome and Xfce.</para></listitem>
1496         <listitem><para>Make changes to <ulink url="https://redmine.stoutner.com/issues/1005">build on Guix</ulink>.</para></listitem>
1497       </itemizedlist>
1498     </sect1>
1499
1500     <!-- Version 0.2. -->
1501     <sect1 id="version_0.2">
1502       <title><ulink url="https://www.stoutner.com/privacy-browser-pc-0-2/">0.2</ulink> -
1503         <ulink url="https://gitweb.stoutner.com/?p=PrivacyBrowserPC.git;a=commitdiff;h=44b5d3a1f6a5e7fc2aa8530845f26eba7bc26f9a">17 April 2023</ulink></title>
1504
1505       <itemizedlist>
1506         <listitem><para>Fix a crash on GNOME when <ulink url="https://redmine.stoutner.com/issues/994">downloading a file</ulink> with local storage disabled.</para></listitem>
1507         <listitem><para>Fix problems with <ulink url="https://redmine.stoutner.com/issues/992">missing</ulink>
1508             <ulink url="https://redmine.stoutner.com/issues/993">icons</ulink> on GNOME.</para></listitem>
1509         <listitem><para>Display an <ulink url="https://redmine.stoutner.com/issues/980">animated favorite icon</ulink> while a webpage is loading.</para></listitem>
1510         <listitem><para><ulink url="https://redmine.stoutner.com/issues/975">Fix the Handbook</ulink> on non-KDE systems.</para></listitem>
1511         <listitem><para>Change the <ulink url="https://redmine.stoutner.com/issues/978">order of entries</ulink> in the WebEngine context menu.</para></listitem>
1512         <listitem><para>Make spellcheck languages <ulink url="https://redmine.stoutner.com/issues/958">easier to click on</ulink>.</para></listitem>
1513         <listitem><para>Only generate a HTTP ping dialog if the <ulink url="https://redmine.stoutner.com/issues/979">request is made by the current tab</ulink>.</para></listitem>
1514         <listitem><para>Add a section to the Handbook about <ulink url="https://redmine.stoutner.com/issues/976">HTTP pings</ulink>.</para></listitem>
1515       </itemizedlist>
1516     </sect1>
1517
1518     <!-- Version 0.1. -->
1519     <sect1 id="version_0.1">
1520       <title><ulink url="https://www.stoutner.com/privacy-browser-pc-0-1/">0.1</ulink> -
1521         <ulink url="https://gitweb.stoutner.com/?p=PrivacyBrowserPC.git;a=commitdiff;h=73459c6685ec5e58d776f2594c9b587802363b1c">11 March 2023</ulink></title>
1522
1523       <itemizedlist>
1524         <listitem><para>Initial release.</para></listitem>
1525       </itemizedlist>
1526     </sect1>
1527   </chapter>
1528
1529   <!-- FAQ. -->
1530   <chapter id="faq">
1531     <title>Questions and Answers</title>
1532
1533     <qandaset id="faqlist">
1534       <qandaentry>
1535         <!-- Why are there no questions. -->
1536         <question>
1537           <para>Why are there no questions?</para>
1538         </question>
1539
1540         <answer>
1541           <para>Because Privacy Browser is so perfectly designed that none have ever been asked. Also, because this is an alpha release and nobody has had a chance to ask them yet. ;)</para>
1542         </answer>
1543       </qandaentry>
1544     </qandaset>
1545   </chapter>
1546
1547   <!-- Credits. -->
1548   <chapter id="credits">
1549     <title>Credits and License</title>
1550
1551     <para>
1552       Privacy Browser PC copyright 2016-2017,2021-2023 Soren Stoutner <ulink url="mailto:soren@stoutner.com">soren@stoutner.com</ulink>.
1553     </para>
1554
1555     <!-- Program. -->
1556     <sect1 id="program">
1557       <title>Program</title>
1558
1559       <para>
1560         The source code is available at <ulink url="https://gitweb.stoutner.com/?p=PrivacyBrowserPC.git;a=summary">gitweb.stoutner.com</ulink>
1561         or by running <filename>git clone https://git.stoutner.com/PrivacyBrowserPC.git</filename>.
1562       </para>
1563
1564       <para>
1565         Translators:
1566         <itemizedlist>
1567           <listitem><para>Translations will be added in a future release.</para></listitem>
1568         </itemizedlist>
1569       </para>
1570
1571       <!-- The program license. -->
1572       &underGPL;
1573     </sect1>
1574
1575     <!-- Documentation. -->
1576     <sect1 id="documentation">
1577       <title>Documentation</title>
1578
1579       <para>
1580         <filename>doc/index.docbook</filename> and <filename>src/com.stoutner.privacybrowser.appdata.xml</filename> are released under the
1581         <ulink url="https://www.gnu.org/licenses/fdl-1.3.html">GFDL-1.3 license</ulink> with no Front-Cover or Back-Cover Texts or Invariant Sections.
1582         All other documentation is released under the <ulink url="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+ license</ulink>.
1583       </para>
1584
1585       <!-- The documentation license. -->
1586       &underFDL;
1587     </sect1>
1588
1589     <!-- Icons. -->
1590     <sect1 id="icons">
1591       <title>Icons</title>
1592
1593       <para>
1594         <inlinemediaobject>
1595           <imageobject>
1596             <imagedata fileref="privacybrowser.png" format="PNG"/>
1597           </imageobject>
1598           <textobject>
1599             <phrase>Privacy Browser</phrase>
1600           </textobject>
1601         </inlinemediaobject>
1602
1603         <inlinemediaobject>
1604           <imageobject>
1605             <imagedata fileref="javascript.png" format="PNG"/>
1606           </imageobject>
1607           <textobject>
1608             <phrase>JavaScript</phrase>
1609           </textobject>
1610         </inlinemediaobject>
1611
1612         <inlinemediaobject>
1613           <imageobject>
1614             <imagedata fileref="privacybrowser-monochrome.png" format="PNG"/>
1615           </imageobject>
1616           <textobject>
1617             <phrase>Privacy Browser Monochrome</phrase>
1618           </textobject>
1619         </inlinemediaobject>
1620
1621         are derived from <filename>security</filename> and <filename>language</filename>, which are part of the <ulink url="https://fonts.google.com/icons">Android Material icon set</ulink>
1622         and are released under the <ulink url="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</ulink>. Modifications copyright 2016-2017,2021-2023 Soren Stoutner.
1623         The resulting images are released under the <ulink url="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+ license</ulink>.
1624       </para>
1625
1626       <para>
1627         <inlinemediaobject>
1628           <imageobject>
1629             <imagedata fileref="loading.gif" format="GIF"/>
1630           </imageobject>
1631           <textobject>
1632             <phrase>Loading</phrase>
1633           </textobject>
1634         </inlinemediaobject>
1635
1636         comes from <ulink url="https://github.com/Codelessly/FlutterLoadingGIFs/blob/master/packages/cupertino_activity_indicator_selective.gif">FlutterLoadingGIFs</ulink>
1637         where it is named <filename>cupertino_activity_indicator_selective.gif</filename>.
1638         It is released under the <ulink url="https://opensource.org/license/0bsd/">Zero-Clause BSD License</ulink>.
1639       </para>
1640     </sect1>
1641   </chapter>
1642 </book>