Add a qute://configdiff page
This commit is contained in:
parent
2e8419db27
commit
54c417391d
@ -34,7 +34,7 @@ import pkg_resources
|
|||||||
from PyQt5.QtCore import QUrlQuery, QUrl
|
from PyQt5.QtCore import QUrlQuery, QUrl
|
||||||
|
|
||||||
import qutebrowser
|
import qutebrowser
|
||||||
from qutebrowser.config import config, configdata, configexc
|
from qutebrowser.config import config, configdata, configexc, configdiff
|
||||||
from qutebrowser.utils import (version, utils, jinja, log, message, docutils,
|
from qutebrowser.utils import (version, utils, jinja, log, message, docutils,
|
||||||
objreg, usertypes, qtutils)
|
objreg, usertypes, qtutils)
|
||||||
from qutebrowser.misc import objects
|
from qutebrowser.misc import objects
|
||||||
@ -421,3 +421,14 @@ def qute_settings(url):
|
|||||||
configdata=configdata,
|
configdata=configdata,
|
||||||
confget=config.instance.get_str)
|
confget=config.instance.get_str)
|
||||||
return 'text/html', html
|
return 'text/html', html
|
||||||
|
|
||||||
|
|
||||||
|
@add_handler('configdiff')
|
||||||
|
def qute_configdiff(_url):
|
||||||
|
"""Handler for qute://configdiff."""
|
||||||
|
try:
|
||||||
|
return 'text/html', configdiff.get_diff()
|
||||||
|
except OSError as e:
|
||||||
|
error = (b'Failed to read old config: ' +
|
||||||
|
str(e.strerror).encode('utf-8'))
|
||||||
|
return 'text/plain', error
|
||||||
|
758
qutebrowser/config/configdiff.py
Normal file
758
qutebrowser/config/configdiff.py
Normal file
@ -0,0 +1,758 @@
|
|||||||
|
# vim: ft=python fileencoding=utf-8 sts=4 sw=4 et:
|
||||||
|
|
||||||
|
# Copyright 2017 Florian Bruhin (The Compiler) <mail@qutebrowser.org>
|
||||||
|
#
|
||||||
|
# This file is part of qutebrowser.
|
||||||
|
#
|
||||||
|
# qutebrowser is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# qutebrowser is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with qutebrowser. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
"""Code to show a diff of the legacy config format."""
|
||||||
|
|
||||||
|
import difflib
|
||||||
|
import os.path
|
||||||
|
|
||||||
|
import pygments
|
||||||
|
import pygments.lexers
|
||||||
|
import pygments.formatters
|
||||||
|
|
||||||
|
from qutebrowser.utils import standarddir
|
||||||
|
|
||||||
|
|
||||||
|
OLD_CONF = """
|
||||||
|
[general]
|
||||||
|
ignore-case = smart
|
||||||
|
startpage = https://start.duckduckgo.com
|
||||||
|
yank-ignored-url-parameters = ref,utm_source,utm_medium,utm_campaign,utm_term,utm_content
|
||||||
|
default-open-dispatcher =
|
||||||
|
default-page = ${startpage}
|
||||||
|
auto-search = naive
|
||||||
|
auto-save-config = true
|
||||||
|
auto-save-interval = 15000
|
||||||
|
editor = gvim -f "{}"
|
||||||
|
editor-encoding = utf-8
|
||||||
|
private-browsing = false
|
||||||
|
developer-extras = false
|
||||||
|
print-element-backgrounds = true
|
||||||
|
xss-auditing = false
|
||||||
|
default-encoding = iso-8859-1
|
||||||
|
new-instance-open-target = tab
|
||||||
|
new-instance-open-target.window = last-focused
|
||||||
|
log-javascript-console = debug
|
||||||
|
save-session = false
|
||||||
|
session-default-name =
|
||||||
|
url-incdec-segments = path,query
|
||||||
|
[ui]
|
||||||
|
history-session-interval = 30
|
||||||
|
zoom-levels = 25%,33%,50%,67%,75%,90%,100%,110%,125%,150%,175%,200%,250%,300%,400%,500%
|
||||||
|
default-zoom = 100%
|
||||||
|
downloads-position = top
|
||||||
|
status-position = bottom
|
||||||
|
message-timeout = 2000
|
||||||
|
message-unfocused = false
|
||||||
|
confirm-quit = never
|
||||||
|
zoom-text-only = false
|
||||||
|
frame-flattening = false
|
||||||
|
user-stylesheet =
|
||||||
|
hide-scrollbar = true
|
||||||
|
smooth-scrolling = false
|
||||||
|
remove-finished-downloads = -1
|
||||||
|
hide-statusbar = false
|
||||||
|
statusbar-padding = 1,1,0,0
|
||||||
|
window-title-format = {perc}{title}{title_sep}qutebrowser
|
||||||
|
modal-js-dialog = false
|
||||||
|
hide-wayland-decoration = false
|
||||||
|
keyhint-blacklist =
|
||||||
|
keyhint-delay = 500
|
||||||
|
prompt-radius = 8
|
||||||
|
prompt-filebrowser = true
|
||||||
|
[network]
|
||||||
|
do-not-track = true
|
||||||
|
accept-language = en-US,en
|
||||||
|
referer-header = same-domain
|
||||||
|
user-agent =
|
||||||
|
proxy = system
|
||||||
|
proxy-dns-requests = true
|
||||||
|
ssl-strict = ask
|
||||||
|
dns-prefetch = true
|
||||||
|
custom-headers =
|
||||||
|
netrc-file =
|
||||||
|
[completion]
|
||||||
|
show = always
|
||||||
|
download-path-suggestion = path
|
||||||
|
timestamp-format = %Y-%m-%d
|
||||||
|
height = 50%
|
||||||
|
cmd-history-max-items = 100
|
||||||
|
web-history-max-items = -1
|
||||||
|
quick-complete = true
|
||||||
|
shrink = false
|
||||||
|
scrollbar-width = 12
|
||||||
|
scrollbar-padding = 2
|
||||||
|
[input]
|
||||||
|
timeout = 500
|
||||||
|
partial-timeout = 5000
|
||||||
|
insert-mode-on-plugins = false
|
||||||
|
auto-leave-insert-mode = true
|
||||||
|
auto-insert-mode = false
|
||||||
|
forward-unbound-keys = auto
|
||||||
|
spatial-navigation = false
|
||||||
|
links-included-in-focus-chain = true
|
||||||
|
rocker-gestures = false
|
||||||
|
mouse-zoom-divider = 512
|
||||||
|
[tabs]
|
||||||
|
background-tabs = false
|
||||||
|
select-on-remove = next
|
||||||
|
new-tab-position = next
|
||||||
|
new-tab-position-explicit = last
|
||||||
|
last-close = ignore
|
||||||
|
show = always
|
||||||
|
show-switching-delay = 800
|
||||||
|
wrap = true
|
||||||
|
movable = true
|
||||||
|
close-mouse-button = middle
|
||||||
|
position = top
|
||||||
|
show-favicons = true
|
||||||
|
favicon-scale = 1.0
|
||||||
|
width = 20%
|
||||||
|
pinned-width = 43
|
||||||
|
indicator-width = 3
|
||||||
|
tabs-are-windows = false
|
||||||
|
title-format = {index}: {title}
|
||||||
|
title-format-pinned = {index}
|
||||||
|
title-alignment = left
|
||||||
|
mousewheel-tab-switching = true
|
||||||
|
padding = 0,0,5,5
|
||||||
|
indicator-padding = 2,2,0,4
|
||||||
|
[storage]
|
||||||
|
download-directory =
|
||||||
|
prompt-download-directory = true
|
||||||
|
remember-download-directory = true
|
||||||
|
maximum-pages-in-cache = 0
|
||||||
|
offline-web-application-cache = true
|
||||||
|
local-storage = true
|
||||||
|
cache-size =
|
||||||
|
[content]
|
||||||
|
allow-images = true
|
||||||
|
allow-javascript = true
|
||||||
|
allow-plugins = false
|
||||||
|
webgl = true
|
||||||
|
hyperlink-auditing = false
|
||||||
|
geolocation = ask
|
||||||
|
notifications = ask
|
||||||
|
media-capture = ask
|
||||||
|
javascript-can-open-windows-automatically = false
|
||||||
|
javascript-can-close-windows = false
|
||||||
|
javascript-can-access-clipboard = false
|
||||||
|
ignore-javascript-prompt = false
|
||||||
|
ignore-javascript-alert = false
|
||||||
|
local-content-can-access-remote-urls = false
|
||||||
|
local-content-can-access-file-urls = true
|
||||||
|
cookies-accept = no-3rdparty
|
||||||
|
cookies-store = true
|
||||||
|
host-block-lists = https://www.malwaredomainlist.com/hostslist/hosts.txt,http://someonewhocares.org/hosts/hosts,http://winhelp2002.mvps.org/hosts.zip,http://malwaredomains.lehigh.edu/files/justdomains.zip,https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&mimetype=plaintext
|
||||||
|
host-blocking-enabled = true
|
||||||
|
host-blocking-whitelist = piwik.org
|
||||||
|
enable-pdfjs = false
|
||||||
|
[hints]
|
||||||
|
border = 1px solid #E3BE23
|
||||||
|
mode = letter
|
||||||
|
chars = asdfghjkl
|
||||||
|
min-chars = 1
|
||||||
|
scatter = true
|
||||||
|
uppercase = false
|
||||||
|
dictionary = /usr/share/dict/words
|
||||||
|
auto-follow = unique-match
|
||||||
|
auto-follow-timeout = 0
|
||||||
|
next-regexes = \bnext\b,\bmore\b,\bnewer\b,\b[>→≫]\b,\b(>>|»)\b,\bcontinue\b
|
||||||
|
prev-regexes = \bprev(ious)?\b,\bback\b,\bolder\b,\b[<←≪]\b,\b(<<|«)\b
|
||||||
|
find-implementation = python
|
||||||
|
hide-unmatched-rapid-hints = true
|
||||||
|
[searchengines]
|
||||||
|
DEFAULT = https://duckduckgo.com/?q={}
|
||||||
|
[aliases]
|
||||||
|
[colors]
|
||||||
|
completion.fg = white
|
||||||
|
completion.bg = #333333
|
||||||
|
completion.alternate-bg = #444444
|
||||||
|
completion.category.fg = white
|
||||||
|
completion.category.bg = qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #888888, stop:1 #505050)
|
||||||
|
completion.category.border.top = black
|
||||||
|
completion.category.border.bottom = ${completion.category.border.top}
|
||||||
|
completion.item.selected.fg = black
|
||||||
|
completion.item.selected.bg = #e8c000
|
||||||
|
completion.item.selected.border.top = #bbbb00
|
||||||
|
completion.item.selected.border.bottom = ${completion.item.selected.border.top}
|
||||||
|
completion.match.fg = #ff4444
|
||||||
|
completion.scrollbar.fg = ${completion.fg}
|
||||||
|
completion.scrollbar.bg = ${completion.bg}
|
||||||
|
statusbar.fg = white
|
||||||
|
statusbar.bg = black
|
||||||
|
statusbar.fg.private = ${statusbar.fg}
|
||||||
|
statusbar.bg.private = #666666
|
||||||
|
statusbar.fg.insert = ${statusbar.fg}
|
||||||
|
statusbar.bg.insert = darkgreen
|
||||||
|
statusbar.fg.command = ${statusbar.fg}
|
||||||
|
statusbar.bg.command = ${statusbar.bg}
|
||||||
|
statusbar.fg.command.private = ${statusbar.fg.private}
|
||||||
|
statusbar.bg.command.private = ${statusbar.bg.private}
|
||||||
|
statusbar.fg.caret = ${statusbar.fg}
|
||||||
|
statusbar.bg.caret = purple
|
||||||
|
statusbar.fg.caret-selection = ${statusbar.fg}
|
||||||
|
statusbar.bg.caret-selection = #a12dff
|
||||||
|
statusbar.progress.bg = white
|
||||||
|
statusbar.url.fg = ${statusbar.fg}
|
||||||
|
statusbar.url.fg.success = white
|
||||||
|
statusbar.url.fg.success.https = lime
|
||||||
|
statusbar.url.fg.error = orange
|
||||||
|
statusbar.url.fg.warn = yellow
|
||||||
|
statusbar.url.fg.hover = aqua
|
||||||
|
tabs.fg.odd = white
|
||||||
|
tabs.bg.odd = grey
|
||||||
|
tabs.fg.even = white
|
||||||
|
tabs.bg.even = darkgrey
|
||||||
|
tabs.fg.selected.odd = white
|
||||||
|
tabs.bg.selected.odd = black
|
||||||
|
tabs.fg.selected.even = ${tabs.fg.selected.odd}
|
||||||
|
tabs.bg.selected.even = ${tabs.bg.selected.odd}
|
||||||
|
tabs.bg.bar = #555555
|
||||||
|
tabs.indicator.start = #0000aa
|
||||||
|
tabs.indicator.stop = #00aa00
|
||||||
|
tabs.indicator.error = #ff0000
|
||||||
|
tabs.indicator.system = rgb
|
||||||
|
hints.fg = black
|
||||||
|
hints.bg = qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgba(255, 247, 133, 0.8), stop:1 rgba(255, 197, 66, 0.8))
|
||||||
|
hints.fg.match = green
|
||||||
|
downloads.bg.bar = black
|
||||||
|
downloads.fg.start = white
|
||||||
|
downloads.bg.start = #0000aa
|
||||||
|
downloads.fg.stop = ${downloads.fg.start}
|
||||||
|
downloads.bg.stop = #00aa00
|
||||||
|
downloads.fg.system = rgb
|
||||||
|
downloads.bg.system = rgb
|
||||||
|
downloads.fg.error = white
|
||||||
|
downloads.bg.error = red
|
||||||
|
webpage.bg = white
|
||||||
|
keyhint.fg = #FFFFFF
|
||||||
|
keyhint.fg.suffix = #FFFF00
|
||||||
|
keyhint.bg = rgba(0, 0, 0, 80%)
|
||||||
|
messages.fg.error = white
|
||||||
|
messages.bg.error = red
|
||||||
|
messages.border.error = #bb0000
|
||||||
|
messages.fg.warning = white
|
||||||
|
messages.bg.warning = darkorange
|
||||||
|
messages.border.warning = #d47300
|
||||||
|
messages.fg.info = white
|
||||||
|
messages.bg.info = black
|
||||||
|
messages.border.info = #333333
|
||||||
|
prompts.fg = white
|
||||||
|
prompts.bg = darkblue
|
||||||
|
prompts.selected.bg = #308cc6
|
||||||
|
[fonts]
|
||||||
|
_monospace = xos4 Terminus, Terminus, Monospace, "DejaVu Sans Mono", Monaco, "Bitstream Vera Sans Mono", "Andale Mono", "Courier New", Courier, "Liberation Mono", monospace, Fixed, Consolas, Terminal
|
||||||
|
completion = 8pt ${_monospace}
|
||||||
|
completion.category = bold ${completion}
|
||||||
|
tabbar = 8pt ${_monospace}
|
||||||
|
statusbar = 8pt ${_monospace}
|
||||||
|
downloads = 8pt ${_monospace}
|
||||||
|
hints = bold 13px ${_monospace}
|
||||||
|
debug-console = 8pt ${_monospace}
|
||||||
|
web-family-standard =
|
||||||
|
web-family-fixed =
|
||||||
|
web-family-serif =
|
||||||
|
web-family-sans-serif =
|
||||||
|
web-family-cursive =
|
||||||
|
web-family-fantasy =
|
||||||
|
web-size-minimum = 0
|
||||||
|
web-size-minimum-logical = 6
|
||||||
|
web-size-default = 16
|
||||||
|
web-size-default-fixed = 13
|
||||||
|
keyhint = 8pt ${_monospace}
|
||||||
|
messages.error = 8pt ${_monospace}
|
||||||
|
messages.warning = 8pt ${_monospace}
|
||||||
|
messages.info = 8pt ${_monospace}
|
||||||
|
prompts = 8pt sans-serif
|
||||||
|
"""
|
||||||
|
|
||||||
|
OLD_KEYS_CONF = """
|
||||||
|
[!normal]
|
||||||
|
leave-mode
|
||||||
|
<escape>
|
||||||
|
<ctrl-[>
|
||||||
|
[normal]
|
||||||
|
clear-keychain ;; search ;; fullscreen --leave
|
||||||
|
<escape>
|
||||||
|
<ctrl-[>
|
||||||
|
set-cmd-text -s :open
|
||||||
|
o
|
||||||
|
set-cmd-text :open {url:pretty}
|
||||||
|
go
|
||||||
|
set-cmd-text -s :open -t
|
||||||
|
O
|
||||||
|
set-cmd-text :open -t -i {url:pretty}
|
||||||
|
gO
|
||||||
|
set-cmd-text -s :open -b
|
||||||
|
xo
|
||||||
|
set-cmd-text :open -b -i {url:pretty}
|
||||||
|
xO
|
||||||
|
set-cmd-text -s :open -w
|
||||||
|
wo
|
||||||
|
set-cmd-text :open -w {url:pretty}
|
||||||
|
wO
|
||||||
|
set-cmd-text /
|
||||||
|
/
|
||||||
|
set-cmd-text ?
|
||||||
|
?
|
||||||
|
set-cmd-text :
|
||||||
|
:
|
||||||
|
open -t
|
||||||
|
ga
|
||||||
|
<ctrl-t>
|
||||||
|
open -w
|
||||||
|
<ctrl-n>
|
||||||
|
tab-close
|
||||||
|
d
|
||||||
|
<ctrl-w>
|
||||||
|
tab-close -o
|
||||||
|
D
|
||||||
|
tab-only
|
||||||
|
co
|
||||||
|
tab-focus
|
||||||
|
T
|
||||||
|
tab-move
|
||||||
|
gm
|
||||||
|
tab-move -
|
||||||
|
gl
|
||||||
|
tab-move +
|
||||||
|
gr
|
||||||
|
tab-next
|
||||||
|
J
|
||||||
|
<ctrl-pgdown>
|
||||||
|
tab-prev
|
||||||
|
K
|
||||||
|
<ctrl-pgup>
|
||||||
|
tab-clone
|
||||||
|
gC
|
||||||
|
reload
|
||||||
|
r
|
||||||
|
<f5>
|
||||||
|
reload -f
|
||||||
|
R
|
||||||
|
<ctrl-f5>
|
||||||
|
back
|
||||||
|
H
|
||||||
|
<back>
|
||||||
|
back -t
|
||||||
|
th
|
||||||
|
back -w
|
||||||
|
wh
|
||||||
|
forward
|
||||||
|
L
|
||||||
|
<forward>
|
||||||
|
forward -t
|
||||||
|
tl
|
||||||
|
forward -w
|
||||||
|
wl
|
||||||
|
fullscreen
|
||||||
|
<f11>
|
||||||
|
hint
|
||||||
|
f
|
||||||
|
hint all tab
|
||||||
|
F
|
||||||
|
hint all window
|
||||||
|
wf
|
||||||
|
hint all tab-bg
|
||||||
|
;b
|
||||||
|
hint all tab-fg
|
||||||
|
;f
|
||||||
|
hint all hover
|
||||||
|
;h
|
||||||
|
hint images
|
||||||
|
;i
|
||||||
|
hint images tab
|
||||||
|
;I
|
||||||
|
hint links fill :open {hint-url}
|
||||||
|
;o
|
||||||
|
hint links fill :open -t -i {hint-url}
|
||||||
|
;O
|
||||||
|
hint links yank
|
||||||
|
;y
|
||||||
|
hint links yank-primary
|
||||||
|
;Y
|
||||||
|
hint --rapid links tab-bg
|
||||||
|
;r
|
||||||
|
hint --rapid links window
|
||||||
|
;R
|
||||||
|
hint links download
|
||||||
|
;d
|
||||||
|
hint inputs
|
||||||
|
;t
|
||||||
|
scroll left
|
||||||
|
h
|
||||||
|
scroll down
|
||||||
|
j
|
||||||
|
scroll up
|
||||||
|
k
|
||||||
|
scroll right
|
||||||
|
l
|
||||||
|
undo
|
||||||
|
u
|
||||||
|
<ctrl-shift-t>
|
||||||
|
scroll-perc 0
|
||||||
|
gg
|
||||||
|
scroll-perc
|
||||||
|
G
|
||||||
|
search-next
|
||||||
|
n
|
||||||
|
search-prev
|
||||||
|
N
|
||||||
|
enter-mode insert
|
||||||
|
i
|
||||||
|
enter-mode caret
|
||||||
|
v
|
||||||
|
enter-mode set_mark
|
||||||
|
`
|
||||||
|
enter-mode jump_mark
|
||||||
|
'
|
||||||
|
yank
|
||||||
|
yy
|
||||||
|
yank -s
|
||||||
|
yY
|
||||||
|
yank title
|
||||||
|
yt
|
||||||
|
yank title -s
|
||||||
|
yT
|
||||||
|
yank domain
|
||||||
|
yd
|
||||||
|
yank domain -s
|
||||||
|
yD
|
||||||
|
yank pretty-url
|
||||||
|
yp
|
||||||
|
yank pretty-url -s
|
||||||
|
yP
|
||||||
|
open -- {clipboard}
|
||||||
|
pp
|
||||||
|
open -- {primary}
|
||||||
|
pP
|
||||||
|
open -t -- {clipboard}
|
||||||
|
Pp
|
||||||
|
open -t -- {primary}
|
||||||
|
PP
|
||||||
|
open -w -- {clipboard}
|
||||||
|
wp
|
||||||
|
open -w -- {primary}
|
||||||
|
wP
|
||||||
|
quickmark-save
|
||||||
|
m
|
||||||
|
set-cmd-text -s :quickmark-load
|
||||||
|
b
|
||||||
|
set-cmd-text -s :quickmark-load -t
|
||||||
|
B
|
||||||
|
set-cmd-text -s :quickmark-load -w
|
||||||
|
wb
|
||||||
|
bookmark-add
|
||||||
|
M
|
||||||
|
set-cmd-text -s :bookmark-load
|
||||||
|
gb
|
||||||
|
set-cmd-text -s :bookmark-load -t
|
||||||
|
gB
|
||||||
|
set-cmd-text -s :bookmark-load -w
|
||||||
|
wB
|
||||||
|
save
|
||||||
|
sf
|
||||||
|
set-cmd-text -s :set
|
||||||
|
ss
|
||||||
|
set-cmd-text -s :set -t
|
||||||
|
sl
|
||||||
|
set-cmd-text -s :bind
|
||||||
|
sk
|
||||||
|
zoom-out
|
||||||
|
-
|
||||||
|
zoom-in
|
||||||
|
+
|
||||||
|
zoom
|
||||||
|
=
|
||||||
|
navigate prev
|
||||||
|
[[
|
||||||
|
navigate next
|
||||||
|
]]
|
||||||
|
navigate prev -t
|
||||||
|
{{
|
||||||
|
navigate next -t
|
||||||
|
}}
|
||||||
|
navigate up
|
||||||
|
gu
|
||||||
|
navigate up -t
|
||||||
|
gU
|
||||||
|
navigate increment
|
||||||
|
<ctrl-a>
|
||||||
|
navigate decrement
|
||||||
|
<ctrl-x>
|
||||||
|
inspector
|
||||||
|
wi
|
||||||
|
download
|
||||||
|
gd
|
||||||
|
download-cancel
|
||||||
|
ad
|
||||||
|
download-clear
|
||||||
|
cd
|
||||||
|
view-source
|
||||||
|
gf
|
||||||
|
set-cmd-text -s :buffer
|
||||||
|
gt
|
||||||
|
tab-focus last
|
||||||
|
<ctrl-tab>
|
||||||
|
<ctrl-6>
|
||||||
|
<ctrl-^>
|
||||||
|
enter-mode passthrough
|
||||||
|
<ctrl-v>
|
||||||
|
quit
|
||||||
|
<ctrl-q>
|
||||||
|
ZQ
|
||||||
|
wq
|
||||||
|
ZZ
|
||||||
|
scroll-page 0 1
|
||||||
|
<ctrl-f>
|
||||||
|
scroll-page 0 -1
|
||||||
|
<ctrl-b>
|
||||||
|
scroll-page 0 0.5
|
||||||
|
<ctrl-d>
|
||||||
|
scroll-page 0 -0.5
|
||||||
|
<ctrl-u>
|
||||||
|
tab-focus 1
|
||||||
|
<alt-1>
|
||||||
|
g0
|
||||||
|
g^
|
||||||
|
tab-focus 2
|
||||||
|
<alt-2>
|
||||||
|
tab-focus 3
|
||||||
|
<alt-3>
|
||||||
|
tab-focus 4
|
||||||
|
<alt-4>
|
||||||
|
tab-focus 5
|
||||||
|
<alt-5>
|
||||||
|
tab-focus 6
|
||||||
|
<alt-6>
|
||||||
|
tab-focus 7
|
||||||
|
<alt-7>
|
||||||
|
tab-focus 8
|
||||||
|
<alt-8>
|
||||||
|
tab-focus -1
|
||||||
|
<alt-9>
|
||||||
|
g$
|
||||||
|
home
|
||||||
|
<ctrl-h>
|
||||||
|
stop
|
||||||
|
<ctrl-s>
|
||||||
|
print
|
||||||
|
<ctrl-alt-p>
|
||||||
|
open qute://settings
|
||||||
|
Ss
|
||||||
|
follow-selected
|
||||||
|
<return>
|
||||||
|
<ctrl-m>
|
||||||
|
<ctrl-j>
|
||||||
|
<shift-return>
|
||||||
|
<enter>
|
||||||
|
<shift-enter>
|
||||||
|
follow-selected -t
|
||||||
|
<ctrl-return>
|
||||||
|
<ctrl-enter>
|
||||||
|
repeat-command
|
||||||
|
.
|
||||||
|
tab-pin
|
||||||
|
<ctrl-p>
|
||||||
|
record-macro
|
||||||
|
q
|
||||||
|
run-macro
|
||||||
|
@
|
||||||
|
[insert]
|
||||||
|
open-editor
|
||||||
|
<ctrl-e>
|
||||||
|
insert-text {primary}
|
||||||
|
<shift-ins>
|
||||||
|
[hint]
|
||||||
|
follow-hint
|
||||||
|
<return>
|
||||||
|
<ctrl-m>
|
||||||
|
<ctrl-j>
|
||||||
|
<shift-return>
|
||||||
|
<enter>
|
||||||
|
<shift-enter>
|
||||||
|
hint --rapid links tab-bg
|
||||||
|
<ctrl-r>
|
||||||
|
hint links
|
||||||
|
<ctrl-f>
|
||||||
|
hint all tab-bg
|
||||||
|
<ctrl-b>
|
||||||
|
[passthrough]
|
||||||
|
[command]
|
||||||
|
command-history-prev
|
||||||
|
<ctrl-p>
|
||||||
|
command-history-next
|
||||||
|
<ctrl-n>
|
||||||
|
completion-item-focus prev
|
||||||
|
<shift-tab>
|
||||||
|
<up>
|
||||||
|
completion-item-focus next
|
||||||
|
<tab>
|
||||||
|
<down>
|
||||||
|
completion-item-focus next-category
|
||||||
|
<ctrl-tab>
|
||||||
|
completion-item-focus prev-category
|
||||||
|
<ctrl-shift-tab>
|
||||||
|
completion-item-del
|
||||||
|
<ctrl-d>
|
||||||
|
command-accept
|
||||||
|
<return>
|
||||||
|
<ctrl-m>
|
||||||
|
<ctrl-j>
|
||||||
|
<shift-return>
|
||||||
|
<enter>
|
||||||
|
<shift-enter>
|
||||||
|
[prompt]
|
||||||
|
prompt-accept
|
||||||
|
<return>
|
||||||
|
<ctrl-m>
|
||||||
|
<ctrl-j>
|
||||||
|
<shift-return>
|
||||||
|
<enter>
|
||||||
|
<shift-enter>
|
||||||
|
prompt-accept yes
|
||||||
|
y
|
||||||
|
prompt-accept no
|
||||||
|
n
|
||||||
|
prompt-open-download
|
||||||
|
<ctrl-x>
|
||||||
|
prompt-item-focus prev
|
||||||
|
<shift-tab>
|
||||||
|
<up>
|
||||||
|
prompt-item-focus next
|
||||||
|
<tab>
|
||||||
|
<down>
|
||||||
|
[command,prompt]
|
||||||
|
rl-backward-char
|
||||||
|
<ctrl-b>
|
||||||
|
rl-forward-char
|
||||||
|
<ctrl-f>
|
||||||
|
rl-backward-word
|
||||||
|
<alt-b>
|
||||||
|
rl-forward-word
|
||||||
|
<alt-f>
|
||||||
|
rl-beginning-of-line
|
||||||
|
<ctrl-a>
|
||||||
|
rl-end-of-line
|
||||||
|
<ctrl-e>
|
||||||
|
rl-unix-line-discard
|
||||||
|
<ctrl-u>
|
||||||
|
rl-kill-line
|
||||||
|
<ctrl-k>
|
||||||
|
rl-kill-word
|
||||||
|
<alt-d>
|
||||||
|
rl-unix-word-rubout
|
||||||
|
<ctrl-w>
|
||||||
|
rl-backward-kill-word
|
||||||
|
<alt-backspace>
|
||||||
|
rl-yank
|
||||||
|
<ctrl-y>
|
||||||
|
rl-delete-char
|
||||||
|
<ctrl-?>
|
||||||
|
rl-backward-delete-char
|
||||||
|
<ctrl-h>
|
||||||
|
[caret]
|
||||||
|
toggle-selection
|
||||||
|
v
|
||||||
|
<space>
|
||||||
|
drop-selection
|
||||||
|
<ctrl-space>
|
||||||
|
enter-mode normal
|
||||||
|
c
|
||||||
|
move-to-next-line
|
||||||
|
j
|
||||||
|
move-to-prev-line
|
||||||
|
k
|
||||||
|
move-to-next-char
|
||||||
|
l
|
||||||
|
move-to-prev-char
|
||||||
|
h
|
||||||
|
move-to-end-of-word
|
||||||
|
e
|
||||||
|
move-to-next-word
|
||||||
|
w
|
||||||
|
move-to-prev-word
|
||||||
|
b
|
||||||
|
move-to-start-of-next-block
|
||||||
|
]
|
||||||
|
move-to-start-of-prev-block
|
||||||
|
[
|
||||||
|
move-to-end-of-next-block
|
||||||
|
}
|
||||||
|
move-to-end-of-prev-block
|
||||||
|
{
|
||||||
|
move-to-start-of-line
|
||||||
|
0
|
||||||
|
move-to-end-of-line
|
||||||
|
$
|
||||||
|
move-to-start-of-document
|
||||||
|
gg
|
||||||
|
move-to-end-of-document
|
||||||
|
G
|
||||||
|
yank selection -s
|
||||||
|
Y
|
||||||
|
yank selection
|
||||||
|
y
|
||||||
|
<return>
|
||||||
|
<ctrl-m>
|
||||||
|
<ctrl-j>
|
||||||
|
<shift-return>
|
||||||
|
<enter>
|
||||||
|
<shift-enter>
|
||||||
|
scroll left
|
||||||
|
H
|
||||||
|
scroll down
|
||||||
|
J
|
||||||
|
scroll up
|
||||||
|
K
|
||||||
|
scroll right
|
||||||
|
L
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
def get_diff():
|
||||||
|
"""Get a HTML diff for the old config files."""
|
||||||
|
old_conf_lines = []
|
||||||
|
old_key_lines = []
|
||||||
|
|
||||||
|
for filename, dest in [('qutebrowser.conf', old_conf_lines),
|
||||||
|
('keys.conf', old_key_lines)]:
|
||||||
|
path = os.path.join(standarddir.config(), filename)
|
||||||
|
|
||||||
|
with open(path, 'r', encoding='utf-8') as f:
|
||||||
|
for line in f:
|
||||||
|
if not line.strip() or line.startswith('#'):
|
||||||
|
continue
|
||||||
|
dest.append(line.rstrip())
|
||||||
|
|
||||||
|
conf_delta = difflib.unified_diff(OLD_CONF.splitlines(), old_conf_lines)
|
||||||
|
key_delta = difflib.unified_diff(OLD_KEYS_CONF.splitlines(), old_key_lines)
|
||||||
|
|
||||||
|
conf_diff = '\n'.join(conf_delta)
|
||||||
|
key_diff = '\n'.join(key_delta)
|
||||||
|
|
||||||
|
# pylint: disable=no-member
|
||||||
|
# WORKAROUND for https://bitbucket.org/logilab/pylint/issue/491/
|
||||||
|
lexer = pygments.lexers.DiffLexer()
|
||||||
|
formatter = pygments.formatters.HtmlFormatter(
|
||||||
|
full=True, linenos='table',
|
||||||
|
title='Config diff')
|
||||||
|
# pylint: enable=no-member
|
||||||
|
return pygments.highlight(conf_diff + key_diff, lexer, formatter)
|
Loading…
Reference in New Issue
Block a user