From 703a0c29c887bb83e08634f273a6388e03ec500e Mon Sep 17 00:00:00 2001 From: lara Date: Sat, 13 Nov 2021 02:01:11 +0100 Subject: [PATCH] [qutebrowser] Add config --- config/qutebrowser/.gitignore | 4 + .../qutebrowser/base16_gruvbox_dark_medium.py | 20 + config/qutebrowser/config.py | 378 ++++ config/qutebrowser/css/gruvbox-all-sites.css | 1714 +++++++++++++++++ config/qutebrowser/custom-block.txt | 3 + .../greasemonkey/direct_links_out.js | 332 ++++ .../greasemonkey/disable_autogain.js | 79 + .../greasemonkey/nitter_redirect.js | 15 + config/qutebrowser/local.py.example | 7 + 9 files changed, 2552 insertions(+) create mode 100644 config/qutebrowser/.gitignore create mode 100644 config/qutebrowser/base16_gruvbox_dark_medium.py create mode 100644 config/qutebrowser/config.py create mode 100644 config/qutebrowser/css/gruvbox-all-sites.css create mode 100644 config/qutebrowser/custom-block.txt create mode 100644 config/qutebrowser/greasemonkey/direct_links_out.js create mode 100644 config/qutebrowser/greasemonkey/disable_autogain.js create mode 100644 config/qutebrowser/greasemonkey/nitter_redirect.js create mode 100644 config/qutebrowser/local.py.example diff --git a/config/qutebrowser/.gitignore b/config/qutebrowser/.gitignore new file mode 100644 index 0000000..c0ba2b8 --- /dev/null +++ b/config/qutebrowser/.gitignore @@ -0,0 +1,4 @@ +local.py +qsettings +bookmarks +quickmarks diff --git a/config/qutebrowser/base16_gruvbox_dark_medium.py b/config/qutebrowser/base16_gruvbox_dark_medium.py new file mode 100644 index 0000000..f1238c2 --- /dev/null +++ b/config/qutebrowser/base16_gruvbox_dark_medium.py @@ -0,0 +1,20 @@ +# 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" diff --git a/config/qutebrowser/config.py b/config/qutebrowser/config.py new file mode 100644 index 0000000..8710e9a --- /dev/null +++ b/config/qutebrowser/config.py @@ -0,0 +1,378 @@ +import base16_gruvbox_dark_medium as b16 +from local import GPG_KEY, NOTIF_GRANTS + +# pylint: disable=C0111 +c = c # noqa: F821 pylint: disable=E0602,C0103 +config = config # noqa: F821 pylint: disable=E0602,C0103 + +######## +# Misc # +######## + +config.set("auto_save.session", True) +config.set("colors.webpage.preferred_color_scheme", "dark") +config.set("content.autoplay", False) +config.set("content.default_encoding", "utf-8") +config.set("content.pdfjs", False) +config.set("content.plugins", False) +config.set("downloads.location.directory", "~/dl") +config.set("session.lazy_restore", True) +config.set("tabs.background", True) +config.set("tabs.last_close", "close") +config.set("tabs.mousewheel_switching", False) +config.set("tabs.new_position.unrelated", "next") +config.set("tabs.position", "left") +config.set("tabs.show", "multiple") +config.set("tabs.width", "10%") + +############## +# Privileges # +############## + +# Cookies +config.set("content.cookies.accept", "never", "*://*.medium.com/*") + +# Media capture +config.set("content.media.audio_capture", True, "*://discord.com/*") +config.set("content.media.audio_video_capture", True, "*://discord.com/*") +config.set("content.media.video_capture", True, "*://discord.com/*") + +# Notifications +for pattern in NOTIF_GRANTS: + config.set("content.notifications.enabled", True, pattern) +config.set("content.notifications.enabled", True, "*://app.slack.com/*") +config.set("content.notifications.enabled", True, "*://discord.com/*") +config.set("content.notifications.enabled", False, "*://*.reddit.com/*") + +############ +# Bindings # +############ + +# Hinting +config.bind("F", "hint all tab-bg") +config.bind(";v", "hint links spawn playvideo {hint-url}") +config.bind(";i", "hint images download") + +config.bind("wi", "devtools window") + +# Keepass autotype +config.bind("", + "spawn --userscript qute-keepassxc --key " + GPG_KEY, + mode="insert") +config.bind("pw", + "spawn --userscript qute-keepassxc --key " + GPG_KEY, + mode="normal") + +# Toggle socks proxy +config.bind("gp", + ( + 'config-cycle -t -p content.proxy ' + '"socks://127.0.0.1:8080/" ' + '"system"' + )) + +# Gruvbox dark theme hotswappable on demand +config.bind("", + ( + 'config-cycle -t content.user_stylesheets ' + '"~/.config/qutebrowser/css/gruvbox-all-sites.css" ' + '""' + )) + +############## +# Adblocking # +############## + +config.set("content.blocking.enabled", True) +config.set("content.blocking.method", "adblock") + +config.set( + "content.blocking.adblock.lists", + [ + str(config.configdir) + "/custom-block.txt", + "https://easylist.to/easylist/easylist.txt", + "https://easylist.to/easylist/easyprivacy.txt", + # "https://easylist.to/easylist/fanboy-annoyance.txt", + "https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/filters.txt", + "https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/annoyances.txt", + "https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/badware.txt", + "https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/privacy.txt", + "https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/resource-abuse.txt", + "https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/unbreak.txt", + ], +) + +############### +# Color theme # +############### + +# 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 = b16.base05 + +# Background color of the completion widget for odd rows. +c.colors.completion.odd.bg = b16.base03 + +# Background color of the completion widget for even rows. +c.colors.completion.even.bg = b16.base00 + +# Foreground color of completion widget category headers. +c.colors.completion.category.fg = b16.base0A + +# Background color of the completion widget category headers. +c.colors.completion.category.bg = b16.base00 + +# Top border color of the completion widget category headers. +c.colors.completion.category.border.top = b16.base00 + +# Bottom border color of the completion widget category headers. +c.colors.completion.category.border.bottom = b16.base00 + +# Foreground color of the selected completion item. +c.colors.completion.item.selected.fg = b16.base01 + +# Background color of the selected completion item. +c.colors.completion.item.selected.bg = b16.base0A + +# Top border color of the selected completion item. +c.colors.completion.item.selected.border.top = b16.base0A + +# Bottom border color of the selected completion item. +c.colors.completion.item.selected.border.bottom = b16.base0A + +# Foreground color of the matched text in the selected completion item. +c.colors.completion.item.selected.match.fg = b16.base08 + +# Foreground color of the matched text in the completion. +c.colors.completion.match.fg = b16.base0B + +# Color of the scrollbar handle in the completion view. +c.colors.completion.scrollbar.fg = b16.base05 + +# Color of the scrollbar in the completion view. +c.colors.completion.scrollbar.bg = b16.base00 + +# Background color of the context menu. If set to null, the Qt default is used. +c.colors.contextmenu.menu.bg = b16.base00 + +# Foreground color of the context menu. If set to null, the Qt default is used. +c.colors.contextmenu.menu.fg = b16.base05 + +# Background color of the context menu’s selected item. +# If set to null, the Qt default is used. +c.colors.contextmenu.selected.bg = b16.base0A + +# Foreground color of the context menu’s selected item. +# If set to null, the Qt default is used. +c.colors.contextmenu.selected.fg = b16.base01 + +# Background color for the download bar. +c.colors.downloads.bar.bg = b16.base00 + +# Color gradient start for download text. +c.colors.downloads.start.fg = b16.base00 + +# Color gradient start for download backgrounds. +c.colors.downloads.start.bg = b16.base0D + +# Color gradient end for download text. +c.colors.downloads.stop.fg = b16.base00 + +# Color gradient stop for download backgrounds. +c.colors.downloads.stop.bg = b16.base0C + +# Foreground color for downloads with errors. +c.colors.downloads.error.fg = b16.base08 + +# Font color for hints. +c.colors.hints.fg = b16.base00 + +# Background color for hints. Note that you can use a `rgba(...)` value +# for transparency. +c.colors.hints.bg = b16.base0A + +# Font color for the matched part of hints. +c.colors.hints.match.fg = b16.base05 + +# Text color for the keyhint widget. +c.colors.keyhint.fg = b16.base05 + +# Highlight color for keys to complete the current keychain. +c.colors.keyhint.suffix.fg = b16.base05 + +# Background color of the keyhint widget. +c.colors.keyhint.bg = b16.base00 + +# Foreground color of an error message. +c.colors.messages.error.fg = b16.base00 + +# Background color of an error message. +c.colors.messages.error.bg = b16.base08 + +# Border color of an error message. +c.colors.messages.error.border = b16.base08 + +# Foreground color of a warning message. +c.colors.messages.warning.fg = b16.base00 + +# Background color of a warning message. +c.colors.messages.warning.bg = b16.base0E + +# Border color of a warning message. +c.colors.messages.warning.border = b16.base0E + +# Foreground color of an info message. +c.colors.messages.info.fg = b16.base05 + +# Background color of an info message. +c.colors.messages.info.bg = b16.base00 + +# Border color of an info message. +c.colors.messages.info.border = b16.base00 + +# Foreground color for prompts. +c.colors.prompts.fg = b16.base05 + +# Border used around UI elements in prompts. +c.colors.prompts.border = b16.base00 + +# Background color for prompts. +c.colors.prompts.bg = b16.base00 + +# Background color for the selected item in filename prompts. +c.colors.prompts.selected.bg = b16.base0A + +# Foreground color of the statusbar. +c.colors.statusbar.normal.fg = b16.base0B + +# Background color of the statusbar. +c.colors.statusbar.normal.bg = b16.base00 + +# Foreground color of the statusbar in insert mode. +c.colors.statusbar.insert.fg = b16.base00 + +# Background color of the statusbar in insert mode. +c.colors.statusbar.insert.bg = b16.base0D + +# Foreground color of the statusbar in passthrough mode. +c.colors.statusbar.passthrough.fg = b16.base00 + +# Background color of the statusbar in passthrough mode. +c.colors.statusbar.passthrough.bg = b16.base0C + +# Foreground color of the statusbar in private browsing mode. +c.colors.statusbar.private.fg = b16.base00 + +# Background color of the statusbar in private browsing mode. +c.colors.statusbar.private.bg = b16.base03 + +# Foreground color of the statusbar in command mode. +c.colors.statusbar.command.fg = b16.base05 + +# Background color of the statusbar in command mode. +c.colors.statusbar.command.bg = b16.base00 + +# Foreground color of the statusbar in private browsing + command mode. +c.colors.statusbar.command.private.fg = b16.base05 + +# Background color of the statusbar in private browsing + command mode. +c.colors.statusbar.command.private.bg = b16.base00 + +# Foreground color of the statusbar in caret mode. +c.colors.statusbar.caret.fg = b16.base00 + +# Background color of the statusbar in caret mode. +c.colors.statusbar.caret.bg = b16.base0E + +# Foreground color of the statusbar in caret mode with a selection. +c.colors.statusbar.caret.selection.fg = b16.base00 + +# Background color of the statusbar in caret mode with a selection. +c.colors.statusbar.caret.selection.bg = b16.base0D + +# Background color of the progress bar. +c.colors.statusbar.progress.bg = b16.base0D + +# Default foreground color of the URL in the statusbar. +c.colors.statusbar.url.fg = b16.base05 + +# Foreground color of the URL in the statusbar on error. +c.colors.statusbar.url.error.fg = b16.base08 + +# Foreground color of the URL in the statusbar for hovered links. +c.colors.statusbar.url.hover.fg = b16.base05 + +# Foreground color of the URL in the statusbar on successful load +# (http). +c.colors.statusbar.url.success.http.fg = b16.base0C + +# Foreground color of the URL in the statusbar on successful load +# (https). +c.colors.statusbar.url.success.https.fg = b16.base0B + +# Foreground color of the URL in the statusbar when there's a warning. +c.colors.statusbar.url.warn.fg = b16.base0E + +# Background color of the tab bar. +c.colors.tabs.bar.bg = b16.base00 + +# Color gradient start for the tab indicator. +c.colors.tabs.indicator.start = b16.base0D + +# Color gradient end for the tab indicator. +c.colors.tabs.indicator.stop = b16.base0C + +# Color for the tab indicator on errors. +c.colors.tabs.indicator.error = b16.base08 + +# Foreground color of unselected odd tabs. +c.colors.tabs.odd.fg = b16.base05 + +# Background color of unselected odd tabs. +c.colors.tabs.odd.bg = b16.base03 + +# Foreground color of unselected even tabs. +c.colors.tabs.even.fg = b16.base05 + +# Background color of unselected even tabs. +c.colors.tabs.even.bg = b16.base00 + +# Background color of pinned unselected even tabs. +c.colors.tabs.pinned.even.bg = b16.base0C + +# Foreground color of pinned unselected even tabs. +c.colors.tabs.pinned.even.fg = b16.base07 + +# Background color of pinned unselected odd tabs. +c.colors.tabs.pinned.odd.bg = b16.base0B + +# Foreground color of pinned unselected odd tabs. +c.colors.tabs.pinned.odd.fg = b16.base07 + +# Background color of pinned selected even tabs. +c.colors.tabs.pinned.selected.even.bg = b16.base05 + +# Foreground color of pinned selected even tabs. +c.colors.tabs.pinned.selected.even.fg = b16.base00 + +# Background color of pinned selected odd tabs. +c.colors.tabs.pinned.selected.odd.bg = b16.base05 + +# Foreground color of pinned selected odd tabs. +c.colors.tabs.pinned.selected.odd.fg = b16.base0E + +# Foreground color of selected odd tabs. +c.colors.tabs.selected.odd.fg = b16.base00 + +# Background color of selected odd tabs. +c.colors.tabs.selected.odd.bg = b16.base05 + +# Foreground color of selected even tabs. +c.colors.tabs.selected.even.fg = b16.base00 + +# Background color of selected even tabs. +c.colors.tabs.selected.even.bg = b16.base05 + +# Background color for webpages if unset (or empty to use the theme's +# color). +# c.colors.webpage.bg = b16.base00 diff --git a/config/qutebrowser/css/gruvbox-all-sites.css b/config/qutebrowser/css/gruvbox-all-sites.css new file mode 100644 index 0000000..5e217e2 --- /dev/null +++ b/config/qutebrowser/css/gruvbox-all-sites.css @@ -0,0 +1,1714 @@ +/* https://github.com/alphapapa/solarized-everything-css */ + +* { + border-color: #fabd2f !important; +} +a { + color: #458588 !important; +} +a:visited { + color: #d3869b !important; +} +body { + background-color: #282828 !important; + color: #83a598 !important; +} +html { + background-color: #282828 !important; +} +input, +textarea { + background-color: #3c3836 !important; + color: #83a598 !important; +} +blockquote, +pre { + background-color: #3c3836 !important; + color: #83a598 !important; +} +.post-actions { + background-color: #3c3836 !important; +} +.textarea-wrapper { + background-color: #282828 !important; + color: #83a598 !important; +} +.search--adv { + background-color: #3c3836 !important; +} +.search__autocomplete > .acp-wrap { + background-color: #282828 !important; +} +.search__autocomplete > .acp-wrap > .acp--highlight { + background-color: #3c3836 !important; + color: #a89984 !important; +} +.search__autocomplete > .acp-wrap strong { + color: #a89984 !important; +} +.site-wrapper > #header_wrapper { + background-color: #282828 !important; +} +.site-wrapper > #header_wrapper > #header { + background-color: #282828 !important; +} +.search--header { + background-color: #3c3836 !important; +} +.zci { + background-color: #3c3836 !important; + color: #83a598 !important; +} +.tile--info { + background-color: #282828 !important; +} +.tile--info__expand { + background-color: #b8bb26 !important; +} +.tile--c { + background-color: #b8bb26 !important; + color: #a89984 !important; +} +.module__text { + color: #83a598 !important; +} +.about-info-box__heading { + color: #8ec07c !important; +} +.result.highlight { + background-color: #3c3836 !important; +} +.result__snippet { + color: #83a598 !important; +} +.result__snippet b { + color: #8ec07c !important; +} +.btn--top { + background-color: #3c3836 !important; + color: #83a598 !important; +} +.btn--top:hover { + background-color: #b8bb26 !important; +} +.result--sep--hr:before { + background-color: #b8bb26 !important; +} +* { + border-color: #3c3836 !important; +} +.news .alert .pull-info { + background-color: #403c3a !important; +} +.link-gray-dark, +.text-gray-dark { + color: #83a598 !important; +} +.bg-white { + background-color: #282828 !important; +} +.border { + border-color: #fabd2f !important; +} +.breadcrumb .repo-root.js-repo-root a { + color: #458588 !important; +} +.breadcrumb strong.final-path { + color: #83a598 !important; +} +button.ajax-pagination-btn { + background-color: #3c3836 !important; + color: #8ec07c !important; +} +button.ajax-pagination-btn:hover { + background-color: #b8bb26 !important; +} +.comment-reactions .btn-link { + color: #83a598 !important; +} +.comment-reactions .user-has-reacted { + background-color: #3c3836 !important; +} +.text-gray-dark { + color: #83a598 !important; +} +.contrib-number { + color: #8ec07c !important; +} +.counter { + background-color: #44403e !important; + color: #8ec07c !important; +} +.diffstat-bar { + color: #83a598 !important; +} +.file-header { + background-color: #3c3836 !important; +} +.file-history-tease .participation { + background-color: #282828 !important; + color: #83a598 !important; +} +.file-history-tease .participation .quickstat strong { + color: #83a598 !important; +} +.file-history-tease .participation a { + color: #b8bb26 !important; +} +.file-history-tease .author a { + color: #83a598 !important; +} +.file-history-tease-header { + background-color: #3c3836 !important; +} +.file-info-divider { + background-color: #b8bb26 !important; +} +.file-wrap { + color: #83a598 !important; +} +.file-wrap * { + background-color: transparent !important; +} +.filter-bar { + background-color: #403c3a !important; +} +a.filter-item, +.filter-item { + color: #83a598 !important; +} +a.filter-item.selected, +.filter-item.selected { + background-color: #3c3836 !important; + color: #8ec07c !important; +} +a.filter-item:hover, +.filter-item:hover { + background-color: #b8bb26 !important; + color: #8ec07c !important; +} +.flash { + background-color: #3c3836 !important; + color: #8ec07c !important; +} +.gh-header { + background-color: #282828 !important; +} +.gh-header-number { + color: #b8bb26 !important; +} +.ellipsis-expander, +.hidden-text-expander a { + background-color: #3c3836 !important; +} +.issue-meta { + color: #b8bb26 !important; +} +.issues-listing a { + color: #83a598 !important; +} +.muted-link { + color: #83a598 !important; +} +.new-user-avatar-cta { + background-color: #3c3836 !important; + border-color: #b8bb26 !important; + color: #8ec07c !important; +} +.overall-summary { + border-color: #b8bb26 !important; +} +.pinned-repo-item.border { + border-color: #b8bb26 !important; +} +.progress-bar { + background-color: #b8bb26 !important; +} +.simple-box { + background-color: #3c3836 !important; +} +.social-count { + background-color: #3c3836 !important; + border-color: #b8bb26 !important; + color: #8ec07c !important; +} +.scope-badge { + background-color: #b8bb26 !important; + color: #8ec07c !important; +} +.stats-switcher-wrapper { + background-color: #282828 !important; +} +.stats-switcher-wrapper .numbers-summary li a { + color: #83a598 !important; +} +.table-list-header-toggle .btn-link { + color: #b8bb26 !important; +} +.table-list-header-toggle .btn-link.selected { + color: #83a598 !important; +} +.text-emphasized { + color: #8ec07c !important; +} +.text-diff-added { + color: #98971a !important; +} +.text-diff-deleted { + color: #cc241d !important; +} +.avatar, +.timeline-comment-avatar { + filter: opacity(75%); +} +.blob-code { + background-color: #282828 !important; + color: #83a598 !important; +} +.blob-code-addition { + background-color: rgba(231,230,113,0.1) !important; +} +.blob-code-addition .x { + background-color: #727113 !important; + color: #c1d2cb !important; +} +.blob-code-deletion { + background-color: rgba(204,36,29,0.2) !important; +} +.blob-code-deletion .x { + background-color: #66120f !important; + color: #c1d2cb !important; +} +.blob-code-hunk { + background-color: #3c3836 !important; + border-color: #b8bb26 !important; +} +.blob-code-inner { + color: #83a598 !important; +} +.blob-num { + background-color: #282828 !important; + color: #b8bb26 !important; +} +.file { + color: #83a598 !important; +} +.form-control { + background-color: #3c3836 !important; + border-color: #b8bb26 !important; +} +.pl-c { + color: #b8bb26 !important; +} +.pl-c1 { + color: #458588 !important; +} +.pl-e { + color: #d79921 !important; +} +.pl-en { + color: #458588 !important; +} +.pl-k { + color: #98971a !important; + font-weight: bold !important; +} +.pl-pds { + color: #689d6a !important; +} +.pl-s { + color: #689d6a !important; +} +.pl-smi { + color: #83a598 !important; +} +.pl-v { + color: #98971a !important; + font-weight: bold !important; +} +.pl-mi1 { + color: #98971a !important; + background-color: transparent !important; +} +.pl-md { + color: #cc241d !important; + background-color: transparent !important; +} +.border-bottom, +.border-top { + border-color: #3c3836 !important; +} +.boxed-group * { + border-color: #b8bb26 !important; +} +.boxed-group article { + background-color: #282828 !important; + color: #83a598 !important; +} +.boxed-group > h3 { + background-color: #44403e !important; + color: #8ec07c !important; +} +.more-repos { + background-color: #44403e !important; + box-shadow: inset 0 1px 0 #b8bb26 !important; +} +.boxed-group-inner { + background-color: #282828 !important; +} +.branch-action-body { + background-color: #3c3836 !important; + border-color: #b8bb26 !important; +} +.branch-action-body div { + border-color: #b8bb26 !important; +} +.branch-action-state-clean .branch-action-icon { + background-color: #98971a !important; +} +.branch-action-state-dirty .branch-action-icon, +.branch-action-state-unstable .branch-action-icon, +.branch-action-state-unknown .branch-action-icon { + background-color: #d79921 !important; + color: #fff !important; +} +.text-shadow-light, +.branch-group-name, +.branch-summary { + color: #83a598 !important; + text-shadow: none !important; +} +.branch-a-b-count .meter { + background-color: #d79921 !important; +} +.more-branches, +.branch-group-heading, +.branch-infobar, +.branch-name { + border-color: #b8bb26 !important; + background-color: #3c3836 !important; +} +.State, +.State:visited { + color: #fff !important; +} +.State--red { + background-color: #cc241d !important; + color: #282828 !important; +} +.State--green { + background-color: #98971a !important; + color: #282828 !important; +} +.select-menu-filters { + background-color: #403c3a !important; + color: #8ec07c !important; +} +.js-select-menu-tab { + background-color: #44403e !important; + color: #8ec07c !important; +} +.select-menu-tabs a.selected, +.select-menu-tab-nav.selected { + background-color: #b8bb26 !important; + color: #282828 !important; +} +.signed-commit-header { + background-color: #282828 !important; +} +.build-status-item { + background-color: #44403e !important; + color: #8ec07c !important; +} +.build-status-item .build-status-details { + color: #458588 !important; +} +.capped-card h3 { + background-color: #44403e !important; +} +.capped-card h3 a { + color: #8ec07c !important; +} +.capped-card-content { + background-color: #282828 !important; +} +.capped-list th { + background-color: #403c3a !important; + color: #8ec07c !important; +} +.capped-list tr:nth-child(2n) { + background-color: #3c3836 !important; +} +.commit, +.commit-meta, +.commit-icon .octicon, +.commit-group-title .octicon-git-commit { + background-color: #282828 !important; +} +.commit *, +.commit-meta *, +.commit-icon .octicon *, +.commit-group-title .octicon-git-commit * { + border-color: #b8bb26 !important; +} +.commit-author { + color: #83a598 !important; +} +.commit-author-section { + color: #83a598 !important; +} +.commit-meta { + color: #b8bb26 !important; +} +.commit-meta .sha-block { + color: #b8bb26 !important; +} +.commit-meta .sha-block .sha { + color: #83a598 !important; +} +.commit-ref, +code.commit-sha { + background-color: #3c3836 !important; + color: #8ec07c !important; +} +.commit-ref .user, +code.commit-sha .user { + color: #689d6a !important; +} +.commit-branches *, +.commit-tease, +.commit-title { + background-color: rgba(185,255,255,0.2) !important; + border: none !important; +} +.commit-branches * *, +.commit-tease *, +.commit-title * { + color: #8ec07c !important; +} +.commit-tease-contributors { + background-color: #3c3836 !important; +} +div.commit-branches, +div.commit.full-commit p.commit-title, +qul.branches-list { + background-color: #3c3836 !important; + color: #8ec07c !important; +} +div.commit-branches *, +div.commit.full-commit p.commit-title *, +qul.branches-list * { + background-color: #3c3836 !important; + color: #8ec07c !important; +} +.commit-meta { + background-color: #3c3836 !important; + color: #83a598 !important; +} +.commits-listing:before { + background-color: #3c3836 !important; +} +.full-commit { + background-color: #3c3836 !important; + border-color: #b8bb26 !important; +} +.full-commit * { + text-shadow: none !important; +} +.commit-desc pre { + background-color: transparent !important; + color: #83a598 !important; +} +.commit.table-list-item { + border-color: #3c3836 !important; +} +.commit-meta.commit-author-section { + background-color: transparent !important; + color: #83a598 !important; +} +.table-list-cell .commit-title { + background-color: transparent !important; + color: #83a598 !important; +} +.completeness-indicator-success { + background-color: #98971a !important; +} +.completeness-indicator-problem { + background-color: #d79921 !important; + color: #fff !important; +} +.copyable-terminal { + background-color: #3c3836 !important; +} +.blankslate { + background-color: #3c3836 !important; + color: #8ec07c !important; +} +.comment-form-head.tabnav { + background-color: #282828 !important; +} +.conversation-list-heading .inner { + background-color: #282828 !important; +} +.discussion-item-closed .discussion-item-icon { + background-color: #cc241d !important; + color: #8ec07c !important; +} +.discussion-item-icon { + background-color: #b8bb26 !important; + color: #8ec07c !important; +} +.discussion-item-icon.octicon { + color: #8ec07c !important; +} +.discussion-item-entity, +.discussion-item .renamed-was, +.discussion-item .renamed-is { + color: #8ec07c !important; +} +.discussion-timeline:before { + background-color: #fabd2f !important; +} +.discussion-timeline-actions { + background-color: #282828 !important; +} +.drag-and-drop { + background-color: #3c3836 !important; +} +.new-discussion-timeline .closed-banner { + background-color: #fabd2f !important; + border-color: #282828 !important; +} +.timeline-comment { + background-color: #282828 !important; + border-color: #b8bb26 !important; +} +.timeline-comment-header { + background-color: #3c3836 !important; +} +.timeline-comment-wrapper { + border-color: #282828 !important; +} +.donut-chart > .pending { + fill: #d79921 !important; +} +.dropdown-divider { + background-color: #fabd2f !important; +} +.dropdown-item { + color: #83a598 !important; +} +.dropdown-item:hover { + background-color: #b8bb26 !important; + color: #8ec07c !important; +} +.dropdown-menu { + background-color: #44403e !important; + color: #8ec07c !important; + border-color: #fabd2f !important; +} +.files * { + color: #83a598 !important; +} +.files tbody tr { + border-color: #3c3836 !important; +} +.files tbody tr:nth-child(even) { + background-color: #2c2c2c !important; +} +.files tbody tr:nth-child(odd) { + background-color: #282828 !important; +} +.files tbody tr:hover * { + background-color: #44403e !important; +} +.btn { + background-image: linear-gradient(to bottom, #b8bb26, #3c3836) !important; + border-color: #b8bb26 !important; + color: #8ec07c !important; +} +.btn:hover { + background-color: #403c3a !important; +} +.btn-primary, +.issues-listing .btn-primary { + background-color: #98971a !important; + background-image: linear-gradient(#98971a, #4c4c0d) !important; + color: #000 !important; + filter: opacity(62.5%); +} +.entry-title a { + color: #458588 !important; +} +.Header { + background-color: #403c3a !important; + border-bottom-color: #b8bb26 !important; +} +.Header a { + color: #8ec07c !important; +} +.lang { + color: #8ec07c !important; +} +.reponav-item, +.pagehead-tabs-item { + background-color: #3c3836 !important; + border-color: transparent !important; + color: #83a598 !important; +} +.reponav-item:visited, +.pagehead-tabs-item:visited { + color: #83a598 !important; +} +.reponav-item.selected, +.pagehead-tabs-item.selected { + background-color: #282828 !important; + border-color: #cc241d #44403e transparent !important; +} +.site-footer-links * { + color: #83a598 !important; +} +.Box-row--focus-gray.navigation-focus { + background-color: #403c3a !important; + color: #8ec07c !important; +} +.js-directory-link { + color: #458588 !important; +} +.js-site-search-form input, +.js-chromeless-input-container { + background-color: #282828 !important; + border-color: #b8bb26 !important; +} +a.label { + color: #000 !important; + filter: opacity(75%); +} +.notifications-list a { + color: #83a598 !important; +} +.notifications-list li { + background-color: #282828 !important; +} +.octicon-repo { + color: #8ec07c !important; +} +.type-icon-state-closed { + color: rgba(255,34,23,0.65) !important; +} +.type-icon-state-merged { + color: #d3869b !important; +} +.type-icon-state-open { + color: rgba(212,211,18,0.65) !important; +} +.octicon-alert { + color: #fff !important; +} +.octicon-x { + color: #cc241d !important; +} +.octicon-check { + color: #98971a !important; +} +.octicon-primitive-dot { + color: #d79921 !important; +} +.octicon-clippy { + color: #8ec07c !important; +} +.octicon-diff { + color: #fff !important; +} +.octicon-markdown { + color: #b8bb26 !important; +} +.orghead { + background-color: #3c3836 !important; + border-color: #fabd2f !important; + border-bottom: 0px !important; + color: #8ec07c !important; +} +.org-name { + color: #8ec07c !important; +} +.pagehead.orghead { + background-color: #3c3836 !important; +} +.outline-box-highlighted { + background-color: #3c3836 !important; + color: #8ec07c !important; +} +.pagination .current { + background-color: #b8bb26 !important; + color: #8ec07c !important; +} +.pagination .disabled { + background-color: #3c3836 !important; + color: #b8bb26 !important; +} +.pagination .disabled:hover { + background-color: #3c3836 !important; +} +.pagination .gap { + background-color: #3c3836 !important; + color: #b8bb26 !important; +} +.pagination a { + background-color: #3c3836 !important; + border-color: #282828 !important; + color: #83a598 !important; +} +.pagination a:hover { + background-color: #b8bb26 !important; + color: #282828 !important; +} +.empty-cell, +.diffbar { + background-color: #282828 !important; +} +.merge-status-item { + background-color: #44403e !important; +} +.merge-message { + background-color: #403c3a !important; +} +.pr-toolbar { + background-color: #282828 !important; +} +.review-thread-reply { + background-color: #3c3836 !important; +} +.review-thread-reply .inline-comment-form { + background-color: #282828 !important; +} +.merged.octicon, +.octicon-git-merge { + color: #d3869b !important; +} +.uploaded-files { + background-color: #282828 !important; +} +.upload-progress { + background-color: #3c3836 !important; + box-shadow: 1px 0px 0px #3c3836 inset; +} +#readme .plain { + background-color: #282828 !important; +} +.markdown-body, +.markdown-body table * { + background-color: #282828 !important; + border-color: #fabd2f !important; + color: #83a598 !important; +} +.markdown-body a, +.markdown-body table * a { + color: #458588 !important; +} +.markdown-body code, +.markdown-body table * code, +.markdown-body pre, +.markdown-body table * pre { + background-color: #3c3836 !important; +} +.markdown-body hr, +.markdown-body table * hr { + background-color: #b8bb26 !important; +} +.markdown-body img, +.markdown-body table * img { + background-color: #282828 !important; +} +.task-list-item.hovered { + background-color: #3c3836 !important; +} +.range-editor { + background-color: #3c3836 !important; +} +.compare-pr-placeholder { + background-color: #403c3a !important; +} +ul.comparison-list > li.title { + background-color: #44403e !important; +} +ul.comparison-list { + background-color: #403c3a !important; +} +.repository-description { + color: #83a598 !important; +} +.repository-meta .edit-repository-meta label { + color: #83a598 !important; +} +.pagehead.repohead { + background-color: #3c3836 !important; +} +.repository-content .RecentBranches { + background-color: #3c3836 !important; + border-color: #fabd2f !important; +} +.repohead-details-container a { + color: #83a598 !important; +} +.select-menu-modal { + border-color: #83a598 !important; +} +.select-menu-modal * { + color: #83a598 !important; +} +.select-menu-header, +.select-menu-header * { + background-color: #3c3836 !important; + color: #8ec07c !important; + text-shadow: none !important; +} +.select-menu-item { + background-color: #282828 !important; +} +.select-menu-item.navigation-focus, +.select-menu-item.navigation-focus.selected, +.select-menu-item.navigation-focus.select-menu-action, +.select-menu-item-text.navigation-focus { + background-color: #b8bb26 !important; + color: #8ec07c !important; +} +.repository-sidebar { + background-color: #282828 !important; +} +.thread-subscription-status { + background-color: #282828 !important; +} +.sunken-menu { + background-image: linear-gradient(to right, #3c3836 0%, #282828 8px) !important; + box-shadow: 1px 0px 0px #3c3836 inset; +} +.sunken-menu:before { + background-image: linear-gradient(#282828, transparent) !important; +} +.sunken-menu:after { + background-image: linear-gradient(transparent, #282828) !important; +} +.sunken-menu-item { + border-color: #282828 !important; +} +.sunken-menu-item.selected { + background-color: #282828 !important; + border-color: #44403e !important; + color: #8ec07c !important; +} +.sunken-menu-item.selected:after { + background-color: #fb4934 !important; +} +.sunken-menu-separator:before { + background-image: linear-gradient(to right, #3c3836 70%, #282828 100%) !important; +} +.state { + color: #8ec07c !important; +} +.state-closed { + background-color: #cc241d !important; +} +.state-open { + background-color: #98971a !important; +} +.subnav-item { + color: #83a598 !important; +} +.subnav-item:hover { + background-color: #403c3a !important; +} +.subnav-item:visited { + color: #83a598 !important; +} +.subnav-item.selected { + background-color: #3c3836 !important; +} +.subnav-links a:hover { + background-color: #3c3836 !important; +} +.subnav-search input { + border-color: #b8bb26 !important; +} +.right .tabnav-extra { + color: #b8bb26 !important; +} +a.tabnav-tab, +.tabnav-tab { + border-color: transparent !important; + color: #b8bb26 !important; +} +a.tabnav-tab.selected, +.tabnav-tab.selected { + background-color: #282828 !important; + background-image: linear-gradient(#3c3836, #282828) !important; + border-color: #fabd2f !important; + color: #8ec07c !important; +} +.table-list tr, +.table-list li { + background-color: #282828 !important; +} +.table-list tr:hover, +.table-list li:hover { + background-color: #44403e !important; +} +.table-list-header { + background-color: #3c3836 !important; +} +.text-pending { + color: #d79921 !important; +} +.text-pending .octicon-primitive-dot { + color: #d79921 !important; +} +.text-red { + color: #cc241d !important; +} +.timeline-commits .commit-meta { + background-color: #282828 !important; +} +.timeline-commits .commit-meta .commit-id { + color: #b8bb26 !important; +} +.topic-tag.topic-tag-link { + background-color: #3c3836 !important; + color: #83a598 !important; +} +.underline-nav-item { + color: #83a598 !important; +} +.underline-nav-item.selected { + border-bottom-color: #cc241d !important; + color: #83a598 !important; +} +.user-profile-nav { + background-color: #3c3836 !important; + border-color: #fabd2f !important; +} +.user-profile-sticky-bar:after { + background-color: #3c3836 !important; + border-color: #fabd2f !important; +} +.graphs .area { + fill: #98971a; +} +.summary-stats li .num { + color: #8ec07c !important; +} +.viz { + background-color: #403c3a !important; +} +.facebox-popup { + color: #83a598 !important; + background-color: #282828 !important; +} +.facebox-popup .octicon { + color: #fff !important; +} +.facebox-popup .owner-select-target { + color: #83a598 !important; + background-color: #3c3836 !important; +} +.facebox-popup .owner-select-target:hover { + background-color: #b8bb26 !important; +} +.suggester { + background-color: #44403e !important; +} +.suggester li.navigation-focus { + background-color: #b8bb26 !important; +} +.menu { + background-color: #3c3836 !important; +} +.menu-item.selected { + background-color: #44403e !important; +} +.menu-item:hover { + background-color: #b8bb26 !important; +} +.Box { + background-color: #282828 !important; +} +.Box-header { + background-color: #3c3836 !important; +} +svg > * text { + color: #83a598 !important; + fill: #83a598 !important; +} +.insertions { + color: #98971a !important; +} +.deletions { + color: #cc241d !important; +} +.sfbgg { + background-color: #3c3836 !important; +} +.sbib_a { + background: linear-gradient(to bottom, #3c3836, #282828) !important; +} +input#lst-ib, +#sb_ifc0.sbib_b, +#gs_taif0 { + background: transparent !important; +} +#lst-ib, +.sbsb_a { + background-color: #282828 !important; +} +.kpbb { + background-image: linear-gradient(to bottom, #67afb2, #458588) !important; +} +#hdtbSum { + background-color: #282828 !important; +} +#hdtbMenus.hdtb-td-o { + background-color: #282828 !important; +} +#hdtb-tls.hdtb-tl { + background-image: linear-gradient(to bottom, #282828, #3c3836) !important; +} +#hdtb-tls.hdtb-tl.hdtb-tl-sel { + background-image: linear-gradient(to bottom, #3c3836, #282828) !important; +} +#abar_button_opt.ab_button { + background: linear-gradient(to bottom, #282828, #3c3836) !important; +} +#appbar { + background-color: #282828 !important; +} +cite { + color: #98971a !important; +} +.ab_dropdown { + background-color: #282828 !important; +} +div.crp { + background-color: #282828 !important; +} +#fbar { + background-color: #3c3836 !important; +} +tr.Even { + background-color: #3c3836 !important; +} +.BigQuote { + background-color: #3c3836 !important; + color: #fb4934 !important; +} +.Cat1HL { + background-color: #b8bb26 !important; + color: #8ec07c !important; +} +.Cat2HL { + background-color: #44403e !important; +} +.Cat3HL { + background-color: #403c3a !important; +} +.FeatureByline { + background-color: #3c3836 !important; + border: none !important; +} +.Headline { + background-color: #44403e !important; +} +.QuotedText { + color: #d3869b !important; +} +DIV.GAByline { + background-color: #3c3836 !important; + border: none !important; +} +table.OddEven tr:nth-child(even) { + background-color: #2c2c2c !important; +} +table.OddEven tr:nth-child(odd) { + background-color: #282828 !important; +} +DIV.CommentBox { + border-color: #3c3836 !important; +} +DIV.CommentBox P.CommentTitle { + background-color: #44403e !important; +} +#menu, +.topnav-container { + background-color: #3c3836 !important; +} +.navmenu ul { + background-color: #3c3836 !important; +} +body * { + border-color: #44403e !important; +} +#content { + background-color: #282828 !important; + color: #83a598 !important; +} +#mw-head, +#mw-panel { + background-color: #3c3836 !important; + color: #8ec07c !important; +} +#mw-head div.portal, +#mw-panel div.portal { + background-image: none !important; +} +#mw-head { + background-color: #3c3836 !important; + background-image: linear-gradient(to bottom, #282828, #3c3836) !important; +} +#mw-panel, +#p-logo { + background-image: linear-gradient(to right, #282828, #3c3836) !important; +} +div.vectorTabs { + background-image: linear-gradient(to bottom, #282828, #3c3836) !important; +} +div.vectorTabs ul { + background-image: linear-gradient(to bottom, #282828, #3c3836) !important; +} +div.vectorTabs ul li { + background-color: #3c3836 !important; + background-image: none !important; + padding: 0px 1px 0px 1px !important; +} +div.vectorTabs span { + background-color: #3c3836 !important; + background-image: linear-gradient(to bottom, #282828, #3c3836) !important; +} +div.vectorTabs li.selected, +div.vectorTabs li.selected span { + background-color: transparent !important; + background-image: linear-gradient(to bottom, #3c3836, #282828) !important; +} +.mw-wiki-logo { + filter: opacity(50%); +} +div#simpleSearch #searchInput { + background-color: #282828 !important; + padding: 0.05em 0px 0.2em 0.2em !important; +} +.ambox, +.infobox, +#toc, +#toctitle, +.toclevel-1 { + background-color: #3c3836 !important; + border-color: #44403e !important; + color: #8ec07c !important; +} +.catlinks { + background-color: #3c3836 !important; + border-color: #44403e !important; + color: #8ec07c !important; +} +.navbox { + background-color: #3c3836 !important; + border-color: #44403e !important; + color: #8ec07c !important; +} +.navbox .th, +.navbox .navbox-title { + background-color: #44403e !important; +} +.navbox-abovebelow, +th.navbox-group, +.navbox-subgroup, +.navbox-title { + background-color: #403c3a !important; +} +.navbox-even { + background-color: #282828 !important; +} +h1, +h2, +h3, +h4, +h5, +h6 { + border-color: #44403e !important; + color: #8ec07c !important; +} +code { + background-color: #44403e !important; + border-color: #44403e !important; + color: #8ec07c !important; +} +div.thumbinner { + background-color: #3c3836 !important; + border-color: #44403e !important; +} +img { + filter: opacity(75%); +} +img.thumbimage { + border-color: #44403e !important; +} +.mw-body .external { + opacity: 0.5 !important; +} +table.wikitable { + background-color: #282828 !important; + border-color: #44403e !important; + color: #83a598 !important; +} +table.wikitable > * > tr > th { + background-color: #3c3836 !important; +} +table { + background-color: #282828 !important; +} +#hnmain > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(1) > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(1) > table, +#hnmain > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(1) > table { + background-color: #fb4934 !important; +} +#hnmain > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(1) > tbody:nth-child(1) > tr:nth-child(1) a, +#hnmain > tbody:nth-child(1) > tr:nth-child(1) a { + color: #000 !important; +} +#hnmain > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(1) > tbody:nth-child(1) > tr:nth-child(2), +#hnmain > tbody:nth-child(1) > tr:nth-child(2) { + background-color: #282828 !important; +} +#hnmain > tbody:nth-child(1) > tr:nth-child(2) { + background-color: #282828 !important; +} +.title a { + color: #83a598 !important; +} +.title a:visited { + color: #b8bb26 !important; +} +a.storylink { + color: #8ec07c !important; + font-weight: bold; +} +.sitestr { + color: #458588 !important; +} +#hnmain > tbody:nth-child(1) > tr:nth-child(3) > td:nth-child(1) { + background-color: #282828 !important; +} +#hnmain .comhead { + color: #8ec07c !important; +} +#hnmain .c00 { + color: #83a598 !important; +} +#hnmain a.hnuser { + color: #d79921 !important; +} +#hnmain span.age a { + color: #b8bb26 !important; +} +.cdd { + color: rgba(255,34,23,0.65) !important; +} +.comment i { + color: #d3869b !important; +} +#hnmain > tbody:nth-child(1) > tr:nth-child(4) { + background-color: #282828 !important; +} +#hnmain > tbody:nth-child(1) > tr:nth-child(4) > td:nth-child(1) > table:nth-child(2) > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(1) { + background-color: #fb4934 !important; +} +div#page div#header { + background-color: #282828 !important; +} +div#page div#header a { + color: #d3869b !important; +} +.post { + background-color: #282828 !important; +} +.post * { + overflow: auto !important; +} +.post h2 { + background-color: #3c3836 !important; +} +.post h2 a { + color: #8ec07c !important; +} +.post div.entry { + background-color: #282828 !important; + color: #83a598 !important; +} +.post div.entry blockquote { + background-color: #3c3836 !important; +} +.post div.entry kbd { + background-color: #3c3836 !important; + border-color: #b8bb26 !important; + box-shadow: none !important; + color: #8ec07c !important; + text-shadow: 0px 1px 0px #000 !important; +} +.post pre.mode-line { + overflow: visible !important; +} +#sr-header-area { + background-color: #3c3836 !important; +} +#sr-header-area .srdrop .selected { + color: #83a598 !important; +} +#sr-header-area #sr-more-link { + background-color: #3c3836 !important; +} +.link.promotedlink.promoted { + background-color: #3c3836 !important; +} +.link .usertext .md { + background-color: #3c3836 !important; +} +.linkinfo { + background-color: #3c3836 !important; +} +.linklisting .odd { + background-color: #3c3836 !important; +} +.thing .title { + color: #83a598 !important; +} +div.md { + color: #83a598 !important; +} +body.comment { + background-color: #282828 !important; +} +.commentarea > .usertext { + background-color: #282828 !important; +} +.commentarea .menuarea { + background-color: #282828 !important; +} +.comments-page .panestack-title { + background-color: #282828 !important; +} +.listing-chooser { + background-color: #282828 !important; +} +.listing-chooser .intro { + background-color: #b8bb26 !important; + color: #8ec07c !important; +} +.listing-chooser .grippy { + background-color: #282828 !important; +} +.listing-chooser .grippy:after { + border-right: none !important; +} +.listing-chooser li { + background-color: #3c3836 !important; +} +.listing-chooser li.selected { + background-color: #b8bb26 !important; + box-shadow: none; +} +.listing-chooser li a { + color: #83a598 !important; +} +.listing-chooser li a .description { + color: #8ec07c !important; +} +.titlebox { + background-color: #3c3836 !important; +} +.titlebox form.toggle { + background-color: #3c3836 !important; + color: #83a598 !important; +} +.side .usertext-body .md { + background-color: #3c3836 !important; +} +.side { + background-color: #3c3836 !important; +} +.sidebox .spacer { + background-color: #3c3836 !important; + color: #8ec07c !important; +} +.tabmenu li a { + background-color: #3c3836 !important; +} +#header-bottom-right { + background-color: #3c3836 !important; +} +.morelink .nub { + background-color: #3c3836 !important; +} +* { + border-color: #fabd2f !important; +} +a { + color: #458588 !important; +} +a:visited { + color: #d3869b !important; +} +body { + background-color: #282828 !important; + color: #83a598 !important; +} +html { + background-color: #282828 !important; +} +input, +textarea { + background-color: #3c3836 !important; + color: #83a598 !important; +} +tr:hover, +blockquote, +pre { + background-color: #3c3836 !important; + color: #83a598 !important; +} +#toolMenu li { + background-color: #282828 !important; +} +.navPanel, +.navIntraTool { + background-color: #282828 !important; +} +.instruction, +.sakaiCopyrightInfo { + color: #83a598 !important; +} +.listHier th { + background-color: #44403e !important; +} +ul.makeMenu { + background-color: #44403e !important; + border: 1px solid #44403e !important; +} +tr.external { + background-color: #44403e !important; +} +hr { + background-color: #44403e !important; + color: #44403e !important; +} +.bounty-indicator, +.bounty-indicator-tab { + background-color: #d3869b !important; +} +.bottom-notice { + background-color: #3c3836 !important; +} +.comments-link { + color: #98971a !important; +} +.page-numbers { + background-color: #98971a !important; + color: #a89984 !important; +} +.page-numbers.current { + background-color: #fb4934 !important; + color: #282828 !important; +} +.post-menu a { + color: #d3869b !important; +} +.question-status { + background-color: #3c3836 !important; +} +.bg-black-050 { + background-color: transparent !important; +} +.val-info { + background-color: transparent !important; + color: #83a598 !important; +} +.s-label { + color: #83a598 !important; +} +pre code { + background-color: #3c3836 !important; + color: #8ec07c !important; +} +pre code .atn { + color: #458588 !important; +} +pre code .atv { + color: #689d6a !important; +} +pre code .com { + color: #b8bb26 !important; +} +pre code .kwd { + color: #98971a !important; +} +pre code .lit { + color: #b16286 !important; +} +pre code .pln, +pre code .pun { + color: #83a598 !important; +} +pre code .str { + color: #689d6a !important; +} +pre code .tag { + color: #98971a !important; +} +pre code .typ { + color: #d79921 !important; +} +#footer { + background-color: #403c3a !important; + color: #83a598 !important; +} +#footer #footer-sites th { + color: #8ec07c !important; +} +.top-footer-links a { + color: #98971a !important; +} +.so-header { + background-color: #44403e !important; + color: #8ec07c !important; +} +.so-header a { + color: #98971a !important; +} +.so-header .navigation .-list .-item :hover { + background-color: #98971a !important; + color: #ebdbb2 !important; +} +.topbar-dialog { + background-color: #282828 !important; + box-shadow: #b8bb26 5px 5px 5px; +} +.topbar-dialog .current-site-container { + background-color: #282828 !important; +} +.topbar-dialog .header { + background-color: #3c3836 !important; +} +.topbar-dialog .header a { + color: #8ec07c !important; +} +.topbar-dialog .site-link { + color: #8ec07c !important; +} +#header { + background-color: #44403e !important; +} +#question-header .question-hyperlink { + color: #8ec07c !important; +} +#hlogo a { + filter: opacity(75%); +} +.new-post-activity { + background-color: #3c3836 !important; +} +.tagged-interesting { + background-color: #44403e !important; +} +div.answered-accepted { + background-color: #98971a !important; + color: #a89984 !important; +} +div.answered-accepted .mini-counts { + background-color: #98971a !important; + color: #a89984 !important; +} +.answered .mini-counts span { + color: #98971a !important; +} +.unanswered .mini-counts span { + color: #83a598 !important; +} +#hot-network-questions a { + color: #689d6a !important; +} +#hot-network-questions h4 a.js-gps-track { + color: #8ec07c !important; +} +#sidebar .community-bulletin .bulletin-item-content a { + color: #8ec07c !important; +} +#sidebar .module.community-bulletin { + background-color: #3c3836 !important; + color: #8ec07c !important; +} +#sidebar .question-hyperlink { + color: #689d6a !important; +} +.newuser { + background-color: #3c3836 !important; + color: #8ec07c !important; +} +.label-key { + color: #83a598 !important; +} +.label-key b { + color: #8ec07c !important; +} +#h-chat-link { + color: #8ec07c !important; +} +.ad502-room { + background-color: #3c3836 !important; + box-shadow: #b8bb26 0px 1px 3px; + color: #8ec07c !important; +} +#tabs a { + background-color: transparent !important; + background-image: linear-gradient(to bottom, #282828, #3c3836); + color: #8ec07c !important; +} +#tabs a.youarehere { + background-image: linear-gradient(to bottom, #fb4934, #282828); + color: #ebdbb2 !important; +} +.post-tag { + background-color: #b8bb26 !important; + color: #282828 !important; +} +.post-tag::before { + background-color: #282828 !important; +} +a.comment-user.owner { + background-color: #98971a !important; + color: #a89984 !important; +} +.post-signature { + background-color: #3c3836 !important; + color: #8ec07c !important; +} +.post-signature a { + color: #689d6a !important; +} +.post-signature.owner .user-info .user-details a { + color: #98971a !important; +} +.post-signature span.relativetime { + color: #8ec07c !important; +} +.vote { + background-color: #3c3836 !important; +} +.vote .star-off { + filter: opacity(75%); +} +.vote .star-on { + filter: opacity(50%) !important; +} +.vote .vote-down-off, +.vote .vote-up-off { + filter: opacity(50%); +} +.answer-votes { + background-color: #b8bb26 !important; + color: #282828 !important; +} diff --git a/config/qutebrowser/custom-block.txt b/config/qutebrowser/custom-block.txt new file mode 100644 index 0000000..f0bff1f --- /dev/null +++ b/config/qutebrowser/custom-block.txt @@ -0,0 +1,3 @@ +||*.youtube.com +||tweetdeck.twitter.com +||twitter.com diff --git a/config/qutebrowser/greasemonkey/direct_links_out.js b/config/qutebrowser/greasemonkey/direct_links_out.js new file mode 100644 index 0000000..623142c --- /dev/null +++ b/config/qutebrowser/greasemonkey/direct_links_out.js @@ -0,0 +1,332 @@ +// ==UserScript== +// @name Direct links out +// @name:ru Прямые ссылки наружу +// @description Removes all "You are leaving our site" and redirection stuff from links +// @description:ru Убирает "Бла-бла-бла, Вы покидаете наш сайт" и переадресации из ссылок +// @namespace https://github.com/nokeya +// @author nokeya +// @update https://github.com/nokeya/direct-links-out/raw/master/direct-links-out.user.js +// @icon https://raw.githubusercontent.com/nokeya/direct-links-out/master/icon.png +// @version 2.19 +// @grant none +//google +// @include *://google.* +// @include *://www.google.* +// @include *://encrypted.google.* +//yandex +// @match *://yandex.ru/* +// @match *://yandex.ua/* +// @match *://yandex.by/* +// @match *://yandex.kz/* +// @match *://yandex.com.tr/* +// @match *://yandex.com/* +// @match *://*.yandex.ru/* +// @match *://*.yandex.ua/* +// @match *://*.yandex.by/* +// @match *://*.yandex.kz/* +// @match *://*.yandex.com.tr/* +// @match *://*.yandex.com/* +//youtube +// @match *://youtube.com/* +// @match *://*.youtube.com/* +//wikimapia +// @match *://wikimapia.org/* +//deviantart +// @match *://deviantart.com/* +// @match *://*.deviantart.com/* +//joyreactor +// @match *://joyreactor.cc/* +// @match *://*.joyreactor.cc/* +// @match *://reactor.cc/* +// @match *://*.reactor.cc/* +// @match *://joyreactor.com/* +// @match *://*.joyreactor.com/* +//vk +// @match *://vk.com/* +// @match *://*.vk.com/* +//ok +// @match *://ok.ru/* +// @match *://*.ok.ru/* +//steam +// @match *://steamcommunity.com/* +// @match *://*.steamcommunity.com/* +//fb +// @match *://facebook.com/* +// @match *://*.facebook.com/* +//twitter +// @match *://twitter.com/* +// @match *://*.twitter.com/* +//4pda +// @match *://4pda.ru/* +// @match *://*.4pda.ru/* +//kickass +// @match *://kat.cr/* +// @match *://kickassto.co/* +// @match *://katproxy.is/* +// @match *://thekat.tv/* +// @match *://*.kat.cr/* +// @match *://*.kickassto.co/* +// @match *://*.katproxy.is/* +// @match *://*.thekat.tv/* +//AMO +// @match *://addons.mozilla.org/* +//pixiv +// @match *://pixiv.net/* +// @match *://*.pixiv.net/* +//tumblr +// @match *://tumblr.com/* +// @match *://*.tumblr.com/* +//danieldefo +// @match *://danieldefo.ru/* +// @match *://*.danieldefo.ru/* +//yaplakal +// @match *://yaplakal.com/* +// @match *://*.yaplakal.com/* +//soundcloud +// @match *://soundcloud.com/* +// @match *://*.soundcloud.com/* +//upwork +// @match *://upwork.com/* +// @match *://*.upwork.com/* +//picarto +// @match *://picarto.tv/* +// @match *://*.picarto.tv/* +//taker +// @match *://taker.im/* +// @match *://*.taker.im/* +//forumavia +// @match *://*.forumavia.ru/* +//slack +// @match *://*.slack.com/* +//instagram +// @match *://instagram.com/* +// @match *://*.instagram.com/* + +// ==/UserScript== +(function() { + // anchors and functions + var anchor; + var after; + var rwLink = function(){}; + var rwAll = function(){}; + var retTrue = function() { return true; }; //dummy function to always return true + + // simple rewrite link - based on anchors + function rwSimple(link){ + if (anchor){ + var ndx = link.href.indexOf(anchor); + if (ndx != -1){ + var newlink = link.href.substring(ndx + anchor.length); + if (after){ + ndx = newlink.indexOf(after); + if (ndx != -1) + newlink = newlink.substring(0, ndx); + } + link.href = unescape(newlink); + } + } + } + function rwaSimple(){ + var links = document.getElementsByTagName('a'); + for (var i = 0; i < links.length; ++i) + rwLink(links[i]); + } + // vk + function rwVK(link){ + if (link.className === 'page_media_link_thumb') + { + var parent = link.parentNode; + link.href = parent.getAttribute("href"); + parent.removeAttribute('href'); + parent.removeAttribute('onclick'); + link.removeAttribute('onclick'); + } + + var ndx = link.href.indexOf(anchor); + if (ndx != -1){ + var newlink = link.href.substring(ndx + anchor.length); + var afterArr = ['&post=', '&el=snippet', '&cc_key=']; + for (var i = 0; i < afterArr.length; ++i){ + ndx = newlink.indexOf(afterArr[i]); + if (ndx != -1) + newlink = newlink.substring(0, ndx); + } + link.href = unescape(newlink); + } + } + // twitter + function rwTwitter(link){ + if (link.hasAttribute('data-expanded-url')){ + link.href = link.getAttribute('data-expanded-url'); + link.removeAttribute('data-expanded-url'); + } + } + function rwaTwitter(){ + var links = document.getElementsByClassName('twitter-timeline-link'); + for (var i = 0; i < links.length; ++i) + rwLink(links[i]); + } + // kickass + function rwKickass(link){ + var ndx = link.href.indexOf(anchor); + if (ndx != -1){ + link.href = window.atob(unescape(link.href.substring(ndx + anchor.length, link.href.length - 1))); + link.className = ''; + } + } + // youtube + function rwYoutube(link){ + if (/redirect/i.test(link.className)) + link.setAttribute('data-redirect-href-updated', 'true'); + rwSimple(link); + } + // facebook + function rwFacebook(link){ + if (/referrer_log/i.test(link.onclick)){ + link.removeAttribute('onclick'); + link.removeAttribute('onmouseover'); + } + rwSimple(link); + } + // google + function rwGoogle(link){ + // replace global rwt script + if (window.rwt && window.rwt != retTrue){ + delete window.rwt; + Object.defineProperty(window, 'rwt', { value: retTrue, writable: false }); + } + + // main search + if (link.hasAttribute('onmousedown')) + link.removeAttribute('onmousedown'); + // images + if (link.hasAttribute('jsaction')){ + var tmp = link.getAttribute('jsaction'); + if (tmp) + link.setAttribute('jsaction', tmp.replace(/(mousedown:irc.rl|keydown:irc.rlk)/g,'')); + } + } + + // yandex + function rwYandex(link){ + // main search + if (link.hasAttribute('onmousedown')) + link.removeAttribute('onmousedown'); + // images + anchor = '&img_url='; + after = '&pos='; + rwSimple(link); + } + //mozilla addons store + function rwAMO(link){ + if (/outgoing.prod.mozaws.net/i.test(link.href)){ + var tmp = link.href; + link.href = "#"; + // we have to fight mozilla's replacing of direct redirect string with jquery events + setTimeout(function(){ link.href = unescape(tmp.replace(/(http|https):\/\/outgoing.prod.mozaws.net\/v1\/[0-9a-zA-Z]+\//i,'')); }, 100); + } + } + + // daniueldefo + function rwDanielDefo(link){ + if (link.hasAttribute('data-proxy-href')) + link.removeAttribute('data-proxy-href'); + } + + // slack + function rwSlack(link){ + link.removeAttribute('onclick'); + link.removeAttribute('onmouseover'); + } + + // determine anchors, functions and listeners + (function () + { + rwLink = rwSimple; + rwAll = rwaSimple; + + var loc = window.location.hostname; + if (/google/i.test(loc)) + rwLink = rwGoogle; + else if (/youtube/i.test(loc)){ + anchor = 'redirect?q='; + after = '&redir_token='; + rwLink = rwYoutube; + } + else if (/facebook/i.test(loc)){ + anchor = 'u='; + after = '&h='; + rwLink = rwFacebook; + } + else if (/instagram/i.test(loc)){ + anchor = 'u='; + after = '&e='; + } + else if (/twitter/i.test(loc)){ + rwLink = rwTwitter; + rwAll = rwaTwitter; + } + else if (/yandex/i.test(loc)) + rwLink = rwYandex; + else if (/vk/i.test(loc)){ + anchor = 'to='; + rwLink = rwVK; + } + else if (/ok/i.test(loc)){ + anchor = 'st.link='; + after = '&st.name='; + } + else if (/pixiv/i.test(loc)) + anchor = 'jump.php?'; + else if (/tumblr/i.test(loc)){ + anchor = "redirect?z="; + after = "&t="; + } + else if (/deviantart/i.test(loc)) + anchor = 'outgoing?'; + else if (/(steam|reactor)/i.test(loc)) + anchor = 'url='; + else if (/(kat|kickass)/i.test(loc)){ + anchor = 'confirm/url/'; + rwLink = rwKickass; + } + else if (/soundcloud/i.test(loc)) + anchor = "exit.sc/?url="; + else if (/upwork/i.test(loc)) + anchor = 'leaving-odesk?ref='; + else if (/4pda/i.test(loc)){ + anchor = 'go/?u='; + after = '&e='; + } + else if (/mozilla/i.test(loc)) + rwLink = rwAMO; + else if (/danieldefo/i.test(loc)) + rwLink = rwDanielDefo; + else if (/yaplakal/i.test(loc)) + anchor = "go/?"; + else if (/wikimapia.org/i.test(loc)) + anchor = 'external_link?url='; + else if (/forumavia.ru/i.test(loc)) + anchor = '/e/?l='; + else if (/picarto/i.test(loc)){ + anchor = "referrer?go="; + after = "&ref="; + } + else if (/taker/i.test(loc)) + anchor = "phpBB2/goto/"; + else if (/slack/i.test(loc)) + rwLink = rwSlack; + + document.addEventListener('DOMNodeInserted', function(event){ + if (!event || !event.target || !(event.target instanceof HTMLElement)) + return; + var node = event.target; + if (node instanceof HTMLAnchorElement) + rwLink(node); + var links = node.getElementsByTagName('a'); + for (var i = 0; i < links.length; ++i) + rwLink(links[i]); + }, false); + })(); + rwAll(); +})(); diff --git a/config/qutebrowser/greasemonkey/disable_autogain.js b/config/qutebrowser/greasemonkey/disable_autogain.js new file mode 100644 index 0000000..fc58425 --- /dev/null +++ b/config/qutebrowser/greasemonkey/disable_autogain.js @@ -0,0 +1,79 @@ +// https://github.com/joeywatts/disable-autogain-control-extension/blob/master/disableAutogain.js +(function() { + function setLegacyChromeConstraint(constraint, name, value) { + if (constraint.mandatory && name in constraint.mandatory) { + constraint.mandatory[name] = value; + return; + } + if (constraint.optional) { + const element = constraint.optional.find(opt => name in opt); + if (element) { + element[name] = value; + return; + } + } + // `mandatory` options throw errors for unknown keys, so avoid that by + // setting it under optional. + if (!constraint.optional) { + constraint.optional = []; + } + constraint.optional.push({ [name]: value }); + } + function setConstraint(constraint, name, value) { + if (constraint.advanced) { + const element = constraint.advanced.find(opt => name in opt); + if (element) { + element[name] = value; + return; + } + } + constraint[name] = value; + } + function disableAutogain(constraints) { + console.log("Automatically unsetting gain!", constraints); + if (constraints && constraints.audio) { + if (typeof constraints.audio !== "object") { + constraints.audio = {}; + } + if (constraints.audio.optional || constraints.audio.mandatory) { + setLegacyChromeConstraint(constraints.audio, "googAutoGainControl", false); + setLegacyChromeConstraint(constraints.audio, "googAutoGainControl2", false); + } else { + setConstraint(constraints.audio, "autoGainControl", false); + } + } + } + + function patchFunction(object, name, createNewFunction) { + if (name in object) { + var original = object[name]; + object[name] = createNewFunction(original); + } + } + + patchFunction(navigator.mediaDevices, "getUserMedia", function (original) { + return function getUserMedia(constraints) { + disableAutogain(constraints); + return original.call(this, constraints); + }; + }); + function patchDeprecatedGetUserMedia(original) { + return function getUserMedia(constraints, success, error) { + disableAutogain(constraints); + return original.call(this, constraints, success, error); + }; + } + patchFunction(navigator, "getUserMedia", patchDeprecatedGetUserMedia); + patchFunction(navigator, "mozGetUserMedia", patchDeprecatedGetUserMedia); + patchFunction(navigator, "webkitGetUserMedia", patchDeprecatedGetUserMedia); + patchFunction(MediaStreamTrack.prototype, "applyConstraints", function (original) { + return function applyConstraints(constraints) { + disableAutogain(constraints); + return original.call(this, constraints); + }; + }); + console.log( + "Disable Autogain by Joey Watts!", + navigator.mediaDevices.getUserMedia + ); +})(); diff --git a/config/qutebrowser/greasemonkey/nitter_redirect.js b/config/qutebrowser/greasemonkey/nitter_redirect.js new file mode 100644 index 0000000..f226c75 --- /dev/null +++ b/config/qutebrowser/greasemonkey/nitter_redirect.js @@ -0,0 +1,15 @@ +// ==UserScript== +// @name Nitter redirector +// @namespace https://gist.github.com/bitraid/d1901de54382532a03b9b22a207f0417 +// @version 1.0 +// @description reddit to teddit +// @match *://*.twitter.com/* +// @match *://twitter.com/* +// @grant none +// @run-at document-start +// ==/UserScript== + +(function () { + 'use strict'; + top.location.hostname = "nitter.pussthecat.org"; +})(); diff --git a/config/qutebrowser/local.py.example b/config/qutebrowser/local.py.example new file mode 100644 index 0000000..3200b44 --- /dev/null +++ b/config/qutebrowser/local.py.example @@ -0,0 +1,7 @@ +GPG_KEY = "D1D400EBE283A278E72A6ED40FDA27891A60E157" +NOTIF_GRANTS = [ + "*://example.com/*", + "*://cool.website/*", + ] + +# vim: syntax=python