Browse Source

[qutebrowser] Add some color themes

Colin Powell 5 years ago
parent
commit
ab4ad1bcd4

+ 2 - 2
qutebrowser/.config/qutebrowser/autoconfig.yml

@@ -6,5 +6,5 @@
 
 
 config_version: 2
 config_version: 2
 settings:
 settings:
-  content.media_capture:
-    https://meet.jit.si: true
+  content.user_stylesheets:
+    global: /home/powellc/.config/qutebrowser/darculized-all-sites.css

+ 291 - 0
qutebrowser/.config/qutebrowser/base16-gruvbox-dark-medium.config.py

@@ -0,0 +1,291 @@
+# base16-qutebrowser (https://github.com/theova/base16-qutebrowser)
+# Base16 qutebrowser template by theova
+# Gruvbox dark, medium scheme by Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox)
+
+base00 = "#282828"
+base01 = "#3c3836"
+base02 = "#504945"
+base03 = "#665c54"
+base04 = "#bdae93"
+base05 = "#d5c4a1"
+base06 = "#ebdbb2"
+base07 = "#fbf1c7"
+base08 = "#fb4934"
+base09 = "#fe8019"
+base0A = "#fabd2f"
+base0B = "#b8bb26"
+base0C = "#8ec07c"
+base0D = "#83a598"
+base0E = "#d3869b"
+base0F = "#d65d0e"
+
+# set qutebrowser colors
+
+# Text color of the completion widget. May be a single color to use for
+# all columns or a list of three colors, one for each column.
+c.colors.completion.fg = base05
+
+# Background color of the completion widget for odd rows.
+c.colors.completion.odd.bg = base03
+
+# Background color of the completion widget for even rows.
+c.colors.completion.even.bg = base00
+
+# Foreground color of completion widget category headers.
+c.colors.completion.category.fg = base0A
+
+# Background color of the completion widget category headers.
+c.colors.completion.category.bg = base00
+
+# Top border color of the completion widget category headers.
+c.colors.completion.category.border.top = base00
+
+# Bottom border color of the completion widget category headers.
+c.colors.completion.category.border.bottom = base00
+
+# Foreground color of the selected completion item.
+c.colors.completion.item.selected.fg = base01
+
+# Background color of the selected completion item.
+c.colors.completion.item.selected.bg = base0A
+
+# Top border color of the selected completion item.
+c.colors.completion.item.selected.border.top = base0A
+
+# Bottom border color of the selected completion item.
+c.colors.completion.item.selected.border.bottom = base0A
+
+# Foreground color of the matched text in the selected completion item.
+c.colors.completion.item.selected.match.fg = base08
+
+# Foreground color of the matched text in the completion.
+c.colors.completion.match.fg = base0B
+
+# Color of the scrollbar handle in the completion view.
+c.colors.completion.scrollbar.fg = base05
+
+# Color of the scrollbar in the completion view.
+c.colors.completion.scrollbar.bg = base00
+
+# Background color of the context menu. If set to null, the Qt default is used.
+c.colors.contextmenu.menu.bg = base00
+
+# Foreground color of the context menu. If set to null, the Qt default is used.
+c.colors.contextmenu.menu.fg =  base05
+
+# Background color of the context menu’s selected item. If set to null, the Qt default is used.
+c.colors.contextmenu.selected.bg = base0A
+
+#Foreground color of the context menu’s selected item. If set to null, the Qt default is used.
+c.colors.contextmenu.selected.fg = base01
+
+# Background color for the download bar.
+c.colors.downloads.bar.bg = base00
+
+# Color gradient start for download text.
+c.colors.downloads.start.fg = base00
+
+# Color gradient start for download backgrounds.
+c.colors.downloads.start.bg = base0D
+
+# Color gradient end for download text.
+c.colors.downloads.stop.fg = base00
+
+# Color gradient stop for download backgrounds.
+c.colors.downloads.stop.bg = base0C
+
+# Foreground color for downloads with errors.
+c.colors.downloads.error.fg = base08
+
+# Font color for hints.
+c.colors.hints.fg = base00
+
+# Background color for hints. Note that you can use a `rgba(...)` value
+# for transparency.
+c.colors.hints.bg = base0A
+
+# Font color for the matched part of hints.
+c.colors.hints.match.fg = base05
+
+# Text color for the keyhint widget.
+c.colors.keyhint.fg = base05
+
+# Highlight color for keys to complete the current keychain.
+c.colors.keyhint.suffix.fg = base05
+
+# Background color of the keyhint widget.
+c.colors.keyhint.bg = base00
+
+# Foreground color of an error message.
+c.colors.messages.error.fg = base00
+
+# Background color of an error message.
+c.colors.messages.error.bg = base08
+
+# Border color of an error message.
+c.colors.messages.error.border = base08
+
+# Foreground color of a warning message.
+c.colors.messages.warning.fg = base00
+
+# Background color of a warning message.
+c.colors.messages.warning.bg = base0E
+
+# Border color of a warning message.
+c.colors.messages.warning.border = base0E
+
+# Foreground color of an info message.
+c.colors.messages.info.fg = base05
+
+# Background color of an info message.
+c.colors.messages.info.bg = base00
+
+# Border color of an info message.
+c.colors.messages.info.border = base00
+
+# Foreground color for prompts.
+c.colors.prompts.fg = base05
+
+# Border used around UI elements in prompts.
+c.colors.prompts.border = base00
+
+# Background color for prompts.
+c.colors.prompts.bg = base00
+
+# Background color for the selected item in filename prompts.
+c.colors.prompts.selected.bg = base0A
+
+# Foreground color of the statusbar.
+c.colors.statusbar.normal.fg = base0B
+
+# Background color of the statusbar.
+c.colors.statusbar.normal.bg = base00
+
+# Foreground color of the statusbar in insert mode.
+c.colors.statusbar.insert.fg = base00
+
+# Background color of the statusbar in insert mode.
+c.colors.statusbar.insert.bg = base0D
+
+# Foreground color of the statusbar in passthrough mode.
+c.colors.statusbar.passthrough.fg = base00
+
+# Background color of the statusbar in passthrough mode.
+c.colors.statusbar.passthrough.bg = base0C
+
+# Foreground color of the statusbar in private browsing mode.
+c.colors.statusbar.private.fg = base00
+
+# Background color of the statusbar in private browsing mode.
+c.colors.statusbar.private.bg = base03
+
+# Foreground color of the statusbar in command mode.
+c.colors.statusbar.command.fg = base05
+
+# Background color of the statusbar in command mode.
+c.colors.statusbar.command.bg = base00
+
+# Foreground color of the statusbar in private browsing + command mode.
+c.colors.statusbar.command.private.fg = base05
+
+# Background color of the statusbar in private browsing + command mode.
+c.colors.statusbar.command.private.bg = base00
+
+# Foreground color of the statusbar in caret mode.
+c.colors.statusbar.caret.fg = base00
+
+# Background color of the statusbar in caret mode.
+c.colors.statusbar.caret.bg = base0E
+
+# Foreground color of the statusbar in caret mode with a selection.
+c.colors.statusbar.caret.selection.fg = base00
+
+# Background color of the statusbar in caret mode with a selection.
+c.colors.statusbar.caret.selection.bg = base0D
+
+# Background color of the progress bar.
+c.colors.statusbar.progress.bg = base0D
+
+# Default foreground color of the URL in the statusbar.
+c.colors.statusbar.url.fg = base05
+
+# Foreground color of the URL in the statusbar on error.
+c.colors.statusbar.url.error.fg = base08
+
+# Foreground color of the URL in the statusbar for hovered links.
+c.colors.statusbar.url.hover.fg = base05
+
+# Foreground color of the URL in the statusbar on successful load
+# (http).
+c.colors.statusbar.url.success.http.fg = base0C
+
+# Foreground color of the URL in the statusbar on successful load
+# (https).
+c.colors.statusbar.url.success.https.fg = base0B
+
+# Foreground color of the URL in the statusbar when there's a warning.
+c.colors.statusbar.url.warn.fg = base0E
+
+# Background color of the tab bar.
+c.colors.tabs.bar.bg = base00
+
+# Color gradient start for the tab indicator.
+c.colors.tabs.indicator.start = base0D
+
+# Color gradient end for the tab indicator.
+c.colors.tabs.indicator.stop = base0C
+
+# Color for the tab indicator on errors.
+c.colors.tabs.indicator.error = base08
+
+# Foreground color of unselected odd tabs.
+c.colors.tabs.odd.fg = base05
+
+# Background color of unselected odd tabs.
+c.colors.tabs.odd.bg = base03
+
+# Foreground color of unselected even tabs.
+c.colors.tabs.even.fg = base05
+
+# Background color of unselected even tabs.
+c.colors.tabs.even.bg = base00
+
+# Background color of pinned unselected even tabs.
+c.colors.tabs.pinned.even.bg = base0C
+
+# Foreground color of pinned unselected even tabs.
+c.colors.tabs.pinned.even.fg = base07
+
+# Background color of pinned unselected odd tabs.
+c.colors.tabs.pinned.odd.bg = base0B
+
+# Foreground color of pinned unselected odd tabs.
+c.colors.tabs.pinned.odd.fg = base07
+
+# Background color of pinned selected even tabs.
+c.colors.tabs.pinned.selected.even.bg = base05
+
+# Foreground color of pinned selected even tabs.
+c.colors.tabs.pinned.selected.even.fg = base00
+
+# Background color of pinned selected odd tabs.
+c.colors.tabs.pinned.selected.odd.bg = base05
+
+# Foreground color of pinned selected odd tabs.
+c.colors.tabs.pinned.selected.odd.fg = base0E
+
+# Foreground color of selected odd tabs.
+c.colors.tabs.selected.odd.fg = base00
+
+# Background color of selected odd tabs.
+c.colors.tabs.selected.odd.bg = base05
+
+# Foreground color of selected even tabs.
+c.colors.tabs.selected.even.fg = base00
+
+# Background color of selected even tabs.
+c.colors.tabs.selected.even.bg = base05
+
+# Background color for webpages if unset (or empty to use the theme's
+# color).
+# c.colors.webpage.bg = base00

