literate-dotfiles/docs/qutebrowser.html

1569 lines
115 KiB
HTML

<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2020-01-11 sam. 22:19 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Qutebrowser Configuration</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="Dehaeze Thomas" />
<style type="text/css">
<!--/*--><![CDATA[/*><!--*/
.title { text-align: center;
margin-bottom: .2em; }
.subtitle { text-align: center;
font-size: medium;
font-weight: bold;
margin-top:0; }
.todo { font-family: monospace; color: red; }
.done { font-family: monospace; color: green; }
.priority { font-family: monospace; color: orange; }
.tag { background-color: #eee; font-family: monospace;
padding: 2px; font-size: 80%; font-weight: normal; }
.timestamp { color: #bebebe; }
.timestamp-kwd { color: #5f9ea0; }
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
.underline { text-decoration: underline; }
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
p.verse { margin-left: 3%; }
pre {
border: 1px solid #ccc;
box-shadow: 3px 3px 3px #eee;
padding: 8pt;
font-family: monospace;
overflow: auto;
margin: 1.2em;
}
pre.src {
position: relative;
overflow: visible;
padding-top: 1.2em;
}
pre.src:before {
display: none;
position: absolute;
background-color: white;
top: -10px;
right: 10px;
padding: 3px;
border: 1px solid black;
}
pre.src:hover:before { display: inline;}
/* Languages per Org manual */
pre.src-asymptote:before { content: 'Asymptote'; }
pre.src-awk:before { content: 'Awk'; }
pre.src-C:before { content: 'C'; }
/* pre.src-C++ doesn't work in CSS */
pre.src-clojure:before { content: 'Clojure'; }
pre.src-css:before { content: 'CSS'; }
pre.src-D:before { content: 'D'; }
pre.src-ditaa:before { content: 'ditaa'; }
pre.src-dot:before { content: 'Graphviz'; }
pre.src-calc:before { content: 'Emacs Calc'; }
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
pre.src-fortran:before { content: 'Fortran'; }
pre.src-gnuplot:before { content: 'gnuplot'; }
pre.src-haskell:before { content: 'Haskell'; }
pre.src-hledger:before { content: 'hledger'; }
pre.src-java:before { content: 'Java'; }
pre.src-js:before { content: 'Javascript'; }
pre.src-latex:before { content: 'LaTeX'; }
pre.src-ledger:before { content: 'Ledger'; }
pre.src-lisp:before { content: 'Lisp'; }
pre.src-lilypond:before { content: 'Lilypond'; }
pre.src-lua:before { content: 'Lua'; }
pre.src-matlab:before { content: 'MATLAB'; }
pre.src-mscgen:before { content: 'Mscgen'; }
pre.src-ocaml:before { content: 'Objective Caml'; }
pre.src-octave:before { content: 'Octave'; }
pre.src-org:before { content: 'Org mode'; }
pre.src-oz:before { content: 'OZ'; }
pre.src-plantuml:before { content: 'Plantuml'; }
pre.src-processing:before { content: 'Processing.js'; }
pre.src-python:before { content: 'Python'; }
pre.src-R:before { content: 'R'; }
pre.src-ruby:before { content: 'Ruby'; }
pre.src-sass:before { content: 'Sass'; }
pre.src-scheme:before { content: 'Scheme'; }
pre.src-screen:before { content: 'Gnu Screen'; }
pre.src-sed:before { content: 'Sed'; }
pre.src-sh:before { content: 'shell'; }
pre.src-sql:before { content: 'SQL'; }
pre.src-sqlite:before { content: 'SQLite'; }
/* additional languages in org.el's org-babel-load-languages alist */
pre.src-forth:before { content: 'Forth'; }
pre.src-io:before { content: 'IO'; }
pre.src-J:before { content: 'J'; }
pre.src-makefile:before { content: 'Makefile'; }
pre.src-maxima:before { content: 'Maxima'; }
pre.src-perl:before { content: 'Perl'; }
pre.src-picolisp:before { content: 'Pico Lisp'; }
pre.src-scala:before { content: 'Scala'; }
pre.src-shell:before { content: 'Shell Script'; }
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
/* additional language identifiers per "defun org-babel-execute"
in ob-*.el */
pre.src-cpp:before { content: 'C++'; }
pre.src-abc:before { content: 'ABC'; }
pre.src-coq:before { content: 'Coq'; }
pre.src-groovy:before { content: 'Groovy'; }
/* additional language identifiers from org-babel-shell-names in
ob-shell.el: ob-shell is the only babel language using a lambda to put
the execution function name together. */
pre.src-bash:before { content: 'bash'; }
pre.src-csh:before { content: 'csh'; }
pre.src-ash:before { content: 'ash'; }
pre.src-dash:before { content: 'dash'; }
pre.src-ksh:before { content: 'ksh'; }
pre.src-mksh:before { content: 'mksh'; }
pre.src-posh:before { content: 'posh'; }
/* Additional Emacs modes also supported by the LaTeX listings package */
pre.src-ada:before { content: 'Ada'; }
pre.src-asm:before { content: 'Assembler'; }
pre.src-caml:before { content: 'Caml'; }
pre.src-delphi:before { content: 'Delphi'; }
pre.src-html:before { content: 'HTML'; }
pre.src-idl:before { content: 'IDL'; }
pre.src-mercury:before { content: 'Mercury'; }
pre.src-metapost:before { content: 'MetaPost'; }
pre.src-modula-2:before { content: 'Modula-2'; }
pre.src-pascal:before { content: 'Pascal'; }
pre.src-ps:before { content: 'PostScript'; }
pre.src-prolog:before { content: 'Prolog'; }
pre.src-simula:before { content: 'Simula'; }
pre.src-tcl:before { content: 'tcl'; }
pre.src-tex:before { content: 'TeX'; }
pre.src-plain-tex:before { content: 'Plain TeX'; }
pre.src-verilog:before { content: 'Verilog'; }
pre.src-vhdl:before { content: 'VHDL'; }
pre.src-xml:before { content: 'XML'; }
pre.src-nxml:before { content: 'XML'; }
/* add a generic configuration mode; LaTeX export needs an additional
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
pre.src-conf:before { content: 'Configuration File'; }
table { border-collapse:collapse; }
caption.t-above { caption-side: top; }
caption.t-bottom { caption-side: bottom; }
td, th { vertical-align:top; }
th.org-right { text-align: center; }
th.org-left { text-align: center; }
th.org-center { text-align: center; }
td.org-right { text-align: right; }
td.org-left { text-align: left; }
td.org-center { text-align: center; }
dt { font-weight: bold; }
.footpara { display: inline; }
.footdef { margin-bottom: 1em; }
.figure { padding: 1em; }
.figure p { text-align: center; }
.equation-container {
display: table;
text-align: center;
width: 100%;
}
.equation {
vertical-align: middle;
}
.equation-label {
display: table-cell;
text-align: right;
vertical-align: middle;
}
.inlinetask {
padding: 10px;
border: 2px solid gray;
margin: 10px;
background: #ffffcc;
}
#org-div-home-and-up
{ text-align: right; font-size: 70%; white-space: nowrap; }
textarea { overflow-x: auto; }
.linenr { font-size: smaller }
.code-highlighted { background-color: #ffff00; }
.org-info-js_info-navigation { border-style: none; }
#org-info-js_console-label
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
.org-info-js_search-highlight
{ background-color: #ffff00; color: #000000; font-weight: bold; }
.org-svg { width: 90%; }
/*]]>*/-->
</style>
<link rel="stylesheet" type="text/css" href="./css/htmlize.css"/>
<link rel="stylesheet" type="text/css" href="./css/readtheorg.css"/>
<script type="text/javascript" src="./js/jquery.min.js"></script>
<script type="text/javascript" src="./js/bootstrap.min.js"></script>
<script type="text/javascript" src="./js/jquery.stickytableheaders.min.js"></script>
<script type="text/javascript" src="./js/readtheorg.js"></script>
<script type="text/javascript">
/*
@licstart The following is the entire license notice for the
JavaScript code in this tag.
Copyright (C) 2012-2020 Free Software Foundation, Inc.
The JavaScript code in this tag is free software: you can
redistribute it and/or modify it under the terms of the GNU
General Public License (GNU GPL) as published by the Free Software
Foundation, either version 3 of the License, or (at your option)
any later version. The code is distributed WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
As additional permission under GNU GPL version 3 section 7, you
may distribute non-source (e.g., minimized or compacted) forms of
that code without the copy of the GNU GPL normally required by
section 4, provided you include this license notice and a URL
through which recipients can access the Corresponding Source.
@licend The above is the entire license notice
for the JavaScript code in this tag.
*/
<!--/*--><![CDATA[/*><!--*/
function CodeHighlightOn(elem, id)
{
var target = document.getElementById(id);
if(null != target) {
elem.cacheClassElem = elem.className;
elem.cacheClassTarget = target.className;
target.className = "code-highlighted";
elem.className = "code-highlighted";
}
}
function CodeHighlightOff(elem, id)
{
var target = document.getElementById(id);
if(elem.cacheClassElem)
elem.className = elem.cacheClassElem;
if(elem.cacheClassTarget)
target.className = elem.cacheClassTarget;
}
/*]]>*///-->
</script>
</head>
<body>
<div id="org-div-home-and-up">
<a accesskey="h" href="./index.html"> UP </a>
|
<a accesskey="H" href="./index.html"> HOME </a>
</div><div id="content">
<h1 class="title">Qutebrowser Configuration</h1>
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org22d9ea5">Import</a></li>
<li><a href="#org89786f6">General config</a></li>
<li><a href="#org870403a">Content</a></li>
<li><a href="#org409baa5">Downloads</a></li>
<li><a href="#orgdc50649">Fonts</a></li>
<li><a href="#orgb7f67f1">Hints</a></li>
<li><a href="#orge859d77">Input</a></li>
<li><a href="#orgb9712c6">Keyhint</a></li>
<li><a href="#org619e55a">Messages</a></li>
<li><a href="#org6a05c89">New Instance Options</a></li>
<li><a href="#org6ccc487">Prompt</a></li>
<li><a href="#orgfb688a6">Qt</a></li>
<li><a href="#org1d9e873">Scrolling</a></li>
<li><a href="#org70f3891">Search</a></li>
<li><a href="#org6036ede">Session</a></li>
<li><a href="#orgc336fd6">Spell Check</a></li>
<li><a href="#org1d64606">Status Bar</a></li>
<li><a href="#org7638343">Tabs</a></li>
<li><a href="#org0947366">Urls</a></li>
<li><a href="#org42439dc">Window</a></li>
<li><a href="#org8efdb48">Bindings</a>
<ul>
<li><a href="#org3f98813">Normal Mode</a>
<ul>
<li><a href="#orgffca882">Go to specific websites</a></li>
</ul>
</li>
<li><a href="#orge3f559e">Caret mode</a></li>
<li><a href="#orgcb11435">Bindings for command mode</a></li>
<li><a href="#org944cbbc">Bindings for hint mode</a></li>
<li><a href="#orgd6cb02c">Bindings for insert mode</a></li>
<li><a href="#org1ce3265">Bindings for passthrough mode</a></li>
<li><a href="#orgbb82471">Bindings for prompt mode</a></li>
<li><a href="#org7e4890e">Bindings for register mode</a></li>
<li><a href="#org68a5a50">Bindings for yesno mode</a></li>
<li><a href="#orga6ae0da">Custom Bindings</a>
<ul>
<li><a href="#org5e08320">Use Pass to fill password and username (configuration is done in <code>~/.config/qutebrowser/password_fill_rc</code>).</a></li>
<li><a href="#orgcdbcd36">Open Youtube video using MPV</a></li>
<li><a href="#org0c13e8b">Cast Youtube to Chromecast</a></li>
<li><a href="#org6a435da">Add url to refile.org</a></li>
<li><a href="#org39dce76">Add page to Bookmarks</a></li>
<li><a href="#org94d2c0d">Open bookmark using buku</a></li>
<li><a href="#org9bbaffb">Org Capture</a></li>
<li><a href="#orgaacd8d9">Annotate with Hypothesis</a></li>
<li><a href="#org4e4e24a">See price in CamelCamelCamel</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org3991a6c">Userscripts</a>
<ul>
<li><a href="#orgd5da58e">Cast Youtube to Chromecast</a></li>
<li><a href="#org548eb2c">Add url to refile.org</a></li>
<li><a href="#orgb8e61c0">Password<sub>fill</sub><sub>rc</sub></a></li>
<li><a href="#org58d6993">Org-Capture</a></li>
<li><a href="#org63ffcb4">Add Url to Buku using Rofi</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div id="outline-container-org22d9ea5" class="outline-2">
<h2 id="org22d9ea5">Import</h2>
<div class="outline-text-2" id="text-org22d9ea5">
<div class="org-src-container">
<pre class="src src-conf">from qutebrowser.config.configfiles import ConfigAPI
from qutebrowser.config.config import ConfigContainer
import sys, os
</pre>
</div>
</div>
</div>
<div id="outline-container-org89786f6" class="outline-2">
<h2 id="org89786f6">General config</h2>
<div class="outline-text-2" id="text-org89786f6">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">This is here so configs done via the GUI are still loaded.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Remove it to not load settings done via the GUI.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.load_autoconfig()</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Aliases for commands. The keys of the given dictionary are the</span>
<span class="org-variable-name">c.aliases</span> = {<span class="org-string">'w'</span>: <span class="org-string">'session-save'</span>, <span class="org-string">'q'</span>: <span class="org-string">'quit'</span>, <span class="org-string">'wq'</span>: <span class="org-string">'quit --save'</span>}
<span class="org-comment-delimiter"># </span><span class="org-comment">Time interval (in milliseconds) between auto-saves of config/cookies/etc.</span>
<span class="org-variable-name">c.auto_save.interval</span> = <span class="org-highlight-numbers-number">15000</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Always restore open sites when qutebrowser is reopened.</span>
<span class="org-variable-name">c.auto_save.session</span> = False
<span class="org-comment-delimiter"># </span><span class="org-comment">Backend to use to display websites</span>
<span class="org-variable-name">c.backend</span> = <span class="org-string">'webengine'</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Require a confirmation before quitting the application.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Valid values:</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- always: Always show a confirmation.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- multiple-tabs: Show a confirmation if multiple tabs are opened.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- downloads: Show a confirmation if downloads are running</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- never: Never show a confirmation.</span>
<span class="org-variable-name">c.confirm_quit</span> = [<span class="org-string">'downloads'</span>]
</pre>
</div>
</div>
</div>
<div id="outline-container-org870403a" class="outline-2">
<h2 id="org870403a">Content</h2>
<div class="outline-text-2" id="text-org870403a">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">Automatically start playing `&lt;video&gt;` elements</span>
<span class="org-variable-name">c.content.autoplay</span> = False
<span class="org-variable-name">c.content.notifications</span> = False
<span class="org-comment-delimiter"># </span><span class="org-comment">Allow websites to request geolocations.</span>
<span class="org-variable-name">c.content.geolocation</span> = <span class="org-string">'ask'</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Show javascript alerts.</span>
<span class="org-variable-name">c.content.javascript.alert</span> = True
<span class="org-comment-delimiter"># </span><span class="org-comment">Allow JavaScript to read from or write to the clipboard</span>
<span class="org-variable-name">c.content.javascript.can_access_clipboard</span> = True
<span class="org-comment-delimiter"># </span><span class="org-comment">Allow websites to record audio/video.</span>
<span class="org-variable-name">c.content.media_capture</span> = <span class="org-string">'ask'</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Allow pdf.js to view PDF files in the browser</span>
<span class="org-variable-name">c.content.pdfjs</span> = False
<span class="org-comment-delimiter"># </span><span class="org-comment">Proxy to use. In addition to the listed values, you can use a</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">`socks://...` or `http://...` URL.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Valid values:</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- system: Use the system wide proxy.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- none: Don't use any proxy</span>
<span class="org-variable-name">c.content.proxy</span> = <span class="org-string">'system'</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org409baa5" class="outline-2">
<h2 id="org409baa5">Downloads</h2>
<div class="outline-text-2" id="text-org409baa5">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">Directory to save downloads to</span>
<span class="org-variable-name">c.downloads.location.directory</span> = <span class="org-string">'$HOME/Downloads/'</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Prompt the user for the download location</span>
<span class="org-variable-name">c.downloads.location.prompt</span> = True
<span class="org-comment-delimiter"># </span><span class="org-comment">Remember the last used download directory.</span>
<span class="org-variable-name">c.downloads.location.remember</span> = True
<span class="org-comment-delimiter"># </span><span class="org-comment">What to display in the download filename input.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Valid values:</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- path: Show only the download path.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- filename: Show only download filename.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- both: Show download path and filename.</span>
<span class="org-variable-name">c.downloads.location.suggestion</span> = <span class="org-string">'path'</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Where to show the downloaded files.</span>
<span class="org-variable-name">c.downloads.position</span> = <span class="org-string">'bottom'</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Duration (in milliseconds) to wait before removing finished downloads</span>
<span class="org-variable-name">c.downloads.remove_finished</span> = <span class="org-highlight-numbers-number">10000</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orgdc50649" class="outline-2">
<h2 id="orgdc50649">Fonts</h2>
<div class="outline-text-2" id="text-orgdc50649">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">Default monospace fonts</span>
<span class="org-variable-name">c.fonts.monospace</span> = <span class="org-string">'"Hack Nerd Font Mono" "xos4 Terminus", Terminus, Monospace, "DejaVu Sans Mono", Monaco, "Bitstream Vera Sans Mono", "Andale Mono", "Courier New", Courier, "Liberation Mono", monospace, Fixed, Consolas, Terminal'</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Font used for prompts.</span>
<span class="org-variable-name">c.fonts.prompts</span> = <span class="org-string">'10pt monospace'</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Font used in the statusbar.</span>
<span class="org-variable-name">c.fonts.statusbar</span> = <span class="org-string">'10pt monospace'</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Font used in the tab bar.</span>
<span class="org-variable-name">c.fonts.tabs</span> = <span class="org-string">'10pt monospace'</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orgb7f67f1" class="outline-2">
<h2 id="orgb7f67f1">Hints</h2>
<div class="outline-text-2" id="text-orgb7f67f1">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">When a hint can be automatically followed without pressing Enter.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Valid values:</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- always: Auto-follow whenever there is only a single hint on a page.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- unique-match: Auto-follow whenever there is a unique non-empty match in either the hint string (word mode) or filter (number mode).</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- full-match: Follow the hint when the user typed the whole hint (letter, word or number mode) or the element's text (only in number mode).</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- never: The user will always need to press Enter to follow a hint.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.hints.auto_follow = 'unique-match'</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Duration (in milliseconds) to ignore normal-mode key bindings after a</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">successful auto-follow.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.hints.auto_follow_timeout = 0</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">CSS border value for hints.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.hints.border = '1px solid #E3BE23'</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Characters used for hint strings.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.hints.chars = 'asdfghjkl'</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Dictionary file to be used by the word hints.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.hints.dictionary = '/usr/share/dict/words'</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Which implementation to use to find elements to hint.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Valid values:</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- javascript: Better but slower</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- python: Slightly worse but faster</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.hints.find_implementation = 'python'</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Hide unmatched hints in rapid mode.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.hints.hide_unmatched_rapid_hints = True</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Minimum number of characters used for hint strings.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.hints.min_chars = 1</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Mode to use for hints.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Valid values:</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- number: Use numeric hints. (In this mode you can also type letters from the hinted element to filter and reduce the number of elements that are hinted.)</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- letter: Use the characters in the `hints.chars` setting.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- word: Use hints words based on the html elements and the extra words.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.hints.mode = 'letter'</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Comma-separated list of regular expressions to use for 'next' links.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.hints.next_regexes = ['\\bnext\\b', '\\bmore\\b', '\\bnewer\\b', '\\b[&gt;&#8594;&#8811;]\\b', '\\b(&gt;&gt;|&#187;)\\b', '\\bcontinue\\b']</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Comma-separated list of regular expressions to use for 'prev' links.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.hints.prev_regexes = ['\\bprev(ious)?\\b', '\\bback\\b', '\\bolder\\b', '\\b[&lt;&#8592;&#8810;]\\b', '\\b(&lt;&lt;|&#171;)\\b']</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Scatter hint key chains (like Vimium) or not (like dwb). Ignored for</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">number hints.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.hints.scatter = True</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Make characters in hint strings uppercase.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.hints.uppercase = False</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orge859d77" class="outline-2">
<h2 id="orge859d77">Input</h2>
<div class="outline-text-2" id="text-orge859d77">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">Enter insert mode if an editable element is clicked.</span>
<span class="org-variable-name">c.input.insert_mode.auto_enter</span> = True
<span class="org-comment-delimiter"># </span><span class="org-comment">Leave insert mode if a non-editable element is clicked.</span>
<span class="org-variable-name">c.input.insert_mode.auto_leave</span> = True
<span class="org-comment-delimiter"># </span><span class="org-comment">Automatically enter insert mode if an editable element is focused</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">after loading the page.</span>
<span class="org-variable-name">c.input.insert_mode.auto_load</span> = False
<span class="org-comment-delimiter"># </span><span class="org-comment">Switch to insert mode when clicking flash and other plugins.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.input.insert_mode.plugins = False</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Include hyperlinks in the keyboard focus chain when tabbing.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.input.links_included_in_focus_chain = True</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Timeout (in milliseconds) for partially typed key bindings. If the</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">current input forms only partial matches, the keystring will be</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">cleared after this time.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.input.partial_timeout = 5000</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Enable Opera-like mouse rocker gestures. This disables the context</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">menu.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.input.rocker_gestures = False</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Enable spatial navigation. Spatial navigation consists in the ability</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">to navigate between focusable elements in a Web page, such as</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">hyperlinks and form controls, by using Left, Right, Up and Down arrow</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">keys. For example, if the user presses the Right key, heuristics</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">determine whether there is an element he might be trying to reach</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">towards the right and which element he probably wants.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.input.spatial_navigation = False</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orgb9712c6" class="outline-2">
<h2 id="orgb9712c6">Keyhint</h2>
<div class="outline-text-2" id="text-orgb9712c6">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">Keychains that shouldn't be shown in the keyhint dialog. Globs are</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">supported, so `;*` will blacklist all keychains starting with `;`. Use</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">`*` to disable keyhints.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.keyhint.blacklist = []</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Time (in milliseconds) from pressing a key to seeing the keyhint</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">dialog.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.keyhint.delay = 500</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Rounding radius (in pixels) for the edges of the keyhint dialog.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.keyhint.radius = 6</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org619e55a" class="outline-2">
<h2 id="org619e55a">Messages</h2>
<div class="outline-text-2" id="text-org619e55a">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">Duration (in milliseconds) to show messages in the statusbar for. Set</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">to 0 to never clear messages.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.messages.timeout = 2000</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org6a05c89" class="outline-2">
<h2 id="org6a05c89">New Instance Options</h2>
<div class="outline-text-2" id="text-org6a05c89">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">How to open links in an existing instance if a new one is launched.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">This happens when e.g. opening a link from a terminal. See</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">`new_instance_open_target_window` to customize in which window the</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">link is opened in.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Valid values:</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- tab: Open a new tab in the existing window and activate the window.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- tab-bg: Open a new background tab in the existing window and activate the window.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- tab-silent: Open a new tab in the existing window without activating the window.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- tab-bg-silent: Open a new background tab in the existing window without activating the window.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- window: Open in a new window.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.new_instance_open_target = 'tab'</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Which window to choose when opening links as new tabs. When</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">`new_instance_open_target` is not set to `window`, this is ignored.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Valid values:</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- first-opened: Open new tabs in the first (oldest) opened window.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- last-opened: Open new tabs in the last (newest) opened window.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- last-focused: Open new tabs in the most recently focused window.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- last-visible: Open new tabs in the most recently visible window.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.new_instance_open_target_window = 'last-focused'</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org6ccc487" class="outline-2">
<h2 id="org6ccc487">Prompt</h2>
<div class="outline-text-2" id="text-org6ccc487">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">Show a filebrowser in upload/download prompts.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.prompt.filebrowser = True</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Rounding radius (in pixels) for the edges of prompts.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.prompt.radius = 8</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orgfb688a6" class="outline-2">
<h2 id="orgfb688a6">Qt</h2>
<div class="outline-text-2" id="text-orgfb688a6">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">Additional arguments to pass to Qt, without leading `--`. With</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">QtWebEngine, some Chromium arguments (see</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">https://peter.sh/experiments/chromium-command-line-switches/ for a</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">list) will work.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.qt.args = []</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Force a Qt platform to use. This sets the `QT_QPA_PLATFORM`</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">environment variable and is useful to force using the XCB plugin when</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">running QtWebEngine on Wayland.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.qt.force_platform = None</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Force software rendering for QtWebEngine. This is needed for</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">QtWebEngine to work with Nouveau drivers and can be useful in other</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">scenarios related to graphic issues.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Valid values:</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- software-opengl: Tell LibGL to use a software implementation of GL (`LIBGL_ALWAYS_SOFTWARE` / `QT_XCB_FORCE_SOFTWARE_OPENGL`)</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- qt-quick: Tell Qt Quick to use a software renderer instead of OpenGL. (`QT_QUICK_BACKEND=software`)</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- chromium: Tell Chromium to disable GPU support and use Skia software rendering instead. (`--disable-gpu`)</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- none: Don't force software rendering.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.qt.force_software_rendering = 'none'</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Turn on Qt HighDPI scaling. This is equivalent to setting</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">QT_AUTO_SCREEN_SCALE_FACTOR=1 in the environment. It's off by default</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">as it can cause issues with some bitmap fonts. As an alternative to</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">this, it's possible to set font sizes and the `zoom.default` setting.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.qt.highdpi = False</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">When to use Chromium's low-end device mode. This improves the RAM</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">usage of renderer processes, at the expense of performance.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Valid values:</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- always: Always use low-end device mode.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- auto: Decide automatically (uses low-end mode with &lt; 1 GB available RAM).</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- never: Never use low-end device mode.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.qt.low_end_device_mode = 'auto'</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Which Chromium process model to use. Alternative process models use</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">less resources, but decrease security and robustness. See the</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">following pages for more details: -</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">https://www.chromium.org/developers/design-documents/process-models</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- https://doc.qt.io/qt-5/qtwebengine-features.html#process-models</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Valid values:</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- process-per-site-instance: Pages from separate sites are put into separate processes and separate visits to the same site are also isolated.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- process-per-site: Pages from separate sites are put into separate processes. Unlike Process per Site Instance, all visits to the same site will share an OS process. The benefit of this model is reduced memory consumption, because more web pages will share processes. The drawbacks include reduced security, robustness, and responsiveness.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- single-process: Run all tabs in a single process. This should be used for debugging purposes only, and it disables `:open --private`.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.qt.process_model = 'process-per-site-instance'</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org1d9e873" class="outline-2">
<h2 id="org1d9e873">Scrolling</h2>
<div class="outline-text-2" id="text-org1d9e873">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">When to show the scrollbar.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Valid values:</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- always: Always show the scrollbar.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- never: Never show the scrollbar.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- when-searching: Show the scrollbar when searching for text in the webpage. With the QtWebKit backend, this is equal to `never`.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.scrolling.bar = 'when-searching'</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Enable smooth scrolling for web pages. Note smooth scrolling does not</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">work with the `:scroll-px` command.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.scrolling.smooth = False</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org70f3891" class="outline-2">
<h2 id="org70f3891">Search</h2>
<div class="outline-text-2" id="text-org70f3891">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">When to find text on a page case-insensitively.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Valid values:</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- always: Search case-insensitively.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- never: Search case-sensitively.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- smart: Search case-sensitively if there are capital characters.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.search.ignore_case = 'smart'</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Find text on a page incrementally, renewing the search for each typed</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">character.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.search.incremental = True</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org6036ede" class="outline-2">
<h2 id="org6036ede">Session</h2>
<div class="outline-text-2" id="text-org6036ede">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">Name of the session to save by default. If this is set to null, the</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">session which was last loaded is saved.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.session.default_name = None</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Load a restored tab as soon as it takes focus.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.session.lazy_restore = False</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orgc336fd6" class="outline-2">
<h2 id="orgc336fd6">Spell Check</h2>
<div class="outline-text-2" id="text-orgc336fd6">
<p>
Languages to use for spell checking. You can check for available
languages and install dictionaries using scripts/dictcli.py. Run the
script with -h/&#x2013;help for instructions.
Valid values:
</p>
<ul class="org-ul">
<li>af-ZA: Afrikaans (South Africa)</li>
<li>bg-BG: Bulgarian (Bulgaria)</li>
<li>ca-ES: Catalan (Spain)</li>
<li>cs-CZ: Czech (Czech Republic)</li>
<li>da-DK: Danish (Denmark)</li>
<li>de-DE: German (Germany)</li>
<li>el-GR: Greek (Greece)</li>
<li>en-AU: English (Australia)</li>
<li>en-CA: English (Canada)</li>
<li>en-GB: English (United Kingdom)</li>
<li>en-US: English (United States)</li>
<li>es-ES: Spanish (Spain)</li>
<li>et-EE: Estonian (Estonia)</li>
<li>fa-IR: Farsi (Iran)</li>
<li>fo-FO: Faroese (Faroe Islands)</li>
<li>fr-FR: French (France)</li>
<li>he-IL: Hebrew (Israel)</li>
<li>hi-IN: Hindi (India)</li>
<li>hr-HR: Croatian (Croatia)</li>
<li>hu-HU: Hungarian (Hungary)</li>
<li>id-ID: Indonesian (Indonesia)</li>
<li>it-IT: Italian (Italy)</li>
<li>ko: Korean</li>
<li>lt-LT: Lithuanian (Lithuania)</li>
<li>lv-LV: Latvian (Latvia)</li>
<li>nb-NO: Norwegian (Norway)</li>
<li>nl-NL: Dutch (Netherlands)</li>
<li>pl-PL: Polish (Poland)</li>
<li>pt-BR: Portuguese (Brazil)</li>
<li>pt-PT: Portuguese (Portugal)</li>
<li>ro-RO: Romanian (Romania)</li>
<li>ru-RU: Russian (Russia)</li>
<li>sh: Serbo-Croatian</li>
<li>sk-SK: Slovak (Slovakia)</li>
<li>sl-SI: Slovenian (Slovenia)</li>
<li>sq: Albanian</li>
<li>sr: Serbian</li>
<li>sv-SE: Swedish (Sweden)</li>
<li>ta-IN: Tamil (India)</li>
<li>tg-TG: Tajik (Tajikistan)</li>
<li>tr-TR: Turkish (Turkey)</li>
<li>uk-UA: Ukrainian (Ukraine)</li>
<li>vi-VN: Vietnamese (Viet Nam)</li>
</ul>
<div class="org-src-container">
<pre class="src src-conf"><span class="org-variable-name">c.spellcheck.languages</span> = [<span class="org-string">'en-US'</span>, <span class="org-string">'fr-FR'</span>]
</pre>
</div>
</div>
</div>
<div id="outline-container-org1d64606" class="outline-2">
<h2 id="org1d64606">Status Bar</h2>
<div class="outline-text-2" id="text-org1d64606">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">Hide the statusbar unless a message is shown.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.statusbar.hide = False</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Padding (in pixels) for the statusbar.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.statusbar.padding = {'top': 1, 'bottom': 1, 'left': 0, 'right': 0}</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Position of the status bar.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Valid values:</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- top</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- bottom</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.statusbar.position = 'bottom'</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">List of widgets displayed in the statusbar.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Valid values:</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- url: Current page URL.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- scroll: Percentage of the current page position like `10%`.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- scroll_raw: Raw percentage of the current page position like `10`.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- history: Display an arrow when possible to go back/forward in history.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- tabs: Current active tab, e.g. `2`.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- keypress: Display pressed keys when composing a vi command.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- progress: Progress bar for the current page loading.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.statusbar.widgets = ['keypress', 'url', 'scroll', 'history', 'tabs', 'progress']</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org7638343" class="outline-2">
<h2 id="org7638343">Tabs</h2>
<div class="outline-text-2" id="text-org7638343">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">Open new tabs (middleclick/ctrl+click) in the background.</span>
<span class="org-variable-name">c.tabs.background</span> = True
<span class="org-comment-delimiter"># </span><span class="org-comment">Mouse button with which to close tabs.</span>
<span class="org-variable-name">c.tabs.close_mouse_button</span> = <span class="org-string">'right'</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">How to behave when the close mouse button is pressed on the tab bar.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Valid values:</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- new-tab: Open a new tab.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- close-current: Close the current tab.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- close-last: Close the last tab.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- ignore: Don't do anything.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.tabs.close_mouse_button_on_bar = 'new-tab'</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Width (in pixels) of the progress indicator (0 to disable).</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.tabs.indicator.width = 3</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">How to behave when the last tab is closed.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Valid values:</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- ignore: Don't do anything.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- blank: Load a blank page.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- startpage: Load the start page.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- default-page: Load the default page.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- close: Close the window.</span>
<span class="org-variable-name">c.tabs.last_close</span> = <span class="org-string">'close'</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">When switching tabs, what input mode is applied.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Valid values:</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- persist: Retain the current mode.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- restore: Restore previously saved mode.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- normal: Always revert to normal mode.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.tabs.mode_on_change = 'normal'</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Switch between tabs using the mouse wheel.</span>
<span class="org-variable-name">c.tabs.mousewheel_switching</span> = False
<span class="org-comment-delimiter"># </span><span class="org-comment">Position of new tabs opened from another tab.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Valid values:</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- prev: Before the current tab.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- next: After the current tab.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- first: At the beginning.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- last: At the end.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.tabs.new_position.related = 'next'</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Position of new tabs which aren't opened from another tab.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Valid values:</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- prev: Before the current tab.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- next: After the current tab.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- first: At the beginning.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- last: At the end.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.tabs.new_position.unrelated = 'last'</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Padding (in pixels) around text for tabs.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.tabs.padding = {'top': 0, 'bottom': 0, 'left': 5, 'right': 5}</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Shrink pinned tabs down to their contents.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.tabs.pinned.shrink = True</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Position of the tab bar.</span>
<span class="org-variable-name">c.tabs.position</span> = <span class="org-string">'left'</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Which tab to select when the focused tab is removed.</span>
<span class="org-variable-name">c.tabs.select_on_remove</span> = <span class="org-string">'next'</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Format to use for the tab title. The following placeholders are</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">defined: * `{perc}`: Percentage as a string like `[10%]`. *</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">`{perc_raw}`: Raw percentage, e.g. `10`. * `{title}`: Title of the</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">current web page. * `{title_sep}`: The string ` - ` if a title is set,</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">empty otherwise. * `{index}`: Index of this tab. * `{id}`: Internal</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">tab ID of this tab. * `{scroll_pos}`: Page scroll position. *</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">`{host}`: Host of the current web page. * `{backend}`: Either</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">''webkit'' or ''webengine'' * `{private}`: Indicates when private mode</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">is enabled. * `{current_url}`: URL of the current web page. *</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">`{protocol}`: Protocol (http/https/...) of the current web page. *</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">`{audio}`: Indicator for audio/mute status.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.tabs.title.format = '{audio}{index}: {title}'</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Width (in pixels or as percentage of the window) of the tab bar if it's vertical.</span>
<span class="org-variable-name">c.tabs.width</span> = <span class="org-highlight-numbers-number">30</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Wrap when changing tabs.</span>
<span class="org-variable-name">c.tabs.wrap</span> = False
</pre>
</div>
</div>
</div>
<div id="outline-container-org0947366" class="outline-2">
<h2 id="org0947366">Urls</h2>
<div class="outline-text-2" id="text-org0947366">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">What search to start when something else than a URL is entered.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Valid values:</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- naive: Use simple/naive check.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- dns: Use DNS requests (might be slow!).</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- never: Never search automatically.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.url.auto_search = 'naive'</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">URL segments where `:navigate increment/decrement` will search for a</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">number.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Valid values:</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- host</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- port</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- path</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- query</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">- anchor</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.url.incdec_segments = ['path', 'query']</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Search engines which can be used via the address bar. Maps a search</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">engine name (such as `DEFAULT`, or `ddg`) to a URL with a `{}`</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">placeholder. The placeholder will be replaced by the search term, use</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">`{{` and `}}` for literal `{`/`}` signs. The search engine named</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">`DEFAULT` is used when `url.auto_search` is turned on and something</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">else than a URL was entered to be opened. Other search engines can be</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">used by prepending the search engine name to the search term, e.g.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">`:open google qutebrowser`.</span>
<span class="org-variable-name">c.url.searchengines</span> = {
<span class="org-string">'DEFAULT'</span>: <span class="org-string">'https://www.duckduckgo.org/?q={}'</span>,
<span class="org-string">'aw'</span>: <span class="org-string">'https://wiki.archlinux.org/?search={}'</span>,
<span class="org-string">'wi'</span>: <span class="org-string">'https://en.wikipedia.org/wiki/Special:Search?search={}'</span>,
<span class="org-string">'go'</span>: <span class="org-string">'https://www.google.com/search?q={}'</span>,
<span class="org-string">'gc'</span>: <span class="org-string">'https://scholar.google.fr/scholar?hl=fr&amp;as_sdt=0%2C5&amp;q={}&amp;btnG='</span>,
<span class="org-string">'gm'</span>: <span class="org-string">'https://www.google.com/maps/search/{}/'</span>,
<span class="org-string">'yt'</span>: <span class="org-string">'https://www.youtube.com/results?search_query={}'</span>,
<span class="org-string">'gh'</span>: <span class="org-string">'https://github.com/search?q={}'</span>,
<span class="org-string">'re'</span>: <span class="org-string">'https://www.reddit.com/search?q={}'</span>,
<span class="org-string">'lb'</span>: <span class="org-string">'http://188.240.208.184/search.php?req={}'</span>,
<span class="org-string">'la'</span>: <span class="org-string">'http://188.240.208.184/scimag/index.php?s={}'</span>,
<span class="org-string">'sm'</span>: <span class="org-string">'https://www.openstreetmap.org/search?query={}'</span>,
<span class="org-string">'am'</span>: <span class="org-string">'https://www.amazon.fr/s?k={}'</span>,
<span class="org-string">'md'</span>: <span class="org-string">'https://fr.mathworks.com/help/search.html?qdoc={}&amp;submitsearch='</span>,
}
<span class="org-comment-delimiter"># </span><span class="org-comment">Page(s) to open at the start.</span>
<span class="org-variable-name">c.url.start_pages</span> = [<span class="org-string">'https://start.duckduckgo.com'</span>]
</pre>
</div>
</div>
</div>
<div id="outline-container-org42439dc" class="outline-2">
<h2 id="org42439dc">Window</h2>
<div class="outline-text-2" id="text-org42439dc">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">Hide the window decoration. This setting requires a restart on</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Wayland.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.window.hide_decoration = False</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Format to use for the window title. The same placeholders like for</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">`tabs.title.format` are defined.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.window.title_format = '{perc}{title}{title_sep}qutebrowser'</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org8efdb48" class="outline-2">
<h2 id="org8efdb48">Bindings</h2>
<div class="outline-text-2" id="text-org8efdb48">
</div>
<div id="outline-container-org3f98813" class="outline-3">
<h3 id="org3f98813">Normal Mode</h3>
<div class="outline-text-3" id="text-org3f98813">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">config.bind("'", 'enter-mode jump_mark')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('+', 'zoom-in')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('-', 'zoom-out')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('.', 'repeat-command')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('/', 'set-cmd-text /')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind(':', 'set-cmd-text :')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind(';I', 'hint images tab')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind(';O', 'hint links fill :open -t -r {hint-url}')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind(';R', 'hint --rapid links window')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind(';Y', 'hint links yank-primary')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind(';b', 'hint all tab-bg')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind(';d', 'hint links download')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind(';f', 'hint all tab-fg')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind(';h', 'hint all hover')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind(';i', 'hint images')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind(';o', 'hint links fill :open {hint-url}')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind(';r', 'hint --rapid links tab-bg')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind(';t', 'hint inputs')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind(';y', 'hint links yank')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Alt-1&gt;', 'tab-focus 1')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Alt-2&gt;', 'tab-focus 2')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Alt-3&gt;', 'tab-focus 3')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Alt-4&gt;', 'tab-focus 4')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Alt-5&gt;', 'tab-focus 5')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Alt-6&gt;', 'tab-focus 6')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Alt-7&gt;', 'tab-focus 7')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Alt-8&gt;', 'tab-focus 8')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Alt-9&gt;', 'tab-focus -1')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Alt-m&gt;', 'tab-mute')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-A&gt;', 'navigate increment')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-Alt-p&gt;', 'print')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-B&gt;', 'scroll-page 0 -1')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-D&gt;', 'scroll-page 0 0.5')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-F5&gt;', 'reload -f')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-F&gt;', 'scroll-page 0 1')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-N&gt;', 'open -w')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-PgDown&gt;', 'tab-next')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-PgUp&gt;', 'tab-prev')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-Q&gt;', 'quit')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-Return&gt;', 'follow-selected -t')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-Shift-N&gt;', 'open -p')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-Shift-T&gt;', 'undo')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-Shift-Tab&gt;', 'nop')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-Shift-W&gt;', 'close')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-T&gt;', 'open -t')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-Tab&gt;', 'tab-focus last')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-U&gt;', 'scroll-page 0 -0.5')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-V&gt;', 'enter-mode passthrough')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-W&gt;', 'tab-close')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-X&gt;', 'navigate decrement')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-^&gt;', 'tab-focus last')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-h&gt;', 'home')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-p&gt;', 'tab-pin')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-s&gt;', 'stop')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Escape&gt;', 'clear-keychain ;; search ;; fullscreen --leave')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;F11&gt;', 'fullscreen')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;F5&gt;', 'reload')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Return&gt;', 'follow-selected')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;back&gt;', 'back')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;forward&gt;', 'forward')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('=', 'zoom')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('?', 'set-cmd-text ?')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('@', 'run-macro')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('B', 'set-cmd-text -s :quickmark-load -t')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('D', 'tab-close -o')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('F', 'hint all tab')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('G', 'scroll-to-perc')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('H', 'back')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('J', 'tab-next')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('K', 'tab-prev')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('L', 'forward')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('M', 'bookmark-add')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('N', 'search-prev')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('O', 'set-cmd-text -s :open -t')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('PP', 'open -t -- {primary}')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('Pp', 'open -t -- {clipboard}')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('R', 'reload -f')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('Sb', 'open qute://bookmarks#bookmarks')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('Sh', 'open qute://history')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('Sq', 'open qute://bookmarks')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('Ss', 'open qute://settings')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('T', 'tab-focus')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('ZQ', 'quit')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('ZZ', 'quit --save')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('[[', 'navigate prev')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind(']]', 'navigate next')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('`', 'enter-mode set_mark')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('ad', 'download-cancel')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('b', 'set-cmd-text -s :quickmark-load')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('cd', 'download-clear')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('co', 'tab-only')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('d', 'tab-close')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('f', 'hint')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('g$', 'tab-focus -1')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('g0', 'tab-focus 1')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('gB', 'set-cmd-text -s :bookmark-load -t')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('gC', 'tab-clone')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('gD', 'tab-give')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('gO', 'set-cmd-text :open -t -r {url:pretty}')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('gU', 'navigate up -t')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('g^', 'tab-focus 1')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('ga', 'open -t')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('gb', 'set-cmd-text -s :bookmark-load')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('gd', 'download')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('gf', 'view-source')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('gg', 'scroll-to-perc 0')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('gi', 'hint inputs --first')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('gl', 'tab-move -')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('gm', 'tab-move')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('go', 'set-cmd-text :open {url:pretty}')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('gr', 'tab-move +')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('gt', 'set-cmd-text -s :buffer')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('gu', 'navigate up')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Move tabs around</span>
config.bind(<span class="org-string">'gK'</span>, <span class="org-string">'tab-move -'</span>)
config.bind(<span class="org-string">'gJ'</span>, <span class="org-string">'tab-move +'</span>)
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('h', 'scroll left')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('i', 'enter-mode insert')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('j', 'scroll down')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('k', 'scroll up')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('l', 'scroll right')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('m', 'quickmark-save')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('n', 'search-next')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('o', 'set-cmd-text -s :open')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('pP', 'open -- {primary}')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('pp', 'open -- {clipboard}')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('q', 'record-macro')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('r', 'reload')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('sf', 'save')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('sk', 'set-cmd-text -s :bind')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('sl', 'set-cmd-text -s :set -t')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('ss', 'set-cmd-text -s :set')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('tIH', 'config-cycle -p -u *://*.{url:host}/* content.images ;; reload')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('tIh', 'config-cycle -p -u *://{url:host}/* content.images ;; reload')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('tIu', 'config-cycle -p -u {url} content.images ;; reload')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('tPH', 'config-cycle -p -u *://*.{url:host}/* content.plugins ;; reload')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('tPh', 'config-cycle -p -u *://{url:host}/* content.plugins ;; reload')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('tPu', 'config-cycle -p -u {url} content.plugins ;; reload')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('tSH', 'config-cycle -p -u *://*.{url:host}/* content.javascript.enabled ;; reload')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('tSh', 'config-cycle -p -u *://{url:host}/* content.javascript.enabled ;; reload')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('tSu', 'config-cycle -p -u {url} content.javascript.enabled ;; reload')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('th', 'back -t')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('tiH', 'config-cycle -p -t -u *://*.{url:host}/* content.images ;; reload')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('tih', 'config-cycle -p -t -u *://{url:host}/* content.images ;; reload')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('tiu', 'config-cycle -p -t -u {url} content.images ;; reload')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('tl', 'forward -t')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('tpH', 'config-cycle -p -t -u *://*.{url:host}/* content.plugins ;; reload')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('tph', 'config-cycle -p -t -u *://{url:host}/* content.plugins ;; reload')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('tpu', 'config-cycle -p -t -u {url} content.plugins ;; reload')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('tsH', 'config-cycle -p -t -u *://*.{url:host}/* content.javascript.enabled ;; reload')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('tsh', 'config-cycle -p -t -u *://{url:host}/* content.javascript.enabled ;; reload')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('tsu', 'config-cycle -p -t -u {url} content.javascript.enabled ;; reload')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('u', 'undo')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('v', 'enter-mode caret')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('wB', 'set-cmd-text -s :bookmark-load -w')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('wO', 'set-cmd-text :open -w {url:pretty}')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('wP', 'open -w -- {primary}')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('wb', 'set-cmd-text -s :quickmark-load -w')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('wf', 'hint all window')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('wh', 'back -w')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('wi', 'inspector')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('wl', 'forward -w')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('wo', 'set-cmd-text -s :open -w')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('wp', 'open -w -- {clipboard}')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('xO', 'set-cmd-text :open -b -r {url:pretty}')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('xo', 'set-cmd-text -s :open -b')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('yD', 'yank domain -s')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('yP', 'yank pretty-url -s')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('yT', 'yank title -s')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('yY', 'yank -s')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('yd', 'yank domain')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('yp', 'yank pretty-url')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('yt', 'yank title')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('yy', 'yank')</span>
<span class="org-comment-delimiter"><span class="org-type"># </span></span><span class="org-comment"><span class="org-type">config.bind('{</span></span><span class="org-comment">{', 'navigate prev -t')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('}}', 'navigate next -t')</span>
</pre>
</div>
</div>
<div id="outline-container-orgffca882" class="outline-4">
<h4 id="orgffca882">Go to specific websites</h4>
<div class="outline-text-4" id="text-orgffca882">
<div class="org-src-container">
<pre class="src src-conf">config.bind(<span class="org-string">'gy'</span>, <span class="org-string">'open -o https://www.youtube.com/feed/subscriptions'</span>)
config.bind(<span class="org-string">'gr'</span>, <span class="org-string">'open -o https://www.reddit.com/'</span>)
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-orge3f559e" class="outline-3">
<h3 id="orge3f559e">Caret mode</h3>
<div class="outline-text-3" id="text-orge3f559e">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('$', 'move-to-end-of-line', mode='caret')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('0', 'move-to-start-of-line', mode='caret')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-Space&gt;', 'drop-selection', mode='caret')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Escape&gt;', 'leave-mode', mode='caret')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Return&gt;', 'yank selection', mode='caret')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Space&gt;', 'toggle-selection', mode='caret')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('G', 'move-to-end-of-document', mode='caret')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('H', 'scroll left', mode='caret')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('J', 'scroll down', mode='caret')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('K', 'scroll up', mode='caret')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('L', 'scroll right', mode='caret')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('Y', 'yank selection -s', mode='caret')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('[', 'move-to-start-of-prev-block', mode='caret')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind(']', 'move-to-start-of-next-block', mode='caret')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('b', 'move-to-prev-word', mode='caret')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('c', 'enter-mode normal', mode='caret')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('e', 'move-to-end-of-word', mode='caret')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('gg', 'move-to-start-of-document', mode='caret')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('h', 'move-to-prev-char', mode='caret')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('j', 'move-to-next-line', mode='caret')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('k', 'move-to-prev-line', mode='caret')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('l', 'move-to-next-char', mode='caret')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('v', 'toggle-selection', mode='caret')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('w', 'move-to-next-word', mode='caret')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('y', 'yank selection', mode='caret')</span>
<span class="org-comment-delimiter"><span class="org-type"># </span></span><span class="org-comment"><span class="org-type">config.bind('</span></span><span class="org-comment">{', 'move-to-end-of-prev-block', mode='caret')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('}', 'move-to-end-of-next-block', mode='caret')</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orgcb11435" class="outline-3">
<h3 id="orgcb11435">Bindings for command mode</h3>
<div class="outline-text-3" id="text-orgcb11435">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Alt-B&gt;', 'rl-backward-word', mode='command')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Alt-Backspace&gt;', 'rl-backward-kill-word', mode='command')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Alt-D&gt;', 'rl-kill-word', mode='command')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Alt-F&gt;', 'rl-forward-word', mode='command')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-?&gt;', 'rl-delete-char', mode='command')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-A&gt;', 'rl-beginning-of-line', mode='command')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-B&gt;', 'rl-backward-char', mode='command')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-C&gt;', 'completion-item-yank', mode='command')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-D&gt;', 'completion-item-del', mode='command')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-E&gt;', 'rl-end-of-line', mode='command')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-F&gt;', 'rl-forward-char', mode='command')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-H&gt;', 'rl-backward-delete-char', mode='command')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-K&gt;', 'rl-kill-line', mode='command')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-N&gt;', 'command-history-next', mode='command')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-P&gt;', 'command-history-prev', mode='command')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-Return&gt;', 'command-accept --rapid', mode='command')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-Shift-C&gt;', 'completion-item-yank --sel', mode='command')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-Shift-Tab&gt;', 'completion-item-focus prev-category', mode='command')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-Tab&gt;', 'completion-item-focus next-category', mode='command')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-U&gt;', 'rl-unix-line-discard', mode='command')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-W&gt;', 'rl-unix-word-rubout', mode='command')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-Y&gt;', 'rl-yank', mode='command')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Down&gt;', 'completion-item-focus --history next', mode='command')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Escape&gt;', 'leave-mode', mode='command')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Return&gt;', 'command-accept', mode='command')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Shift-Delete&gt;', 'completion-item-del', mode='command')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Shift-Tab&gt;', 'completion-item-focus prev', mode='command')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Tab&gt;', 'completion-item-focus next', mode='command')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Up&gt;', 'completion-item-focus --history prev', mode='command')</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org944cbbc" class="outline-3">
<h3 id="org944cbbc">Bindings for hint mode</h3>
<div class="outline-text-3" id="text-org944cbbc">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-B&gt;', 'hint all tab-bg', mode='hint')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-F&gt;', 'hint links', mode='hint')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-R&gt;', 'hint --rapid links tab-bg', mode='hint')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Escape&gt;', 'leave-mode', mode='hint')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Return&gt;', 'follow-hint', mode='hint')</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orgd6cb02c" class="outline-3">
<h3 id="orgd6cb02c">Bindings for insert mode</h3>
<div class="outline-text-3" id="text-orgd6cb02c">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-E&gt;', 'open-editor', mode='insert')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Escape&gt;', 'leave-mode', mode='insert')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Shift-Ins&gt;', 'insert-text {primary}', mode='insert')</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org1ce3265" class="outline-3">
<h3 id="org1ce3265">Bindings for passthrough mode</h3>
<div class="outline-text-3" id="text-org1ce3265">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Shift-Escape&gt;', 'leave-mode', mode='passthrough')</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orgbb82471" class="outline-3">
<h3 id="orgbb82471">Bindings for prompt mode</h3>
<div class="outline-text-3" id="text-orgbb82471">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Alt-B&gt;', 'rl-backward-word', mode='prompt')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Alt-Backspace&gt;', 'rl-backward-kill-word', mode='prompt')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Alt-D&gt;', 'rl-kill-word', mode='prompt')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Alt-F&gt;', 'rl-forward-word', mode='prompt')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Alt-Shift-Y&gt;', 'prompt-yank --sel', mode='prompt')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Alt-Y&gt;', 'prompt-yank', mode='prompt')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-?&gt;', 'rl-delete-char', mode='prompt')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-A&gt;', 'rl-beginning-of-line', mode='prompt')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-B&gt;', 'rl-backward-char', mode='prompt')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-E&gt;', 'rl-end-of-line', mode='prompt')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-F&gt;', 'rl-forward-char', mode='prompt')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-H&gt;', 'rl-backward-delete-char', mode='prompt')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-K&gt;', 'rl-kill-line', mode='prompt')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-P&gt;', 'prompt-open-download --pdfjs', mode='prompt')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-U&gt;', 'rl-unix-line-discard', mode='prompt')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-W&gt;', 'rl-unix-word-rubout', mode='prompt')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-X&gt;', 'prompt-open-download', mode='prompt')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Ctrl-Y&gt;', 'rl-yank', mode='prompt')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Down&gt;', 'prompt-item-focus next', mode='prompt')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Escape&gt;', 'leave-mode', mode='prompt')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Return&gt;', 'prompt-accept', mode='prompt')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Shift-Tab&gt;', 'prompt-item-focus prev', mode='prompt')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Tab&gt;', 'prompt-item-focus next', mode='prompt')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Up&gt;', 'prompt-item-focus prev', mode='prompt')</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org7e4890e" class="outline-3">
<h3 id="org7e4890e">Bindings for register mode</h3>
<div class="outline-text-3" id="text-org7e4890e">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Escape&gt;', 'leave-mode', mode='register')</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org68a5a50" class="outline-3">
<h3 id="org68a5a50">Bindings for yesno mode</h3>
<div class="outline-text-3" id="text-org68a5a50">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Alt-Shift-Y&gt;', 'prompt-yank --sel', mode='yesno')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Alt-Y&gt;', 'prompt-yank', mode='yesno')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Escape&gt;', 'leave-mode', mode='yesno')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('&lt;Return&gt;', 'prompt-accept', mode='yesno')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('n', 'prompt-accept no', mode='yesno')</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind('y', 'prompt-accept yes', mode='yesno')</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orga6ae0da" class="outline-3">
<h3 id="orga6ae0da">Custom Bindings</h3>
<div class="outline-text-3" id="text-orga6ae0da">
</div>
<div id="outline-container-org5e08320" class="outline-4">
<h4 id="org5e08320">Use Pass to fill password and username (configuration is done in <code>~/.config/qutebrowser/password_fill_rc</code>).</h4>
<div class="outline-text-4" id="text-org5e08320">
<div class="org-src-container">
<pre class="src src-conf">config.bind(<span class="org-string">',p'</span>, <span class="org-string">'spawn --userscript password_fill'</span>)
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind(',P', 'spawn --userscript qute-bitwarden')</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orgcdbcd36" class="outline-4">
<h4 id="orgcdbcd36">Open Youtube video using MPV</h4>
<div class="outline-text-4" id="text-orgcdbcd36">
<div class="org-src-container">
<pre class="src src-conf">config.bind(<span class="org-string">',m'</span>, <span class="org-string">'spawn --detach mpv --force-window yes {url}'</span>)
config.bind(<span class="org-string">',M'</span>, <span class="org-string">'hint links spawn --detach mpv --force-window yes {hint-url}'</span>)
</pre>
</div>
</div>
</div>
<div id="outline-container-org0c13e8b" class="outline-4">
<h4 id="org0c13e8b">Cast Youtube to Chromecast</h4>
<div class="outline-text-4" id="text-org0c13e8b">
<div class="org-src-container">
<pre class="src src-conf">config.bind(<span class="org-string">',c'</span>, <span class="org-string">'spawn --userscript ~/.config/qutebrowser/userscripts/cast.sh {url}'</span>)
config.bind(<span class="org-string">',C'</span>, <span class="org-string">'hint links spawn --userscript ~/.config/qutebrowser/userscripts/cast.sh {hint-url}'</span>)
</pre>
</div>
</div>
</div>
<div id="outline-container-org6a435da" class="outline-4">
<h4 id="org6a435da">Add url to refile.org</h4>
<div class="outline-text-4" id="text-org6a435da">
<div class="org-src-container">
<pre class="src src-conf">config.bind(<span class="org-string">',r'</span>, <span class="org-string">'spawn --userscript ~/.config/qutebrowser/userscripts/add-to-orgmode-refile.sh'</span>)
</pre>
</div>
</div>
</div>
<div id="outline-container-org39dce76" class="outline-4">
<h4 id="org39dce76">Add page to Bookmarks</h4>
<div class="outline-text-4" id="text-org39dce76">
<div class="org-src-container">
<pre class="src src-conf">config.bind(<span class="org-string">',b'</span>, <span class="org-string">'spawn buku -a {url}'</span>)
config.bind(<span class="org-string">',B'</span>, <span class="org-string">'spawn --userscript ~/.config/qutebrowser/userscripts/buku-rofi.sh'</span>)
</pre>
</div>
</div>
</div>
<div id="outline-container-org94d2c0d" class="outline-4">
<h4 id="org94d2c0d">Open bookmark using buku</h4>
<div class="outline-text-4" id="text-org94d2c0d">
<div class="org-src-container">
<pre class="src src-conf">config.bind(<span class="org-string">',o'</span>, <span class="org-string">'spawn ~/bin/bukurun'</span>)
</pre>
</div>
</div>
</div>
<div id="outline-container-org9bbaffb" class="outline-4">
<h4 id="org9bbaffb">Org Capture</h4>
<div class="outline-text-4" id="text-org9bbaffb">
<div class="org-src-container">
<pre class="src src-conf">config.bind(<span class="org-string">',r'</span>, <span class="org-string">'spawn --userscript ~/.config/qutebrowser/userscripts/org-capture.sh'</span>)
config.bind(<span class="org-string">',R'</span>, <span class="org-string">'hint links userscript ~/.config/qutebrowser/userscripts/org-capture.sh'</span>)
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind(",c", "spawn --userscript org-store-link")</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind(";c", "hint links userscript org-store-link")</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind(",w", "spawn --userscript org-capture-web")</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">config.bind(";w", "hint links userscript org-capture-web")</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orgaacd8d9" class="outline-4">
<h4 id="orgaacd8d9">Annotate with Hypothesis</h4>
<div class="outline-text-4" id="text-orgaacd8d9">
<div class="org-src-container">
<pre class="src src-conf">config.bind(<span class="org-string">',a'</span>, <span class="org-string">"jseval javascript:(function(){window.hypothesisConfig=function(){return{showHighlights:true,appType:'bookmarklet'};};var d=document,s=d.createElement('script');s.setAttribute('src','https://hypothes.is/embed.js');d.body.appendChild(s)})();"</span>)
</pre>
</div>
</div>
</div>
<div id="outline-container-org4e4e24a" class="outline-4">
<h4 id="org4e4e24a">See price in CamelCamelCamel</h4>
<div class="outline-text-4" id="text-org4e4e24a">
<div class="org-src-container">
<pre class="src src-conf">config.bind(<span class="org-string">',P'</span>, <span class="org-string">":open -t https://fr.camelcamelcamel.com/search?sq={url}"</span>)
</pre>
</div>
</div>
</div>
</div>
</div>
<div id="outline-container-org3991a6c" class="outline-2">
<h2 id="org3991a6c">Userscripts</h2>
<div class="outline-text-2" id="text-org3991a6c">
</div>
<div id="outline-container-orgd5da58e" class="outline-3">
<h3 id="orgd5da58e">Cast Youtube to Chromecast</h3>
<div class="outline-text-3" id="text-orgd5da58e">
<div class="org-src-container">
<pre class="src src-bash">youtube-dl -o - $<span class="org-highlight-numbers-number">1</span> | castnow --quiet -
</pre>
</div>
</div>
</div>
<div id="outline-container-org548eb2c" class="outline-3">
<h3 id="org548eb2c">Add url to refile.org</h3>
<div class="outline-text-3" id="text-org548eb2c">
<p>
Add the date and time of add to properties.
</p>
<div class="org-src-container">
<pre class="src src-bash"><span class="org-type">echo</span> <span class="org-string">"* </span><span class="org-bold"><span class="org-warning">TODO</span></span><span class="org-string"> </span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">QUTE_TITLE</span></span><span class="org-string">"</span> &gt;&gt; ~/Dropbox/org/refile.org
<span class="org-type">echo</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">QUTE_URL</span></span><span class="org-string">"</span> &gt;&gt; ~/Dropbox/org/refile.org
<span class="org-type">echo</span> <span class="org-string">"message-info 'Added to refile.org'"</span> &gt;&gt; <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">QUTE_FIFO</span></span><span class="org-string">"</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orgb8e61c0" class="outline-3">
<h3 id="orgb8e61c0">Password<sub>fill</sub><sub>rc</sub></h3>
<div class="outline-text-3" id="text-orgb8e61c0">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-comment-delimiter"># </span><span class="org-comment">Show all password fields in the menu</span>
<span class="org-function-name">query_entries</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">safe queried url for choose_entry</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">the subdomains are removed</span>
<span class="org-builtin">export</span> <span class="org-variable-name">queried_url</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">expr</span> match <span class="org-string">".</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> <span class="org-string">'.*\.\(.*\..*\)'</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-builtin">mapfile</span> -t files &lt; &lt;<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">find</span> -L <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">PREFIX</span></span><span class="org-string">"</span> -iname <span class="org-string">'*.gpg'</span> -printf <span class="org-string">'%P\n'</span> |sed <span class="org-string">'s,\.gpg$,,'</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Even if there is only one entry, always show a menu</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">for user confirmation.</span>
<span class="org-function-name">choose_entry</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span>
<span class="org-variable-name">MENU_COMMAND</span>=<span class="org-rainbow-delimiters-depth-2">(</span>
rofi -dmenu
-p <span class="org-string">"qutebrowser&gt; "</span>
-filter <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">queried_url</span></span><span class="org-string">"</span>
-mesg $<span class="org-string">'Pick a password entry for &lt;b&gt;'"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">{QUTE_URL//&amp;/&amp;amp;}</span></span><span class="org-string">"'&lt;/b&gt;'</span>
<span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-variable-name">file</span>=$<span class="org-rainbow-delimiters-depth-2">(</span> <span class="org-builtin">printf</span> <span class="org-string">"%s\n"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">{files[@]}</span></span><span class="org-string">"</span> | <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">{MENU_COMMAND[@]}</span></span><span class="org-string">"</span> <span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org58d6993" class="outline-3">
<h3 id="org58d6993">Org-Capture</h3>
<div class="outline-text-3" id="text-org58d6993">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-builtin">readonly</span> <span class="org-variable-name">CAPTURE_SCRIPT</span>=~/scripts/org-protocol-capture-html.sh
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span><span class="org-rainbow-delimiters-depth-2">[</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">QUTE_MODE</span></span><span class="org-string">"</span> = <span class="org-string">"hints"</span> <span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">if we start with hints, we juste want to capture the URL</span>
$<span class="org-variable-name">CAPTURE_SCRIPT</span> --template <span class="org-string">"pu"</span> --url <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">{QUTE_URL}</span></span><span class="org-string">"</span>
<span class="org-keyword">elif</span> <span class="org-rainbow-delimiters-depth-1">[</span><span class="org-rainbow-delimiters-depth-2">[</span> -n <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">QUTE_SELECTED_TEXT</span></span><span class="org-string">"</span> <span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">if text is selected, we want to capture the text</span>
$<span class="org-variable-name">CAPTURE_SCRIPT</span> --template <span class="org-string">"pt"</span> --heading <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">{QUTE_TITLE}</span></span><span class="org-string">"</span> --url <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">{QUTE_URL}</span></span><span class="org-string">"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">{QUTE_SELECTED_TEXT}</span></span><span class="org-string">"</span>
<span class="org-keyword">else</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">if no text is selected, we want to capture the url</span>
$<span class="org-variable-name">CAPTURE_SCRIPT</span> --template <span class="org-string">"pu"</span> --heading <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">{QUTE_TITLE}</span></span><span class="org-string">"</span> --url <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">{QUTE_URL}</span></span><span class="org-string">"</span>
<span class="org-keyword">fi</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org63ffcb4" class="outline-3">
<h3 id="org63ffcb4">Add Url to Buku using Rofi</h3>
<div class="outline-text-3" id="text-org63ffcb4">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-variable-name">title</span>=$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">echo</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">QUTE_TITLE</span></span><span class="org-string">"</span> | rofi -p <span class="org-string">"Title"</span> -dmenu -lines <span class="org-highlight-numbers-number">1</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-variable-name">tags</span>=$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">buku</span> -t --nc --np | sed -e <span class="org-string">'s/\s*[[:digit:]]*\.\s*\(.*\)\s*([[:digit:]]*)\s*/\1/'</span> -e <span class="org-string">'/^\s*$/d'</span> | sort | uniq | rofi -p <span class="org-string">"Tags"</span> -dmenu<span class="org-rainbow-delimiters-depth-1">)</span>
buku --add <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">QUTE_URL</span></span><span class="org-string">"</span> --tag <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">tags</span></span><span class="org-string">"</span> --title <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">title</span></span><span class="org-string">"</span>
</pre>
</div>
</div>
</div>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-01-11 sam. 22:19</p>
</div>
</body>
</html>