From a4b35b32bc21ec4d0675cbae3875c1a1ab1d95a1 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Mon, 19 Oct 2015 15:15:12 +0200 Subject: [PATCH] Qutebrowser: Init --- .Xresources | 27 +- .config/awesome/rc.lua | 6 +- .config/qutebrowser/keys.conf | 631 +++++++++++ .config/qutebrowser/qutebrowser.conf | 1334 +++++++++++++++++++++++ .config/ranger/rifle.conf | 3 +- .emacs.d/lisp/main.el | 5 +- .local/share/applications/mimeapps.list | 22 +- .mutt/mailcap | 1 - .pkg/arch-aur | 2 +- .pkg/arch-power | 1 - .profile | 13 +- .scripts/homeclean | 17 +- .scripts/homeinit | 33 +- .xinitrc | 8 - .xprofile | 24 +- README.md | 18 +- 16 files changed, 2036 insertions(+), 109 deletions(-) create mode 100644 .config/qutebrowser/keys.conf create mode 100644 .config/qutebrowser/qutebrowser.conf diff --git a/.Xresources b/.Xresources index 9fd2b745..8da0302c 100644 --- a/.Xresources +++ b/.Xresources @@ -1,11 +1,5 @@ -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! Xresources -!! 2013-08-04 -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - -!!------------------------------------------------------------------------------ -!! URxvt -!! ------------------------------------------------------------------------------ +!!============================================================================== +!! URxvt. !! url-select, clipboard and keyboard-select are provided in Muennich perl !! plugins. @@ -17,10 +11,9 @@ URxvt.iso14755: False URxvt*saveLines: 5000 URxvt*scrollBar: false -!! URL Support +!! URL Support. URxvt.perl-ext: url-select URxvt.keysym.C-M-u: perl:url-select:select_next -URxvt.url-select.launcher: dwb URxvt.url-select.underline: true URxvt.perl-ext-common: keyboard-select,clipboard @@ -32,9 +25,9 @@ URxvt.clipboard.autocopy: true URxvt.clipboard.pastecmd: xclip -o -selection primary -quiet URxvt.clipboard.copycmd: xclip -i -selection primary -!!============================================================================== -!! Font -!!============================================================================== +!!------------------------------------------------------------------------------ +!! Fonts. + !! WARNING: some Xft fonts (DejaVu, Liberation) seem to be messy with w3m image preview. ! URxvt*font: xft:Liberation Mono:pixelsize=14 ! URxvt*font: xft:Dejavu Sans Mono:pixelsize=14 @@ -59,9 +52,9 @@ Xft.rgba: rgb !! If not patched for letter spacing, this option might help. ! URxvt*letterSpace: -1 -!!============================================================================== -!! Styles -!!============================================================================== +!!------------------------------------------------------------------------------ +!! Styles. + !! Find more styles on: !! http://xcolors.net/ !! http://xcolors.net/dl/derp @@ -91,9 +84,7 @@ URxvt.color15 : white !!============================================================================== !! Xterm -!!============================================================================== -*VT100*translations: #override Meta : exec-formatted("dwb '%t'", PRIMARY) ! XTerm*charClass: 33:48,36-47:48,58-59:48,61:48,63-64:48,95:48,126:48 ! xterm.font: xft:Dina:pixelsize=18 ! xterm*font : -*-dejavu sans-medium-r-*-*-14-*-*-*-*-*-*-* diff --git a/.config/awesome/rc.lua b/.config/awesome/rc.lua index c73e2b03..a461ca5c 100644 --- a/.config/awesome/rc.lua +++ b/.config/awesome/rc.lua @@ -32,7 +32,7 @@ if ostype == "Linux" then end -- Custom variables. -local termcmd = os.getenv("TERMCMD") or "urxvt" +local termcmd = os.getenv("TERMCMD") local term = termcmd .. " -e " local home = os.getenv("HOME") @@ -281,8 +281,8 @@ globalkeys = awful.util.table.join( awful.key({ }, "XF86Mail", function () awful.util.spawn(term .. "sh -c 'cd ~/temp && mutt'") end), -- Web browser - awful.key({ modkey, }, "w", function () awful.util.spawn_with_shell("dwb 2>>/tmp/dwb" .. uid .. ".log") end), - awful.key({ }, "XF86WWW", function () awful.util.spawn_with_shell("dwb 2>>/tmp/dwb" .. uid .. ".log") end), + awful.key({ modkey, }, "w", function () awful.util.spawn(os.getenv("BROWSER")) end), + awful.key({ }, "XF86WWW", function () awful.util.spawn(os.getenv("BROWSER")) end), -- Music player awful.key({ modkey, }, "a", function () awful.util.spawn(term .. "cmus") end), diff --git a/.config/qutebrowser/keys.conf b/.config/qutebrowser/keys.conf new file mode 100644 index 00000000..fa7208c0 --- /dev/null +++ b/.config/qutebrowser/keys.conf @@ -0,0 +1,631 @@ +# vim: ft=conf +# +# In this config file, qutebrowser's key bindings are configured. +# The format looks like this: +# +# [keymode] +# +# command +# keychain +# keychain2 +# ... +# +# All blank lines and lines starting with '#' are ignored. +# Inline-comments are not permitted. +# +# keymode is a comma separated list of modes in which the key binding should be +# active. If keymode starts with !, the key binding is active in all modes +# except the listed modes. +# +# For special keys (can't be part of a keychain), enclose them in `<`...`>`. +# For modifiers, you can use either `-` or `+` as delimiters, and these names: +# +# * Control: `Control`, `Ctrl` +# * Meta: `Meta`, `Windows`, `Mod4` +# * Alt: `Alt`, `Mod1` +# * Shift: `Shift` +# +# For simple keys (no `<>`-signs), a capital letter means the key is pressed +# with Shift. For special keys (with `<>`-signs), you need to explicitly add +# `Shift-` to match a key pressed with shift. You can bind multiple commands +# by separating them with `;;`. + +[!normal] + +clear-keychain ;; leave-mode + + + +[normal] +# Keybindings for normal mode. + +clear-keychain ;; search + + +set-cmd-text -s :open + o + +set-cmd-text :open {url} + go + +set-cmd-text -s :open -t + O + +set-cmd-text :open -t {url} + gO + +set-cmd-text -s :open -b + xo + +set-cmd-text :open -b {url} + xO + +set-cmd-text -s :open -w + wo + +set-cmd-text :open -w {url} + wO + +open -t + ga + + +tab-close + d + + +tab-close -o + D + +tab-only + co + +tab-focus + J + gt + +tab-move + gm + +tab-move - + gl + < + +tab-move + + gr + > + +tab-prev + K + gT + +tab-clone + gC + +reload + r + +reload -f + R + +back + H + +back -t + th + +back -w + wh + +forward + L + +forward -t + tl + +forward -w + wl + +fullscreen + + +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 images tab-bg + .i + +hint links fill ":open {hint-url}" + ;o + +hint links fill ":open -t {hint-url}" + ;O + +hint links fill ":open -b {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 + +scroll left + h + +scroll down + j + +scroll up + k + +scroll right + l + +undo + u + + +scroll-perc 0 + gg + +scroll-perc + G + +search-next + n + +search-prev + N + +enter-mode insert + i + +enter-mode caret + v + +yank + yY + +yank -s + yy + +yank -t + yT + +yank -ts + yt + +yank -d + yD + +yank -ds + yd + +paste + pP + +paste -s + pp + +paste -t + PP + +paste -ts + Pp + +paste -w + wP + +paste -ws + 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 :set keybind + 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 + + +navigate decrement + + +inspector + wi + +download + gd + +download-cancel + ad + +download-remove --all + cd + +view-source + gf + +tab-focus last + + +enter-mode passthrough + + +quit + + +scroll-page 0 1 + + +scroll-page 0 -1 + + +scroll-page 0 0.5 + + +scroll-page 0 -0.5 + + +tab-focus 1 + + +tab-focus 2 + + +tab-focus 3 + + +tab-focus 4 + + +tab-focus 5 + + +tab-focus 6 + + +tab-focus 7 + + +tab-focus 8 + + +tab-focus 9 + + +home + + +stop + + +print + + +open qute:settings + Ss + +follow-selected + + + + + + + +follow-selected -t + + + +spawn mpv {url} + x + +hint links spawn mpv {hint-url} + ;x + +[insert] +# Keybindings for insert mode. +# Since normal keypresses are passed through, only special keys are +# supported in this mode. +# Useful hidden commands to map in this section: +# * `open-editor`: Open a texteditor with the focused field. + +open-editor + + +[hint] +# Keybindings for hint mode. +# Since normal keypresses are passed through, only special keys are +# supported in this mode. +# Useful hidden commands to map in this section: +# * `follow-hint`: Follow the currently selected hint. + +follow-hint + + + + + + + +hint --rapid links tab-bg + + +hint links + + +hint all tab-bg + + +[command] +# Keybindings for command mode. +# Since normal keypresses are passed through, only special keys are +# supported in this mode. +# Useful hidden commands to map in this section: +# * `command-history-prev`: Switch to previous command in history. +# * `command-history-next`: Switch to next command in history. +# * `completion-item-prev`: Select previous item in completion. +# * `completion-item-next`: Select next item in completion. +# * `command-accept`: Execute the command currently in the commandline. + +command-history-prev + + +command-history-next + + +completion-item-prev + + + +completion-item-next + + + +completion-item-del + + +command-accept + + + + + + + +[prompt] +# Keybindings for prompts in the status line. +# You can bind normal keys in this mode, but they will be only active +# when a yes/no-prompt is asked. For other prompt modes, you can only +# bind special keys. +# Useful hidden commands to map in this section: +# * `prompt-accept`: Confirm the entered value. +# * `prompt-yes`: Answer yes to a yes/no question. +# * `prompt-no`: Answer no to a yes/no question. + +prompt-accept + + + + + + + +prompt-yes + y + +prompt-no + n + +[command,prompt] + +rl-backward-char + + +rl-forward-char + + +rl-backward-word + + +rl-forward-word + + +rl-beginning-of-line + + +rl-end-of-line + + +rl-unix-line-discard + + +rl-kill-line + + +rl-kill-word + + +rl-unix-word-rubout + + + +rl-yank + + +rl-delete-char + + +rl-backward-delete-char + + +[caret] + +toggle-selection + v + + +drop-selection + + +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-selected -p + Y + +yank-selected + y + + + + + + + +scroll left + H + +scroll down + J + +scroll up + K + +scroll right + L + diff --git a/.config/qutebrowser/qutebrowser.conf b/.config/qutebrowser/qutebrowser.conf new file mode 100644 index 00000000..5dce1c1d --- /dev/null +++ b/.config/qutebrowser/qutebrowser.conf @@ -0,0 +1,1334 @@ +# vim: ft=dosini + +# Configfile for qutebrowser. +# +# This configfile is parsed by python's configparser in extended +# interpolation mode. The format is very INI-like, so there are +# categories like [general] with "key = value"-pairs. +# +# Note that you shouldn't add your own comments, as this file is +# regenerated every time the config is saved. +# +# Interpolation looks like ${value} or ${section:value} and will be +# replaced by the respective value. +# +# Some settings will expand environment variables. Note that, since +# interpolation is run first, you will need to escape the $ char as +# described below. +# +# This is the default config, so if you want to remove anything from +# here (as opposed to change/add), for example a key binding, set it to +# an empty value. +# +# You will need to escape the following values: +# - # at the start of the line (at the first position of the key) (\#) +# - $ in a value ($$) + +[general] +# General/miscellaneous options. +# +# ignore-case: +# Whether to find text on a page case-insensitively. +# true: Search case-insensitively +# false: Search case-sensitively +# smart: Search case-sensitively if there are capital chars +# Default: smart +# +# wrap-search (Bool): +# Whether to wrap finding text to the top when arriving at the end. +# Valid values: true, false +# Default: true +# +# startpage (List): +# The default page(s) to open at the start, separated by commas. +# Default: https://www.duckduckgo.com +# +# default-page (FuzzyUrl): +# The page to open if :open -t/-b/-w is used without URL. Use +# `about:blank` for a blank page. +# Default: ${startpage} +# +# auto-search: +# Whether to start a search when something else than a URL is +# entered. +# naive: Use simple/naive check. +# dns: Use DNS requests (might be slow!). +# false: Never search automatically. +# Default: naive +# +# auto-save-config (Bool): +# Whether to save the config automatically on quit. +# Valid values: true, false +# Default: true +# +# auto-save-interval (Int): +# How often (in milliseconds) to auto-save config/cookies/etc. +# Default: 15000 +# +# editor (ShellCommand): +# The editor (and arguments) to use for the `open-editor` command. +# Use `{}` for the filename. The value gets split like in a shell, +# so you can use `"` or `'` to quote arguments. +# Default: gvim -f "{}" +# +# editor-encoding (Encoding): +# Encoding to use for editor. +# Default: utf-8 +# +# private-browsing (Bool): +# Do not record visited pages in the history or store web page +# icons. +# Valid values: true, false +# Default: false +# +# developer-extras (Bool): +# Enable extra tools for Web developers. +# This needs to be enabled for `:inspector` to work and also adds an +# _Inspect_ entry to the context menu. +# Valid values: true, false +# Default: false +# +# print-element-backgrounds (Bool): +# Whether the background color and images are also drawn when the +# page is printed. +# Valid values: true, false +# Default: true +# +# xss-auditing (Bool): +# Whether load requests should be monitored for cross-site scripting +# attempts. +# Suspicious scripts will be blocked and reported in the inspector's +# JavaScript console. Enabling this feature might have an impact on +# performance. +# Valid values: true, false +# Default: false +# +# site-specific-quirks (Bool): +# Enable workarounds for broken sites. +# Valid values: true, false +# Default: true +# +# default-encoding (String): +# Default encoding to use for websites. +# The encoding must be a string describing an encoding such as +# _utf-8_, _iso-8859-1_, etc. If left empty a default value will be +# used. +# Default: +# +# new-instance-open-target: +# How to open links in an existing instance if a new one is +# launched. +# tab: Open a new tab in the existing window and activate the +# window. +# tab-bg: Open a new background tab in the existing window and +# activate the window. +# tab-silent: Open a new tab in the existing window without +# activating the window. +# tab-bg-silent: Open a new background tab in the existing +# window without activating the window. +# window: Open in a new window. +# Default: tab +# +# log-javascript-console (Bool): +# Whether to log javascript console messages. +# Valid values: true, false +# Default: false +# +# save-session (Bool): +# Whether to always save the open pages. +# Valid values: true, false +# Default: false +# +# session-default-name: +# The name of the session to save by default, or empty for the last +# loaded session. +# Default: +ignore-case = smart +wrap-search = true +startpage = https://www.duckduckgo.com +default-page = ${startpage} +auto-search = naive +auto-save-config = true +auto-save-interval = 15000 +editor = emw "{}" +editor-encoding = utf-8 +private-browsing = false +developer-extras = false +print-element-backgrounds = true +xss-auditing = false +site-specific-quirks = true +default-encoding = +new-instance-open-target = tab +log-javascript-console = false +save-session = true +session-default-name = + +[ui] +# General options related to the user interface. +# +# zoom-levels (PercList): +# The available zoom levels, separated by commas. +# Default: +# 25%,33%,50%,67%,75%,90%,100%,110%,125%,150%,175%,200%,250%,300%,400%,500% +# +# default-zoom (Perc): +# The default zoom level. +# Default: 100% +# +# downloads-position (VerticalPosition): +# Where to show the downloaded files. +# Valid values: top, bottom +# Default: top +# +# message-timeout (Int): +# Time (in ms) to show messages in the statusbar for. +# Default: 2000 +# +# message-unfocused (Bool): +# Whether to show messages in unfocused windows. +# Valid values: true, false +# Default: false +# +# confirm-quit: +# Whether to confirm quitting the application. +# always: Always show a confirmation. +# multiple-tabs: Show a confirmation if multiple tabs are +# opened. +# downloads: Show a confirmation if downloads are running +# never: Never show a confirmation. +# Default: never +# +# display-statusbar-messages (Bool): +# Whether to display javascript statusbar messages. +# Valid values: true, false +# Default: false +# +# zoom-text-only (Bool): +# Whether the zoom factor on a frame applies only to the text or to +# all content. +# Valid values: true, false +# Default: false +# +# frame-flattening (Bool): +# Whether to expand each subframe to its contents. +# This will flatten all the frames to become one scrollable page. +# Valid values: true, false +# Default: false +# +# user-stylesheet: +# User stylesheet to use (absolute filename, filename relative to +# the config directory or CSS string). Will expand environment +# variables. +# Default: ::-webkit-scrollbar { width: 0px; height: 0px; } +# +# css-media-type (String): +# Set the CSS media type. +# Default: +# +# smooth-scrolling (Bool): +# Whether to enable smooth scrolling for webpages. +# Valid values: true, false +# Default: false +# +# remove-finished-downloads (Bool): +# Whether to remove finished downloads automatically. +# Valid values: true, false +# Default: false +# +# hide-statusbar (Bool): +# Whether to hide the statusbar unless a message is shown. +# Valid values: true, false +# Default: false +# +# statusbar-padding (Padding): +# Padding for statusbar (top, bottom, left, right). +# Default: 1,1,0,0 +# +# window-title-format (FormatString): +# The format to use for the window title. The following placeholders +# are defined: +# * `{perc}`: The percentage as a string like `[10%]`. +# * `{perc_raw}`: The raw percentage, e.g. `10` +# * `{title}`: The title of the current web page +# * `{title_sep}`: The string ` - ` if a title is set, empty +# otherwise. +# * `{id}`: The internal window ID of this window. +# Default: {perc}{title}{title_sep}qutebrowser +# +# hide-mouse-cursor (Bool): +# Whether to hide the mouse cursor. +# Valid values: true, false +# Default: false +# +# modal-js-dialog (Bool): +# Use standard JavaScript modal dialog for alert() and confirm() +# Valid values: true, false +# Default: false +zoom-levels = 25%,33%,50%,67%,75%,90%,100%,110%,125%,150%,175%,200%,250%,300%,400%,500% +default-zoom = 100% +downloads-position = top +message-timeout = 2000 +message-unfocused = false +confirm-quit = downloads +display-statusbar-messages = false +zoom-text-only = false +frame-flattening = false +user-stylesheet = ::-webkit-scrollbar { width: 0px; height: 0px; } +css-media-type = +smooth-scrolling = false +remove-finished-downloads = true +hide-statusbar = false +statusbar-padding = 1,1,0,0 +window-title-format = {perc}{title}{title_sep}qutebrowser +hide-mouse-cursor = false +modal-js-dialog = false + +[network] +# Settings related to the network. +# +# do-not-track (Bool): +# Value to send in the `DNT` header. +# Valid values: true, false +# Default: true +# +# accept-language (String): +# Value to send in the `accept-language` header. +# Default: en-US,en +# +# referer-header (Referer): +# Send the Referer header +# always: Always send. +# never: Never send; this is not recommended, as some sites may +# break. +# same-domain: Only send for the same domain. This will still +# protect your privacy, but shouldn't break any sites. +# Default: same-domain +# +# user-agent: +# User agent to send. Empty to send the default. +# Default: +# +# proxy: +# The proxy to use. +# In addition to the listed values, you can use a `socks://...` or +# `http://...` URL. +# system: Use the system wide proxy. +# none: Don't use any proxy +# Default: system +# +# proxy-dns-requests (Bool): +# Whether to send DNS requests over the configured proxy. +# Valid values: true, false +# Default: true +# +# ssl-strict (BoolAsk): +# Whether to validate SSL handshakes. +# Valid values: true, false, ask +# Default: ask +# +# dns-prefetch (Bool): +# Whether to try to pre-fetch DNS entries to speed up browsing. +# Valid values: true, false +# Default: true +do-not-track = true +accept-language = en-US,en +referer-header = same-domain +user-agent = Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/538.15 (KHTML, like Gecko) Version/8.0 Safari/538.15 qutebrowser/0.4.1 +proxy = system +proxy-dns-requests = true +ssl-strict = ask +dns-prefetch = true + +[completion] +# Options related to completion and command history. +# +# auto-open (Bool): +# Automatically open completion when typing. +# Valid values: true, false +# Default: true +# +# download-path-suggestion: +# What to display in the download filename input. +# path: Show only the download path. +# filename: Show only download filename. +# both: Show download path and filename. +# Default: path +# +# timestamp-format (String): +# How to format timestamps (e.g. for history) +# Default: %Y-%m-%d +# +# show (Bool): +# Whether to show the autocompletion window. +# Valid values: true, false +# Default: true +# +# height (PercOrInt): +# The height of the completion, in px or as percentage of the +# window. +# Default: 50% +# +# cmd-history-max-items (Int): +# How many commands to save in the command history. +# 0: no history / -1: unlimited +# Default: 100 +# +# web-history-max-items (Int): +# How many URLs to show in the web history. +# 0: no history / -1: unlimited +# Default: 1000 +# +# quick-complete (Bool): +# Whether to move on to the next part when there's only one possible +# completion left. +# Valid values: true, false +# Default: true +# +# shrink (Bool): +# Whether to shrink the completion to be smaller than the configured +# size if there are no scrollbars. +# Valid values: true, false +# Default: false +auto-open = true +download-path-suggestion = path +timestamp-format = %Y-%m-%d +show = true +height = 50% +cmd-history-max-items = 100 +web-history-max-items = 1000 +quick-complete = true +shrink = true + +[input] +# Options related to input modes. +# +# timeout (Int): +# Timeout for ambiguous key bindings. +# Default: 500 +# +# partial-timeout (Int): +# Timeout for partially typed key bindings. +# Default: 1000 +# +# insert-mode-on-plugins (Bool): +# Whether to switch to insert mode when clicking flash and other +# plugins. +# Valid values: true, false +# Default: false +# +# auto-leave-insert-mode (Bool): +# Whether to leave insert mode if a non-editable element is clicked. +# Valid values: true, false +# Default: true +# +# auto-insert-mode (Bool): +# Whether to automatically enter insert mode if an editable element +# is focused after page load. +# Valid values: true, false +# Default: false +# +# forward-unbound-keys: +# Whether to forward unbound keys to the webview in normal mode. +# all: Forward all unbound keys. +# auto: Forward unbound non-alphanumeric keys. +# none: Don't forward any keys. +# Default: auto +# +# spatial-navigation (Bool): +# Enables or disables the Spatial Navigation feature. +# Spatial navigation consists in the ability to navigate between +# focusable elements in a Web page, such as hyperlinks and form +# controls, by using Left, Right, Up and Down arrow keys. For +# example, if a user presses the Right key, heuristics determine +# whether there is an element he might be trying to reach towards +# the right and which element he probably wants. +# Valid values: true, false +# Default: false +# +# links-included-in-focus-chain (Bool): +# Whether hyperlinks should be included in the keyboard focus chain. +# Valid values: true, false +# Default: true +# +# rocker-gestures (Bool): +# Whether to enable Opera-like mouse rocker gestures. This disables +# the context menu. +# Valid values: true, false +# Default: false +# +# mouse-zoom-divider (Int): +# How much to divide the mouse wheel movements to translate them +# into zoom increments. +# Default: 512 +timeout = 500 +partial-timeout = 1000 +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] +# Configuration of the tab bar. +# +# background-tabs (Bool): +# Whether to open new tabs (middleclick/ctrl+click) in background. +# Valid values: true, false +# Default: false +# +# select-on-remove: +# Which tab to select when the focused tab is removed. +# left: Select the tab on the left. +# right: Select the tab on the right. +# previous: Select the previously selected tab. +# Default: right +# +# new-tab-position: +# How new tabs are positioned. +# left: On the left of the current tab. +# right: On the right of the current tab. +# first: At the left end. +# last: At the right end. +# Default: right +# +# new-tab-position-explicit: +# How new tabs opened explicitly are positioned. +# left: On the left of the current tab. +# right: On the right of the current tab. +# first: At the left end. +# last: At the right end. +# Default: last +# +# last-close: +# Behavior when the last tab is closed. +# ignore: Don't do anything. +# blank: Load a blank page. +# startpage: Load the start page. +# default-page: Load the default page. +# close: Close the window. +# Default: ignore +# +# show (TabBarShow): +# When to show the tab bar +# always: Always show the tab bar. +# never: Always hide the tab bar. +# multiple: Hide the tab bar if only one tab is open. +# switching: Show the tab bar when switching tabs. +# Default: always +# +# show-switching-delay (Int): +# Time to show the tab bar before hiding it when tabs->show is set +# to 'switching'. +# Default: 800 +# +# wrap (Bool): +# Whether to wrap when changing tabs. +# Valid values: true, false +# Default: true +# +# movable (Bool): +# Whether tabs should be movable. +# Valid values: true, false +# Default: true +# +# close-mouse-button: +# On which mouse button to close tabs. +# right: Close tabs on right-click. +# middle: Close tabs on middle-click. +# none: Don't close tabs using the mouse. +# Default: middle +# +# position (Position): +# The position of the tab bar. +# Valid values: top, bottom, left, right +# Default: top +# +# show-favicons (Bool): +# Whether to show favicons in the tab bar. +# Valid values: true, false +# Default: true +# +# width (PercOrInt): +# The width of the tab bar if it's vertical, in px or as percentage +# of the window. +# Default: 20% +# +# indicator-width (Int): +# Width of the progress indicator (0 to disable). +# Default: 3 +# +# tabs-are-windows (Bool): +# Whether to open windows instead of tabs. +# Valid values: true, false +# Default: false +# +# title-format (FormatString): +# The format to use for the tab title. The following placeholders +# are defined: +# * `{perc}`: The percentage as a string like `[10%]`. +# * `{perc_raw}`: The raw percentage, e.g. `10` +# * `{title}`: The title of the current web page +# * `{title_sep}`: The string ` - ` if a title is set, empty +# otherwise. +# * `{index}`: The index of this tab. +# * `{id}`: The internal tab ID of this tab. +# Default: {index}: {title} +# +# mousewheel-tab-switching (Bool): +# Switch between tabs using the mouse wheel. +# Valid values: true, false +# Default: true +# +# padding (Padding): +# Padding for tabs (top, bottom, left, right). +# Default: 0,0,5,5 +# +# indicator-padding (Padding): +# Padding for indicators (top, bottom, left, right). +# Default: 2,2,0,4 +background-tabs = true +select-on-remove = right +new-tab-position = right +new-tab-position-explicit = last +last-close = ignore +show = multiple +show-switching-delay = 800 +wrap = false +movable = true +close-mouse-button = middle +position = top +show-favicons = true +width = 20% +indicator-width = 3 +tabs-are-windows = false +title-format = {index}: {title} +mousewheel-tab-switching = true +padding = 0,0,5,5 +indicator-padding = 2,2,0,4 + +[storage] +# Settings related to cache and storage. +# +# download-directory (Directory): +# The directory to save downloads to. An empty value selects a +# sensible os-specific default. Will expand environment variables. +# Default: +# +# prompt-download-directory (Bool): +# Whether to prompt the user for the download location. +# If set to false, 'download-directory' will be used. +# Valid values: true, false +# Default: true +# +# remember-download-directory (Bool): +# Whether to remember the last used download directory. +# Valid values: true, false +# Default: true +# +# maximum-pages-in-cache (Int): +# The maximum number of pages to hold in the global memory page +# cache. +# The Page Cache allows for a nicer user experience when navigating +# forth or back to pages in the forward/back history, by pausing and +# resuming up to _n_ pages. +# For more information about the feature, please refer to: +# http://webkit.org/blog/427/webkit-page-cache-i-the-basics/ +# Default: +# +# object-cache-capacities (WebKitBytesList): +# The capacities for the global memory cache for dead objects such +# as stylesheets or scripts. Syntax: cacheMinDeadCapacity, +# cacheMaxDead, totalCapacity. +# The _cacheMinDeadCapacity_ specifies the minimum number of bytes +# that dead objects should consume when the cache is under pressure. +# _cacheMaxDead_ is the maximum number of bytes that dead objects +# should consume when the cache is *not* under pressure. +# _totalCapacity_ specifies the maximum number of bytes that the +# cache should consume *overall*. +# Default: +# +# offline-storage-default-quota (WebKitBytes): +# Default quota for new offline storage databases. +# Default: +# +# offline-web-application-cache-quota (WebKitBytes): +# Quota for the offline web application cache. +# Default: +# +# offline-storage-database (Bool): +# Whether support for the HTML 5 offline storage feature is enabled. +# Valid values: true, false +# Default: true +# +# offline-web-application-storage (Bool): +# Whether support for the HTML 5 web application cache feature is +# enabled. +# An application cache acts like an HTTP cache in some sense. For +# documents that use the application cache via JavaScript, the +# loader engine will first ask the application cache for the +# contents, before hitting the network. +# The feature is described in details at: +# http://dev.w3.org/html5/spec/Overview.html#appcache +# Valid values: true, false +# Default: true +# +# local-storage (Bool): +# Whether support for the HTML 5 local storage feature is enabled. +# Valid values: true, false +# Default: true +# +# cache-size (Int): +# Size of the HTTP network cache. +# Default: 52428800 +download-directory = ~/temp +prompt-download-directory = false +remember-download-directory = true +maximum-pages-in-cache = +object-cache-capacities = +offline-storage-default-quota = +offline-web-application-cache-quota = +offline-storage-database = true +offline-web-application-storage = true +local-storage = true +cache-size = 52428800 + +[content] +# Loaded plugins/scripts and allowed actions. +# +# allow-images (Bool): +# Whether images are automatically loaded in web pages. +# Valid values: true, false +# Default: true +# +# allow-javascript (Bool): +# Enables or disables the running of JavaScript programs. +# Valid values: true, false +# Default: true +# +# allow-plugins (Bool): +# Enables or disables plugins in Web pages. +# Qt plugins with a mimetype such as "application/x-qt-plugin" are +# not affected by this setting. +# Valid values: true, false +# Default: false +# +# webgl (Bool): +# Enables or disables WebGL. +# Valid values: true, false +# Default: true +# +# css-regions (Bool): +# Enable or disable support for CSS regions. +# Valid values: true, false +# Default: true +# +# hyperlink-auditing (Bool): +# Enable or disable hyperlink auditing (). +# Valid values: true, false +# Default: false +# +# geolocation (BoolAsk): +# Allow websites to request geolocations. +# Valid values: true, false, ask +# Default: ask +# +# notifications (BoolAsk): +# Allow websites to show notifications. +# Valid values: true, false, ask +# Default: ask +# +# javascript-can-open-windows (Bool): +# Whether JavaScript programs can open new windows. +# Valid values: true, false +# Default: false +# +# javascript-can-close-windows (Bool): +# Whether JavaScript programs can close windows. +# Valid values: true, false +# Default: false +# +# javascript-can-access-clipboard (Bool): +# Whether JavaScript programs can read or write to the clipboard. +# Valid values: true, false +# Default: false +# +# ignore-javascript-prompt (Bool): +# Whether all javascript prompts should be ignored. +# Valid values: true, false +# Default: false +# +# ignore-javascript-alert (Bool): +# Whether all javascript alerts should be ignored. +# Valid values: true, false +# Default: false +# +# local-content-can-access-remote-urls (Bool): +# Whether locally loaded documents are allowed to access remote +# urls. +# Valid values: true, false +# Default: false +# +# local-content-can-access-file-urls (Bool): +# Whether locally loaded documents are allowed to access other local +# urls. +# Valid values: true, false +# Default: true +# +# cookies-accept: +# Control which cookies to accept. +# all: Accept all cookies. +# no-3rdparty: Accept cookies from the same origin only. +# no-unknown-3rdparty: Accept cookies from the same origin only, +# unless a cookie is already set for the domain. +# never: Don't accept cookies at all. +# Default: no-3rdparty +# +# cookies-store (Bool): +# Whether to store cookies. +# Valid values: true, false +# Default: true +# +# host-block-lists (UrlList): +# List of URLs of lists which contain hosts to block. +# The file can be in one of the following formats: +# - An '/etc/hosts'-like file +# - One host per line +# - A zip-file of any of the above, with either only one file, or a +# file named 'hosts' (with any extension). +# Default: +# http://www.malwaredomainlist.com/hostslist/hosts.txt,http://someonewhocares.org/hosts/hosts,http://winhelp2002.mvps.org/hosts.zip,http://malwaredomains.lehigh.edu/files/justdomains.zip,http://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&mimetype=plaintext +# +# host-blocking-enabled (Bool): +# Whether host blocking is enabled. +# Valid values: true, false +# Default: true +allow-images = true +allow-javascript = true +allow-plugins = true +webgl = true +css-regions = true +hyperlink-auditing = false +geolocation = ask +notifications = ask +javascript-can-open-windows = 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 = http://www.malwaredomainlist.com/hostslist/hosts.txt,http://someonewhocares.org/hosts/hosts,http://winhelp2002.mvps.org/hosts.zip,http://malwaredomains.lehigh.edu/files/justdomains.zip,http://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&mimetype=plaintext +host-blocking-enabled = true + +[hints] +# Hinting settings. +# +# border (String): +# CSS border value for hints. +# Default: 1px solid #E3BE23 +# +# opacity (Float): +# Opacity for hints. +# Default: 0.7 +# +# mode: +# Mode to use for hints. +# number: Use numeric hints. +# letter: Use the chars in the hints -> chars setting. +# Default: letter +# +# chars (String): +# Chars used for hint strings. +# Default: asdfghjkl +# +# min-chars (Int): +# Mininum number of chars used for hint strings. +# Default: 1 +# +# scatter (Bool): +# Whether to scatter hint key chains (like Vimium) or not (like +# dwb). +# Valid values: true, false +# Default: true +# +# uppercase (Bool): +# Make chars in hint strings uppercase. +# Valid values: true, false +# Default: false +# +# auto-follow (Bool): +# Whether to auto-follow a hint if there's only one left. +# Valid values: true, false +# Default: true +# +# next-regexes (RegexList): +# A comma-separated list of regexes to use for 'next' links. +# Default: +# \bnext\b,\bmore\b,\bnewer\b,\b[>→≫]\b,\b(>>|»)\b,\bcontinue\b +# +# prev-regexes (RegexList): +# A comma-separated list of regexes to use for 'prev' links. +# Default: \bprev(ious)?\b,\bback\b,\bolder\b,\b[<←≪]\b,\b(<<|«)\b +border = 1px solid #E3BE23 +opacity = 0.7 +mode = letter +chars = asdfghjkl +min-chars = 1 +scatter = false +uppercase = false +auto-follow = true +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 + +[searchengines] +# Definitions of search engines which can be used via the address bar. +# The searchengine named `DEFAULT` is used when `general -> auto-search` +# is true and something else than a URL was entered to be opened. Other +# search engines can be used by prepending the search engine name to the +# search term, e.g. `:open google qutebrowser`. The string `{}` will be +# replaced by the search term, use `{{` and `}}` for literal `{`/`}` +# signs. +DEFAULT = https://duckduckgo.com/?q={} +arch = http://wiki.archlinux.org/index.php?title=Special%%3ASearch&search={}&go=Go +aur = https://aur.archlinux.org/packages.php?O=0&K={}&do_Search=Go +ctan = http://www.ctan.org/search?phrase={} +gi = https://www.google.com/search?site=imghp&tbm=isch&source=hp&biw=1676&bih=997&q={} +gm = https://maps.google.com/maps?q={} +imdb = http://www.imdb.com/find?q={}&s=all +leo = http://dict.leo.org/frde/index_de.html#/search={} +mba = http://musicbrainz.org/search?query={}&type=artist&method=indexed +mbr = http://musicbrainz.org/search?query={}&type=release&method=indexed +so = http://stackoverflow.com/search?q={} +torrent = http://torrentz.eu/search?f={} +w = http://en.wikipedia.org/wiki/Special:Search?search={} +wb = http://en.wikibooks.org/wiki/Special:Search?search={} +wbf = http://fr.wikibooks.org/wiki/Special:Search?search={} +wf = http://fr.wikipedia.org/wiki/Special:Search?search={} +wk = http://en.wiktionary.org/wiki/Special:Search?search={} +wkf = http://fr.wiktionary.org/wiki/Special:Search?search={} +wks = http://sv.wiktionary.org/wiki/Special:Search?search={} +wine = http://www.winehq.org/search/?cx=partner-pub-0971840239976722:w9sqbcsxtyf&cof=FORID:10&ie=UTF-8&q={} +wr = http://www.wordreference.com/enfr/{} +yt = http://www.youtube.com/results?search_query={} + +[aliases] +# Aliases for commands. +# By default, no aliases are defined. Example which adds a new command +# `:qtb` to open qutebrowsers website: +# `qtb = open http://www.qutebrowser.org/` + +[colors] +# Colors used in the UI. +# A value can be in one of the following format: +# * `#RGB`/`#RRGGBB`/`#RRRGGGBBB`/`#RRRRGGGGBBBB` +# * A SVG color name as specified in http://www.w3.org/TR/SVG/types.html#ColorKeywords[the W3C specification]. +# * transparent (no color) +# * `rgb(r, g, b)` / `rgba(r, g, b, a)` (values 0-255 or percentages) +# * `hsv(h, s, v)` / `hsva(h, s, v, a)` (values 0-255, hue 0-359) +# * A gradient as explained in http://doc.qt.io/qt-5/stylesheet-reference.html#list-of-property-types[the Qt documentation] under ``Gradient''. +# A *.system value determines the color system to use for color +# interpolation between similarly-named *.start and *.stop entries, +# regardless of how they are defined in the options. Valid values are +# 'rgb', 'hsv', and 'hsl'. +# The `hints.*` values are a special case as they're real CSS colors, not Qt-CSS colors. There, for a gradient, you need to use `-webkit-gradient`, see https://www.webkit.org/blog/175/introducing-css-gradients/[the WebKit documentation]. +# +# completion.fg (QtColor): +# Text color of the completion widget. +# Default: white +# +# completion.bg (QssColor): +# Background color of the completion widget. +# Default: #333333 +# +# completion.alternate-bg (QssColor): +# Alternating background color of the completion widget. +# Default: #444444 +# +# completion.category.fg (QtColor): +# Foreground color of completion widget category headers. +# Default: white +# +# completion.category.bg (QssColor): +# Background color of the completion widget category headers. +# Default: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #888888, +# stop:1 #505050) +# +# completion.category.border.top (QssColor): +# Top border color of the completion widget category headers. +# Default: black +# +# completion.category.border.bottom (QssColor): +# Bottom border color of the completion widget category headers. +# Default: ${completion.category.border.top} +# +# completion.item.selected.fg (QtColor): +# Foreground color of the selected completion item. +# Default: black +# +# completion.item.selected.bg (QssColor): +# Background color of the selected completion item. +# Default: #e8c000 +# +# completion.item.selected.border.top (QssColor): +# Top border color of the completion widget category headers. +# Default: #bbbb00 +# +# completion.item.selected.border.bottom (QssColor): +# Bottom border color of the selected completion item. +# Default: ${completion.item.selected.border.top} +# +# completion.match.fg (QssColor): +# Foreground color of the matched text in the completion. +# Default: #ff4444 +# +# statusbar.fg (QssColor): +# Foreground color of the statusbar. +# Default: white +# +# statusbar.bg (QssColor): +# Foreground color of the statusbar. +# Default: black +# +# statusbar.fg.error (QssColor): +# Foreground color of the statusbar if there was an error. +# Default: ${statusbar.fg} +# +# statusbar.bg.error (QssColor): +# Background color of the statusbar if there was an error. +# Default: red +# +# statusbar.fg.warning (QssColor): +# Foreground color of the statusbar if there is a warning. +# Default: ${statusbar.fg} +# +# statusbar.bg.warning (QssColor): +# Background color of the statusbar if there is a warning. +# Default: darkorange +# +# statusbar.fg.prompt (QssColor): +# Foreground color of the statusbar if there is a prompt. +# Default: ${statusbar.fg} +# +# statusbar.bg.prompt (QssColor): +# Background color of the statusbar if there is a prompt. +# Default: darkblue +# +# statusbar.fg.insert (QssColor): +# Foreground color of the statusbar in insert mode. +# Default: ${statusbar.fg} +# +# statusbar.bg.insert (QssColor): +# Background color of the statusbar in insert mode. +# Default: darkgreen +# +# statusbar.fg.command (QssColor): +# Foreground color of the statusbar in command mode. +# Default: ${statusbar.fg} +# +# statusbar.bg.command (QssColor): +# Background color of the statusbar in command mode. +# Default: ${statusbar.bg} +# +# statusbar.fg.caret (QssColor): +# Foreground color of the statusbar in caret mode. +# Default: ${statusbar.fg} +# +# statusbar.bg.caret (QssColor): +# Background color of the statusbar in caret mode. +# Default: purple +# +# statusbar.fg.caret-selection (QssColor): +# Foreground color of the statusbar in caret mode with a selection +# Default: ${statusbar.fg} +# +# statusbar.bg.caret-selection (QssColor): +# Background color of the statusbar in caret mode with a selection +# Default: #a12dff +# +# statusbar.progress.bg (QssColor): +# Background color of the progress bar. +# Default: white +# +# statusbar.url.fg (QssColor): +# Default foreground color of the URL in the statusbar. +# Default: ${statusbar.fg} +# +# statusbar.url.fg.success (QssColor): +# Foreground color of the URL in the statusbar on successful load. +# Default: lime +# +# statusbar.url.fg.error (QssColor): +# Foreground color of the URL in the statusbar on error. +# Default: orange +# +# statusbar.url.fg.warn (QssColor): +# Foreground color of the URL in the statusbar when there's a +# warning. +# Default: yellow +# +# statusbar.url.fg.hover (QssColor): +# Foreground color of the URL in the statusbar for hovered links. +# Default: aqua +# +# tabs.fg.odd (QtColor): +# Foreground color of unselected odd tabs. +# Default: white +# +# tabs.bg.odd (QtColor): +# Background color of unselected odd tabs. +# Default: grey +# +# tabs.fg.even (QtColor): +# Foreground color of unselected even tabs. +# Default: white +# +# tabs.bg.even (QtColor): +# Background color of unselected even tabs. +# Default: darkgrey +# +# tabs.fg.selected (QtColor): +# Foreground color of selected tabs. +# Default: white +# +# tabs.bg.selected (QtColor): +# Background color of selected tabs. +# Default: black +# +# tabs.bg.bar (QtColor): +# Background color of the tab bar. +# Default: #555555 +# +# tabs.indicator.start (QtColor): +# Color gradient start for the tab indicator. +# Default: #0000aa +# +# tabs.indicator.stop (QtColor): +# Color gradient end for the tab indicator. +# Default: #00aa00 +# +# tabs.indicator.error (QtColor): +# Color for the tab indicator on errors.. +# Default: #ff0000 +# +# tabs.indicator.system: +# Color gradient interpolation system for the tab indicator. +# rgb: Interpolate in the RGB color system. +# hsv: Interpolate in the HSV color system. +# hsl: Interpolate in the HSL color system. +# Default: rgb +# +# hints.fg (CssColor): +# Font color for hints. +# Default: black +# +# hints.bg (CssColor): +# Background color for hints. +# Default: -webkit-gradient(linear, left top, left bottom, +# color-stop(0%,#FFF785), color-stop(100%,#FFC542)) +# +# hints.fg.match (CssColor): +# Font color for the matched part of hints. +# Default: green +# +# downloads.bg.bar (QssColor): +# Background color for the download bar. +# Default: black +# +# downloads.fg.start (QtColor): +# Color gradient start for download text. +# Default: white +# +# downloads.bg.start (QtColor): +# Color gradient start for download backgrounds. +# Default: #0000aa +# +# downloads.fg.stop (QtColor): +# Color gradient end for download text. +# Default: ${downloads.fg.start} +# +# downloads.bg.stop (QtColor): +# Color gradient stop for download backgrounds. +# Default: #00aa00 +# +# downloads.fg.system: +# Color gradient interpolation system for download text. +# rgb: Interpolate in the RGB color system. +# hsv: Interpolate in the HSV color system. +# hsl: Interpolate in the HSL color system. +# Default: rgb +# +# downloads.bg.system: +# Color gradient interpolation system for download backgrounds. +# rgb: Interpolate in the RGB color system. +# hsv: Interpolate in the HSV color system. +# hsl: Interpolate in the HSL color system. +# Default: rgb +# +# downloads.fg.error (QtColor): +# Foreground color for downloads with errors. +# Default: white +# +# downloads.bg.error (QtColor): +# Background color for downloads with errors. +# Default: red +# +# webpage.bg (QtColor): +# Background color for webpages if unset (or empty to use the +# theme's color) +# Default: white +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 +statusbar.fg = white +statusbar.bg = black +statusbar.fg.error = ${statusbar.fg} +statusbar.bg.error = red +statusbar.fg.warning = ${statusbar.fg} +statusbar.bg.warning = darkorange +statusbar.fg.prompt = ${statusbar.fg} +statusbar.bg.prompt = darkblue +statusbar.fg.insert = ${statusbar.fg} +statusbar.bg.insert = darkgreen +statusbar.fg.command = ${statusbar.fg} +statusbar.bg.command = ${statusbar.bg} +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 = 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 = white +tabs.bg.selected = black +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 = -webkit-gradient(linear, left top, left bottom, color-stop(0%,#FFF785), color-stop(100%,#FFC542)) +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 + +[fonts] +# Fonts used for the UI, with optional style/weight/size. +# * Style: `normal`/`italic`/`oblique` +# * Weight: `normal`, `bold`, `100`..`900` +# * Size: _number_ `px`/`pt` +# +# _monospace (Font): +# Default monospace fonts. +# Default: Terminus, Monospace, "DejaVu Sans Mono", Monaco, +# "Bitstream Vera Sans Mono", "Andale Mono", "Liberation Mono", +# "Courier New", Courier, monospace, Fixed, Consolas, Terminal +# +# completion (Font): +# Font used in the completion widget. +# Default: 8pt ${_monospace} +# +# tabbar (QtFont): +# Font used in the tab bar. +# Default: 8pt ${_monospace} +# +# statusbar (Font): +# Font used in the statusbar. +# Default: 8pt ${_monospace} +# +# downloads (Font): +# Font used for the downloadbar. +# Default: 8pt ${_monospace} +# +# hints (Font): +# Font used for the hints. +# Default: bold 13px Monospace +# +# debug-console (QtFont): +# Font used for the debugging console. +# Default: 8pt ${_monospace} +# +# web-family-standard (FontFamily): +# Font family for standard fonts. +# Default: +# +# web-family-fixed (FontFamily): +# Font family for fixed fonts. +# Default: +# +# web-family-serif (FontFamily): +# Font family for serif fonts. +# Default: +# +# web-family-sans-serif (FontFamily): +# Font family for sans-serif fonts. +# Default: +# +# web-family-cursive (FontFamily): +# Font family for cursive fonts. +# Default: +# +# web-family-fantasy (FontFamily): +# Font family for fantasy fonts. +# Default: +# +# web-size-minimum (Int): +# The hard minimum font size. +# Default: +# +# web-size-minimum-logical (Int): +# The minimum logical font size that is applied when zooming out. +# Default: +# +# web-size-default (Int): +# The default font size for regular text. +# Default: +# +# web-size-default-fixed (Int): +# The default font size for fixed-pitch text. +# Default: +_monospace = Terminus, Monospace, "DejaVu Sans Mono", Monaco, "Bitstream Vera Sans Mono", "Andale Mono", "Liberation Mono", "Courier New", Courier, monospace, Fixed, Consolas, Terminal +completion = 8pt ${_monospace} +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 = +web-size-minimum-logical = +web-size-default = +web-size-default-fixed = diff --git a/.config/ranger/rifle.conf b/.config/ranger/rifle.conf index a9271739..7d122835 100644 --- a/.config/ranger/rifle.conf +++ b/.config/ranger/rifle.conf @@ -54,6 +54,7 @@ # Rarely installed browsers get higher priority; It is assumed that if you # install a rare browser, you probably use it. Firefox/konqueror/w3m on the # other hand are often only installed as fallback browsers. +ext x?html?, has qutebrowser, X, flag f = qutebrowser -- "$@" ext x?html?, has surf, X, flag f = surf -- file://"$1" ext x?html?, has vimprobable, X, flag f = vimprobable -- "$@" ext x?html?, has vimprobable2, X, flag f = vimprobable2 -- "$@" @@ -175,7 +176,7 @@ ext e?ps, has zathura, X, flag f = zathura -- "$@" #------------------------------------------- # Image Viewing: #------------------------------------------- -mime ^image/svg, has dwb, X, flag f = dwb -- "$@" +mime ^image/svg, has qutebrowser, X, flag f = qutebrowser -- "$@" mime ^image/svg, has inkscape, X, flag f = inkscape -- "$@" mime ^image/svg, has display, X, flag f = display -- "$@" diff --git a/.emacs.d/lisp/main.el b/.emacs.d/lisp/main.el index 17dab578..c5ac445a 100644 --- a/.emacs.d/lisp/main.el +++ b/.emacs.d/lisp/main.el @@ -249,11 +249,12 @@ ;; Do not open other window for buffer menu, plus hide non-file buffers. (define-key my-keys-minor-mode-map (kbd "C-x C-b") 'bs-show) -;; Remove auto-fill in dwb edit because wikis and forums do not like it. +;; Remove auto-fill in web edits because wikis and forums do not like it. +;; This works for qutebrowser, but may need changes for other browsers. (add-hook 'find-file-hook (lambda () - (if (string-match "edit*" (buffer-name)) + (if (string-match (concat (getenv "BROWSER") "-editor-*") (buffer-name)) (auto-fill-mode -1)))) ;; Speedbar options. diff --git a/.local/share/applications/mimeapps.list b/.local/share/applications/mimeapps.list index bcd7b56d..88a60114 100644 --- a/.local/share/applications/mimeapps.list +++ b/.local/share/applications/mimeapps.list @@ -1,13 +1,13 @@ [Default Applications] application/pdf=zathura.desktop -text/html=dwb.desktop -x-scheme-handler/http=dwb.desktop -x-scheme-handler/https=dwb.desktop -x-scheme-handler/ftp=dwb.desktop -x-scheme-handler/chrome=dwb.desktop -application/x-extension-htm=dwb.desktop -application/x-extension-html=dwb.desktop -application/x-extension-shtml=dwb.desktop -application/xhtml+xml=dwb.desktop -application/x-extension-xhtml=dwb.desktop -application/x-extension-xht=dwb.desktop +text/html=qutebrowser.desktop +x-scheme-handler/http=qutebrowser.desktop +x-scheme-handler/https=qutebrowser.desktop +x-scheme-handler/ftp=qutebrowser.desktop +x-scheme-handler/chrome=qutebrowser.desktop +application/x-extension-htm=qutebrowser.desktop +application/x-extension-html=qutebrowser.desktop +application/x-extension-shtml=qutebrowser.desktop +application/xhtml+xml=qutebrowser.desktop +application/x-extension-xhtml=qutebrowser.desktop +application/x-extension-xht=qutebrowser.desktop diff --git a/.mutt/mailcap b/.mutt/mailcap index c2d5e778..770073f1 100644 --- a/.mutt/mailcap +++ b/.mutt/mailcap @@ -1,7 +1,6 @@ # $Id$ text/html; w3m -I %{charset} -T text/html; copiousoutput; -# text/html; dwb %s; nametemplate=%s.html image/*; sxiv -- %s diff --git a/.pkg/arch-aur b/.pkg/arch-aur index b73205f8..c4187719 100644 --- a/.pkg/arch-aur +++ b/.pkg/arch-aur @@ -4,7 +4,6 @@ clyrics-git cppcheck-nox demlo docx2txt -dwb-git emacs-guess-style-git ff-git freds-imagemagick-scripts @@ -16,6 +15,7 @@ multimarkdown mutt-sidebar peg-multimarkdown-latex-support-git pkgtools +qutebrowser sdlmame-wout-toolkits tespeed-git texlive-dummy diff --git a/.pkg/arch-power b/.pkg/arch-power index 4e3a3f9b..fc7f8ed4 100644 --- a/.pkg/arch-power +++ b/.pkg/arch-power @@ -45,7 +45,6 @@ dosbox driconf dtach dvtm -dwb elfutils emacs encfs diff --git a/.profile b/.profile index 562f7078..0958cb38 100644 --- a/.profile +++ b/.profile @@ -1,9 +1,6 @@ #!/bin/sh -################################################################################ -## .profile -################################################################################ -## This file is sourced by .xprofile and shell rc files to make sure it work in -## TTY as well as under X. +## This file should be automatically sourced by the login manager. We source it +## manually from shell rc files to make sure it works in TTY as well ## Mask ## Result for 027 is: rwxr-x--- @@ -98,13 +95,7 @@ fi export EDITOR export GIT_EDITOR -## Internet Browser -for i in dwb luakit google-chrome; do - command -v $i >/dev/null 2>&1 && export BROWSER=$i && break -done - ## SSH-Agent -## WARNING: this is insecure on machines where someone else has root access. command -v ssh-agent >/dev/null 2>&1 && eval "$(ssh-agent)" ## Kill ssh-agent on session end. Console login only. command -v sessionclean >/dev/null 2>&1 && trap 'sessionclean' 0 diff --git a/.scripts/homeclean b/.scripts/homeclean index b0e32eab..ebc6b21a 100755 --- a/.scripts/homeclean +++ b/.scripts/homeclean @@ -1,13 +1,13 @@ #!/bin/sh -set -- "$HOME/.cache/dwb" \ - "$HOME/.cache/emacs/backups" \ +set -- "$HOME/.cache/emacs/backups" \ "$HOME/.cache/emacs/elpa/archives" \ "$HOME/.cache/emacs/elpa/gnupg" \ "$HOME/.cache/emacs/ido.last" \ "$HOME/.cache/emacs/saveplace" \ "$HOME/.cache/mutt" \ "$HOME/.cache/rtorrent" \ + "$HOME/.cache/qutebrowser" \ "$HOME/.cache/zsh" \ "$HOME/.cmus/autosave" \ "$HOME/.cmus/cache" \ @@ -16,18 +16,6 @@ set -- "$HOME/.cache/dwb" \ "$HOME/.cmus/queue.pl" \ "$HOME/.cmus/resume" \ "$HOME/.cmus/search-history" \ - "$HOME/.config/dwb/default/commands.history" \ - "$HOME/.config/dwb/default/cookies" \ - "$HOME/.config/dwb/default/cookies_session.allow" \ - "$HOME/.config/dwb/default/dwb-uni.fifo" \ - "$HOME/.config/dwb/default/history" \ - "$HOME/.config/dwb/default/hsts" \ - "$HOME/.config/dwb/default/navigate.history" \ - "$HOME/.config/dwb/default/plugindb" \ - "$HOME/.config/dwb/default/plugins.allow" \ - "$HOME/.config/dwb/default/scripts.allow" \ - "$HOME/.config/dwb/default/search.history" \ - "$HOME/.config/dwb/default/session" \ "$HOME/.config/gtk-2.0" \ "$HOME/.config/gtk-3.0" \ "$HOME/.config/ranger/bookmarks" \ @@ -37,6 +25,7 @@ set -- "$HOME/.cache/dwb" \ "$HOME/.gtk-bookmarks" \ "$HOME/.lesshst" \ "$HOME/.local/share/newsbeuter" \ + "$HOME/.local/share/qutebrowser" \ "$HOME/.local/share/webkit" \ "$HOME/.mpv/watch_later" \ "$HOME/.mtap.fuseiso" \ diff --git a/.scripts/homeinit b/.scripts/homeinit index f29000d8..f2a07cac 100755 --- a/.scripts/homeinit +++ b/.scripts/homeinit @@ -31,31 +31,26 @@ if [ -d "$SOURCEDIR/todo" ]; then echo fi -## dwb -- Install extensions. -if command -v dwbem >/dev/null 2>&1; then - echo "==> dwb" - - # [ $(dwbem -l | grep -c "adblock_subscriptions") -eq 0 ] && dwbem -Ni adblock_subscriptions - [ $(dwbem -l | grep -c "navtools") -eq 0 ] && dwbem -Ni navtools - [ $(dwbem -l | grep -c "contenthandler") -eq 0 ] && dwbem -Ni contenthandler - # dwbem -Ni youtube_html5 - - (cd ~/.config/dwb/userscripts/ && git checkout extension_loader.js) - echo -fi - ## Bookmarks if [ -d "$SOURCEDIR" ]; then echo "==> Bookmarks" if [ -z "$BROWSER" ]; then echo "Variable BROWSER is not set." else - BROWSER_DATA_DIR="$XDG_DATA_HOME/$BROWSER/" - [ "$BROWSER" = "dwb" ] && BROWSER_DATA_DIR="$XDG_CONFIG_HOME/$BROWSER/default/" - - [ -d "$SOURCEDIR" ] && ln -sf "$SOURCEDIR/bookmarks/bookmarks" "$BROWSER_DATA_DIR" - [ -d "$SOURCEDIR" ] && ln -sf "$SOURCEDIR/bookmarks/quickmarks" "$BROWSER_DATA_DIR" - [ -d "$SOURCEDIR" ] && ln -sf "$SOURCEDIR/bookmarks/cookies.allow" "$BROWSER_DATA_DIR" + case "$BROWSER" in + dwb) + BOOKMARKS="$XDG_CONFIG_HOME/$BROWSER/default/" + QUICKMARKS="$XDG_CONFIG_HOME/$BROWSER/default/" ;; + qutebrowser) + mkdir -p "$XDG_CONFIG_HOME/$BROWSER/bookmarks" + BOOKMARKS="$XDG_CONFIG_HOME/$BROWSER/bookmarks/urls" + QUICKMARKS="$XDG_CONFIG_HOME/$BROWSER/" ;; + *) + BOOKMARKS="$XDG_CONFIG_HOME/$BROWSER/" + QUICKMARKS="$XDG_CONFIG_HOME/$BROWSER/" ;; + esac + ln -sf "$SOURCEDIR/bookmarks/bookmarks" "$BOOKMARKS" + ln -sf "$SOURCEDIR/bookmarks/quickmarks" "$QUICKMARKS" fi echo fi diff --git a/.xinitrc b/.xinitrc index 9db62256..67843b30 100644 --- a/.xinitrc +++ b/.xinitrc @@ -15,11 +15,3 @@ fi ## when 'exec' is not called. But why? # command -v sessionclean >/dev/null 2>&1 && sessionclean -## Crappy desktops -# exec openbox-session -# exec razor-session -# exec cinnamon-session -# exec startkde -# exec startlxde -# exec gnome-session - diff --git a/.xprofile b/.xprofile index 2dd4d86f..10819141 100644 --- a/.xprofile +++ b/.xprofile @@ -1,16 +1,22 @@ #!/bin/sh ## This file is sourced by some DM and should not contain any desktop execution. -## X config (for URxvt, etc.) -[ -f "${HOME}/.Xresources" ] && xrdb -merge "${HOME}/.Xresources" +## Internet browsers. They need X to run. +for i in qutebrowser dwb luakit chromium google-chrome; do + command -v $i >/dev/null 2>&1 && export BROWSER=$i && break +done -## Numlock -numlockx on +## X resources for URxvt et al. +[ -f "$HOME/.Xresources" ] && xrdb -merge "$HOME/.Xresources" +## Dynamic values. We could have defined the value from a variable in +## .Xresources which we would have set with the preprocessor. But the login +## manager may merge after sourcing this file without setting the preprocessor +## variable, thus overwriting the value with the variable name. +echo "URxvt.url-select.launcher: $BROWSER" | xrdb -merge -## Keymap +## Load custom keymap and configure input devices. xkbcomp -I"$HOME/.xkb" "$HOME/.xkb/usim.xkb" $DISPLAY - -## Disable Touchpad +numlockx on synclient TouchpadOff=1 if [ "$OSTYPE" = "linux-gnu" ] ; then @@ -21,9 +27,9 @@ if [ "$OSTYPE" = "linux-gnu" ] ; then command -v udiskie >/dev/null 2>&1 && udiskie & fi -## This env variable is used by some programs (like ranger and awesome) to get +## This env variable is used by some programs (e.g. ranger, awesome) to get the ## terminal executable name. export TERMCMD="urxvt" -## Hook. Should be sourced last +## Hook. Should be sourced last. [ -f ~/.xprofile_hook ] && . ~/.xprofile_hook diff --git a/README.md b/README.md index 232ec344..d793d1e5 100644 --- a/README.md +++ b/README.md @@ -27,19 +27,17 @@ implementation is straightforward since I am using the Vicious plugin. This configuration is very version-sensitive, so make sure to use the latest build. -### dwb - -Some custom options, download location, search engines, plugins, etc. -Custom "fast-forward" javascript. - ### Emacs Emacs daemon is flawlessly integrated thanks to a small _em_ script -- see the -scripts folder. Unlike the terminal client, the graphical client does not return -and spawns a new window. For these reasons the terminal client can prove useful -in some contexts: Mutt, ranger bulkrename, git and dwb. I wrote a lot of Lisp -helper functions and a custom theme with 256 colors, works for both text and -graphical Emacs. +scripts folder. _em_ forks and does not return. _emw_ and _emc_ (windowed and +console version respectively) return to their caller. This can be useful in some +contexts: Mutt, ranger bulkrename, git and web editing. The windowed version of +Emacs is not limited to terminal capabilities. The console version has the +advantage of not spawning a new window when already running in console. + +I wrote a lot of Lisp helper functions and a custom theme with 256 colors, works +for both text and graphical Emacs. C-based modes: bindings to compile either from makefile or from a custom command if no makefile is found, formatting with Uncrustify, skeletons.