+ 283 - 3
qutebrowser/.config/qutebrowser/config.py

@@ -1,3 +1,5 @@
+# flake8: noqa
+# pylint: skip-file
 c.url.searchengines = {
 c.url.searchengines = {
     "DEFAULT": "https://search.unbl.ink/?q={}",
     "DEFAULT": "https://search.unbl.ink/?q={}",
     "a": "https://www.amazon.com/s?k={}",
     "a": "https://www.amazon.com/s?k={}",
@@ -27,8 +29,286 @@ config.set("downloads.location.prompt", False)
 
 
 config.bind("wo", "set-cmd-text -s :open -w")
 config.bind("wo", "set-cmd-text -s :open -w")
 config.bind("wd", "close")
 config.bind("wd", "close")
-config.bind("sp", "set-cmd-text -s :open -w startpage")
-config.bind("wk", "set-cmd-text -s :open -w wikiwand")
 config.bind(",n", "config-cycle content.user_stylesheets /home/powellc/.config/qutebrowser/darculized-all-sites.css \"\"")
 config.bind(",n", "config-cycle content.user_stylesheets /home/powellc/.config/qutebrowser/darculized-all-sites.css \"\"")
 
 
-c.aliases["cs"] = ":config-source"
+c.aliases["cs"] = "config-source"
+
+# base16-qutebrowser (https://github.com/theova/base16-qutebrowser)
+# Base16 qutebrowser template by theova
+# Monokai scheme by Wimer Hazenberg (http://www.monokai.nl)
+
+base00 = "#272822"
+base01 = "#383830"
+base02 = "#49483e"
+base03 = "#75715e"
+base04 = "#a59f85"
+base05 = "#f8f8f2"
+base06 = "#f5f4f1"
+base07 = "#f9f8f5"
+base08 = "#f92672"
+base09 = "#fd971f"
+base0A = "#f4bf75"
+base0B = "#a6e22e"
+base0C = "#a1efe4"
+base0D = "#66d9ef"
+base0E = "#ae81ff"
+base0F = "#cc6633"
+
+# set qutebrowser colors
+
+# Text color of the completion widget. May be a single color to use for
+# all columns or a list of three colors, one for each column.
+c.colors.completion.fg = base05
+
+# Background color of the completion widget for odd rows.
+c.colors.completion.odd.bg = base03
+
+# Background color of the completion widget for even rows.
+c.colors.completion.even.bg = base00
+
+# Foreground color of completion widget category headers.
+c.colors.completion.category.fg = base0A
+
+# Background color of the completion widget category headers.
+c.colors.completion.category.bg = base00
+
+# Top border color of the completion widget category headers.
+c.colors.completion.category.border.top = base00
+
+# Bottom border color of the completion widget category headers.
+c.colors.completion.category.border.bottom = base00
+
+# Foreground color of the selected completion item.
+c.colors.completion.item.selected.fg = base01
+
+# Background color of the selected completion item.
+c.colors.completion.item.selected.bg = base0A
+
+# Top border color of the selected completion item.
+c.colors.completion.item.selected.border.top = base0A
+
+# Bottom border color of the selected completion item.
+c.colors.completion.item.selected.border.bottom = base0A
+
+# Foreground color of the matched text in the selected completion item.
+c.colors.completion.item.selected.match.fg = base08
+
+# Foreground color of the matched text in the completion.
+c.colors.completion.match.fg = base0B
+
+# Color of the scrollbar handle in the completion view.
+c.colors.completion.scrollbar.fg = base05
+
+# Color of the scrollbar in the completion view.
+c.colors.completion.scrollbar.bg = base00
+
+# Background color for the download bar.
+c.colors.downloads.bar.bg = base00
+
+# Color gradient start for download text.
+c.colors.downloads.start.fg = base00
+
+# Color gradient start for download backgrounds.
+c.colors.downloads.start.bg = base0D
+
+# Color gradient end for download text.
+c.colors.downloads.stop.fg = base00
+
+# Color gradient stop for download backgrounds.
+c.colors.downloads.stop.bg = base0C
+
+# Foreground color for downloads with errors.
+c.colors.downloads.error.fg = base08
+
+# Font color for hints.
+c.colors.hints.fg = base00
+
+# Background color for hints. Note that you can use a `rgba(...)` value
+# for transparency.
+c.colors.hints.bg = base0A
+
+# Font color for the matched part of hints.
+c.colors.hints.match.fg = base05
+
+# Text color for the keyhint widget.
+c.colors.keyhint.fg = base05
+
+# Highlight color for keys to complete the current keychain.
+c.colors.keyhint.suffix.fg = base05
+
+# Background color of the keyhint widget.
+c.colors.keyhint.bg = base00
+
+# Foreground color of an error message.
+c.colors.messages.error.fg = base00
+
+# Background color of an error message.
+c.colors.messages.error.bg = base08
+
+# Border color of an error message.
+c.colors.messages.error.border = base08
+
+# Foreground color of a warning message.
+c.colors.messages.warning.fg = base00
+
+# Background color of a warning message.
+c.colors.messages.warning.bg = base0E
+
+# Border color of a warning message.
+c.colors.messages.warning.border = base0E
+
+# Foreground color of an info message.
+c.colors.messages.info.fg = base05
+
+# Background color of an info message.
+c.colors.messages.info.bg = base00
+
+# Border color of an info message.
+c.colors.messages.info.border = base00
+
+# Foreground color for prompts.
+c.colors.prompts.fg = base05
+
+# Border used around UI elements in prompts.
+c.colors.prompts.border = base00
+
+# Background color for prompts.
+c.colors.prompts.bg = base00
+
+# Background color for the selected item in filename prompts.
+c.colors.prompts.selected.bg = base0A
+
+# Foreground color of the statusbar.
+c.colors.statusbar.normal.fg = base0B
+
+# Background color of the statusbar.
+c.colors.statusbar.normal.bg = base00
+
+# Foreground color of the statusbar in insert mode.
+c.colors.statusbar.insert.fg = base00
+
+# Background color of the statusbar in insert mode.
+c.colors.statusbar.insert.bg = base0D
+
+# Foreground color of the statusbar in passthrough mode.
+c.colors.statusbar.passthrough.fg = base00
+
+# Background color of the statusbar in passthrough mode.
+c.colors.statusbar.passthrough.bg = base0C
+
+# Foreground color of the statusbar in private browsing mode.
+c.colors.statusbar.private.fg = base00
+
+# Background color of the statusbar in private browsing mode.
+c.colors.statusbar.private.bg = base03
+
+# Foreground color of the statusbar in command mode.
+c.colors.statusbar.command.fg = base05
+
+# Background color of the statusbar in command mode.
+c.colors.statusbar.command.bg = base00
+
+# Foreground color of the statusbar in private browsing + command mode.
+c.colors.statusbar.command.private.fg = base05
+
+# Background color of the statusbar in private browsing + command mode.
+c.colors.statusbar.command.private.bg = base00
+
+# Foreground color of the statusbar in caret mode.
+c.colors.statusbar.caret.fg = base00
+
+# Background color of the statusbar in caret mode.
+c.colors.statusbar.caret.bg = base0E
+
+# Foreground color of the statusbar in caret mode with a selection.
+c.colors.statusbar.caret.selection.fg = base00
+
+# Background color of the statusbar in caret mode with a selection.
+c.colors.statusbar.caret.selection.bg = base0D
+
+# Background color of the progress bar.
+c.colors.statusbar.progress.bg = base0D
+
+# Default foreground color of the URL in the statusbar.
+c.colors.statusbar.url.fg = base05
+
+# Foreground color of the URL in the statusbar on error.
+c.colors.statusbar.url.error.fg = base08
+
+# Foreground color of the URL in the statusbar for hovered links.
+c.colors.statusbar.url.hover.fg = base05
+
+# Foreground color of the URL in the statusbar on successful load
+# (http).
+c.colors.statusbar.url.success.http.fg = base0C
+
+# Foreground color of the URL in the statusbar on successful load
+# (https).
+c.colors.statusbar.url.success.https.fg = base0B
+
+# Foreground color of the URL in the statusbar when there's a warning.
+c.colors.statusbar.url.warn.fg = base0E
+
+# Background color of the tab bar.
+c.colors.tabs.bar.bg = base00
+
+# Color gradient start for the tab indicator.
+c.colors.tabs.indicator.start = base0D
+
+# Color gradient end for the tab indicator.
+c.colors.tabs.indicator.stop = base0C
+
+# Color for the tab indicator on errors.
+c.colors.tabs.indicator.error = base08
+
+# Foreground color of unselected odd tabs.
+c.colors.tabs.odd.fg = base05
+
+# Background color of unselected odd tabs.
+c.colors.tabs.odd.bg = base03
+
+# Foreground color of unselected even tabs.
+c.colors.tabs.even.fg = base05
+
+# Background color of unselected even tabs.
+c.colors.tabs.even.bg = base00
+
+# Background color of pinned unselected even tabs.
+c.colors.tabs.pinned.even.bg = base0C
+
+# Foreground color of pinned unselected even tabs.
+c.colors.tabs.pinned.even.fg = base07
+
+# Background color of pinned unselected odd tabs.
+c.colors.tabs.pinned.odd.bg = base0B
+
+# Foreground color of pinned unselected odd tabs.
+c.colors.tabs.pinned.odd.fg = base07
+
+# Background color of pinned selected even tabs.
+c.colors.tabs.pinned.selected.even.bg = base05
+
+# Foreground color of pinned selected even tabs.
+c.colors.tabs.pinned.selected.even.fg = base00
+
+# Background color of pinned selected odd tabs.
+c.colors.tabs.pinned.selected.odd.bg = base05
+
+# Foreground color of pinned selected odd tabs.
+c.colors.tabs.pinned.selected.odd.fg = base0E
+
+# Foreground color of selected odd tabs.
+c.colors.tabs.selected.odd.fg = base00
+
+# Background color of selected odd tabs.
+c.colors.tabs.selected.odd.bg = base05
+
+# Foreground color of selected even tabs.
+c.colors.tabs.selected.even.fg = base00
+
+# Background color of selected even tabs.
+c.colors.tabs.selected.even.bg = base05
+
+# Background color for webpages if unset (or empty to use the theme's
+# color).
+# c.colors.webpage.bg = base00

+ 350 - 0
qutebrowser/.config/qutebrowser/qutewal.py

@@ -0,0 +1,350 @@
+import json
+import os
+
+qutewal_dynamic_loading = False
+
+home = os.getenv('HOME')
+colors_relative = '.cache/wal/colors.json'
+daemon_relative = '.config/qutebrowser/qutewald.py'
+colors_absolute = os.path.join(home, colors_relative)
+daemon_absolute = os.path.join(home, daemon_relative)
+
+if os.path.isfile(colors_absolute):
+    with open(colors_absolute) as colorfile:
+        colors = json.load(colorfile)
+        cursor = colors['special']['cursor']
+        background = colors['special']['background']
+        foreground = colors['special']['foreground']
+        black = colors['colors']['color0']
+        white = colors['colors']['color7']
+        gray = colors['colors']['color8']
+        red = colors['colors']['color1']
+        green = colors['colors']['color2']
+        yellow = colors['colors']['color3']
+        blue = colors['colors']['color4']
+        magenta = colors['colors']['color5']
+        cyan = colors['colors']['color6']
+
+    # Background color of the completion widget category headers.
+    # Type: QssColor
+    c.colors.completion.category.bg = background
+
+    # Bottom border color of the completion widget category headers.
+    # Type: QssColor
+    c.colors.completion.category.border.bottom = background
+
+    # Top border color of the completion widget category headers.
+    # Type: QssColor
+    c.colors.completion.category.border.top = background
+
+    # Foreground color of completion widget category headers.
+    # Type: QtColor
+    c.colors.completion.category.fg = foreground
+
+    # Background color of the completion widget for even rows.
+    # Type: QssColor
+    c.colors.completion.even.bg = background
+
+    # Background color of the completion widget for odd rows.
+    # Type: QssColor
+    c.colors.completion.odd.bg = background
+
+    # Text color of the completion widget.
+    # Type: QtColor
+    c.colors.completion.fg = foreground
+
+    # Background color of the selected completion item.
+    # Type: QssColor
+    c.colors.completion.item.selected.bg = gray
+
+    # Bottom border color of the selected completion item.
+    # Type: QssColor
+    c.colors.completion.item.selected.border.bottom = background
+
+    # Top border color of the completion widget category headers.
+    # Type: QssColor
+    c.colors.completion.item.selected.border.top = background
+
+    # Foreground color of the selected completion item.
+    # Type: QtColor
+    c.colors.completion.item.selected.fg = foreground
+
+    # Foreground color of the matched text in the completion.
+    # Type: QssColor
+    c.colors.completion.match.fg = yellow
+
+    # Color of the scrollbar in completion view
+    # Type: QssColor
+    c.colors.completion.scrollbar.bg = background
+
+    # Color of the scrollbar handle in completion view.
+    # Type: QssColor
+    c.colors.completion.scrollbar.fg = gray
+
+    # Background color for the download bar.
+    # Type: QssColor
+    c.colors.downloads.bar.bg = background
+
+    # Background color for downloads with errors.
+    # Type: QtColor
+    c.colors.downloads.error.bg = red
+
+    # Foreground color for downloads with errors.
+    # Type: QtColor
+    c.colors.downloads.error.fg = foreground
+
+    # Color gradient stop for download backgrounds.
+    # Type: QtColor
+    c.colors.downloads.stop.bg = cyan
+
+    # Color gradient interpolation system for download backgrounds.
+    # Type: ColorSystem
+    # Valid values:
+    #   - rgb: Interpolate in the RGB color system.
+    #   - hsv: Interpolate in the HSV color system.
+    #   - hsl: Interpolate in the HSL color system.
+    #   - none: Don't show a gradient.
+    c.colors.downloads.system.bg = 'none'
+
+    # Background color for hints. Note that you can use a `rgba(...)` value
+    # for transparency.
+    # Type: QssColor
+    c.colors.hints.bg = yellow
+
+    # Font color for hints.
+    # Type: QssColor
+    c.colors.hints.fg = background
+
+    # Font color for the matched part of hints.
+    # Type: QssColor
+    c.colors.hints.match.fg = blue
+
+    # Background color of the keyhint widget.
+    # Type: QssColor
+    c.colors.keyhint.bg = background
+
+    # Text color for the keyhint widget.
+    # Type: QssColor
+    c.colors.keyhint.fg = foreground
+
+    # Highlight color for keys to complete the current keychain.
+    # Type: QssColor
+    c.colors.keyhint.suffix.fg = yellow
+
+    # Background color of an error message.
+    # Type: QssColor
+    c.colors.messages.error.bg = red
+
+    # Border color of an error message.
+    # Type: QssColor
+    c.colors.messages.error.border = red
+
+    # Foreground color of an error message.
+    # Type: QssColor
+    c.colors.messages.error.fg = foreground
+
+    # Background color of an info message.
+    # Type: QssColor
+    c.colors.messages.info.bg = blue
+
+    # Border color of an info message.
+    # Type: QssColor
+    c.colors.messages.info.border = blue
+
+    # Foreground color an info message.
+    # Type: QssColor
+    c.colors.messages.info.fg = foreground
+
+    # Background color of a warning message.
+    # Type: QssColor
+    c.colors.messages.warning.bg = red
+
+    # Border color of a warning message.
+    # Type: QssColor
+    c.colors.messages.warning.border = red
+
+    # Foreground color a warning message.
+    # Type: QssColor
+    c.colors.messages.warning.fg = foreground
+
+    # Background color for prompts.
+    # Type: QssColor
+    c.colors.prompts.bg = background
+
+    # # Border used around UI elements in prompts.
+    # # Type: String
+    c.colors.prompts.border = '1px solid ' + background
+
+    # Foreground color for prompts.
+    # Type: QssColor
+    c.colors.prompts.fg = foreground
+
+    # Background color for the selected item in filename prompts.
+    # Type: QssColor
+    c.colors.prompts.selected.bg = magenta
+
+    # Background color of the statusbar in caret mode.
+    # Type: QssColor
+    c.colors.statusbar.caret.bg = cyan
+
+    # Foreground color of the statusbar in caret mode.
+    # Type: QssColor
+    c.colors.statusbar.caret.fg = cursor
+
+    # Background color of the statusbar in caret mode with a selection.
+    # Type: QssColor
+    c.colors.statusbar.caret.selection.bg = cyan
+
+    # Foreground color of the statusbar in caret mode with a selection.
+    # Type: QssColor
+    c.colors.statusbar.caret.selection.fg = foreground
+
+    # Background color of the statusbar in command mode.
+    # Type: QssColor
+    c.colors.statusbar.command.bg = background
+
+    # Foreground color of the statusbar in command mode.
+    # Type: QssColor
+    c.colors.statusbar.command.fg = foreground
+
+    # Background color of the statusbar in private browsing + command mode.
+    # Type: QssColor
+    c.colors.statusbar.command.private.bg = background
+
+    # Foreground color of the statusbar in private browsing + command mode.
+    # Type: QssColor
+    c.colors.statusbar.command.private.fg = foreground
+
+    # Background color of the statusbar in insert mode.
+    # Type: QssColor
+    c.colors.statusbar.insert.bg = green
+
+    # Foreground color of the statusbar in insert mode.
+    # Type: QssColor
+    c.colors.statusbar.insert.fg = background
+
+    # Background color of the statusbar.
+    # Type: QssColor
+    c.colors.statusbar.normal.bg = background
+
+    # Foreground color of the statusbar.
+    # Type: QssColor
+    c.colors.statusbar.normal.fg = foreground
+
+    # Background color of the statusbar in passthrough mode.
+    # Type: QssColor
+    c.colors.statusbar.passthrough.bg = blue
+
+    # Foreground color of the statusbar in passthrough mode.
+    # Type: QssColor
+    c.colors.statusbar.passthrough.fg = foreground
+
+    # Background color of the statusbar in private browsing mode.
+    # Type: QssColor
+    c.colors.statusbar.private.bg = background
+
+    # Foreground color of the statusbar in private browsing mode.
+    # Type: QssColor
+    c.colors.statusbar.private.fg = foreground
+
+    # Background color of the progress bar.
+    # Type: QssColor
+    c.colors.statusbar.progress.bg = foreground
+
+    # Foreground color of the URL in the statusbar on error.
+    # Type: QssColor
+    c.colors.statusbar.url.error.fg = red
+
+    # Default foreground color of the URL in the statusbar.
+    # Type: QssColor
+    c.colors.statusbar.url.fg = foreground
+
+    # Foreground color of the URL in the statusbar for hovered links.
+    # Type: QssColor
+    c.colors.statusbar.url.hover.fg = blue
+
+    # Foreground color of the URL in the statusbar on successful load
+    # (http).
+    # Type: QssColor
+    c.colors.statusbar.url.success.http.fg = foreground
+
+    # Foreground color of the URL in the statusbar on successful load
+    # (https).
+    # Type: QssColor
+    c.colors.statusbar.url.success.https.fg = gray
+
+    # Foreground color of the URL in the statusbar when there's a warning.
+    # Type: QssColor
+    c.colors.statusbar.url.warn.fg = red
+
+    # Background color of the tab bar.
+    # Type: QtColor
+    c.colors.tabs.bar.bg = background
+
+    # Background color of unselected even tabs.
+    # Type: QtColor
+    c.colors.tabs.even.bg = background
+
+    # Foreground color of unselected even tabs.
+    # Type: QtColor
+    c.colors.tabs.even.fg = foreground
+
+    # Color for the tab indicator on errors.
+    # Type: QtColor
+    c.colors.tabs.indicator.error = red
+
+    # Color gradient start for the tab indicator.
+    # Type: QtColor
+    # c.colors.tabs.indicator.start = magenta
+
+    # Color gradient end for the tab indicator.
+    # Type: QtColor
+    # c.colors.tabs.indicator.stop = red
+
+    # Color gradient interpolation system for the tab indicator.
+    # Type: ColorSystem
+    # Valid values:
+    #   - rgb: Interpolate in the RGB color system.
+    #   - hsv: Interpolate in the HSV color system.
+    #   - hsl: Interpolate in the HSL color system.
+    #   - none: Don't show a gradient.
+    c.colors.tabs.indicator.system = 'none'
+
+    # Background color of unselected odd tabs.
+    # Type: QtColor
+    c.colors.tabs.odd.bg = background
+
+    # Foreground color of unselected odd tabs.
+    # Type: QtColor
+    c.colors.tabs.odd.fg = foreground
+
+    # Background color of selected even tabs.
+    # Type: QtColor
+    c.colors.tabs.selected.even.bg = blue
+
+    # Foreground color of selected even tabs.
+    # Type: QtColor
+    c.colors.tabs.selected.even.fg = foreground
+
+    # Background color of selected odd tabs.
+    # Type: QtColor
+    c.colors.tabs.selected.odd.bg = blue
+
+    # Foreground color of selected odd tabs.
+    # Type: QtColor
+    c.colors.tabs.selected.odd.fg = foreground
+
+    # Background color for webpages if unset (or empty to use the theme's
+    # color)
+    # Type: QtColor
+    c.colors.webpage.bg = foreground
+
+    if qutewal_dynamic_loading or bool(os.getenv('QUTEWAL_DYNAMIC_LOADING')):
+        import signal
+        import subprocess
+        import prctl
+
+        # start iqutefy to refresh colors on the fly
+        qutewald = subprocess.Popen(
+            [daemon_absolute, colors_absolute],
+            preexec_fn=lambda: prctl.set_pdeathsig(signal.SIGTERM))

+ 45 - 0
qutebrowser/.config/qutebrowser/qutewald.py

@@ -0,0 +1,45 @@
+#!/usr/bin/env python3
+
+import os
+import signal
+import sys
+from pathlib import Path
+
+import daemon
+import psutil
+from daemon.pidfile import PIDLockFile
+from inotify_simple import INotify, flags
+
+
+def cleanup():
+    os.remove(pidfile)
+    sys.exit()
+
+
+pidfile = '/tmp/iqutefy.pid'
+
+# check if pidfile refers to dead process
+# if so, remove it
+if os.path.isfile(pidfile):
+    with open(pidfile) as pf:
+        pid = int(pf.readline())
+    if not psutil.pid_exists(pid):
+        os.remove(pidfile)
+
+with daemon.DaemonContext(
+        detach_process=False,
+        pidfile=PIDLockFile(pidfile),
+        signal_map={signal.SIGTERM: cleanup}):
+    inotify = INotify()
+    watch_flags = flags.CREATE | flags.MODIFY
+    wd = inotify.add_watch(sys.argv[1], watch_flags)
+    process = psutil.Process()
+
+    # inotify iterator runs out immediately
+    while True:
+        for event in inotify.read():
+            os.system('qutebrowser :config-source')
+
+    # kill after qutebrowser exits
+    # not reached on SIGKILL
+    cleanup()