From 4e565fad2dac154254de36781b3df933be4e3e75 Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Sat, 15 Feb 2020 19:00:34 +0100 Subject: [PATCH] Add experimental css styler Takes a prepared stylesheet template, inserts the values into it and puts it into fixed qutebrowser stylesheet directory, calling qutebrowser to set it automatically. Much of this is hardcoded and not applicable to different setups! --- css-template.css | 1712 ++++++++++++++++++++++++++++++++++++++++++++++ theme_styles | 114 +++ 2 files changed, 1826 insertions(+) create mode 100644 css-template.css create mode 100755 theme_styles diff --git a/css-template.css b/css-template.css new file mode 100644 index 0000000..98bb1bb --- /dev/null +++ b/css-template.css @@ -0,0 +1,1712 @@ +* { + border-color: %base03% !important; +} +a { + color: %base0D% !important; +} +a:visited { + color: %base0E% !important; +} +body { + background-color: %base00% !important; + color: %base04% !important; +} +html { + background-color: %base00% !important; +} +input, +textarea { + background-color: %base01% !important; + color: %base04% !important; +} +blockquote, +pre { + background-color: %base01% !important; + color: %base04% !important; +} +.post-actions { + background-color: %base01% !important; +} +.textarea-wrapper { + background-color: %base00% !important; + color: %base04% !important; +} +.search--adv { + background-color: %base01% !important; +} +.search__autocomplete > .acp-wrap { + background-color: %base00% !important; +} +.search__autocomplete > .acp-wrap > .acp--highlight { + background-color: %base01% !important; + color: %base06% !important; +} +.search__autocomplete > .acp-wrap strong { + color: %base06% !important; +} +.site-wrapper > #header_wrapper { + background-color: %base00% !important; +} +.site-wrapper > #header_wrapper > #header { + background-color: %base00% !important; +} +.search--header { + background-color: %base01% !important; +} +.zci { + background-color: %base01% !important; + color: %base04% !important; +} +.tile--info { + background-color: %base00% !important; +} +.tile--info__expand { + background-color: %base02% !important; +} +.tile--c { + background-color: %base02% !important; + color: %base06% !important; +} +.module__text { + color: %base04% !important; +} +.about-info-box__heading { + color: %base05% !important; +} +.result.highlight { + background-color: %base01% !important; +} +.result__snippet { + color: %base04% !important; +} +.result__snippet b { + color: %base05% !important; +} +.btn--top { + background-color: %base01% !important; + color: %base04% !important; +} +.btn--top:hover { + background-color: %base02% !important; +} +.result--sep--hr:before { + background-color: %base02% !important; +} +* { + border-color: %base01% !important; +} +.news .alert .pull-info { + background-color: %base02% !important; +} +.link-gray-dark, +.text-gray-dark { + color: %base04% !important; +} +.bg-white { + background-color: %base00% !important; +} +.border { + border-color: %base03% !important; +} +.breadcrumb .repo-root.js-repo-root a { + color: %base0D% !important; +} +.breadcrumb strong.final-path { + color: %base04% !important; +} +button.ajax-pagination-btn { + background-color: %base01% !important; + color: %base05% !important; +} +button.ajax-pagination-btn:hover { + background-color: %base02% !important; +} +.comment-reactions .btn-link { + color: %base04% !important; +} +.comment-reactions .user-has-reacted { + background-color: %base01% !important; +} +.text-gray-dark { + color: %base04% !important; +} +.contrib-number { + color: %base05% !important; +} +.counter { + background-color: %base01% !important; + color: %base05% !important; +} +.diffstat-bar { + color: %base04% !important; +} +.file-header { + background-color: %base01% !important; +} +.file-history-tease .participation { + background-color: %base00% !important; + color: %base04% !important; +} +.file-history-tease .participation .quickstat strong { + color: %base04% !important; +} +.file-history-tease .participation a { + color: %base02% !important; +} +.file-history-tease .author a { + color: %base04% !important; +} +.file-history-tease-header { + background-color: %base01% !important; +} +.file-info-divider { + background-color: %base02% !important; +} +.file-wrap { + color: %base04% !important; +} +.file-wrap * { + background-color: transparent !important; +} +.filter-bar { + background-color: %base01% !important; +} +a.filter-item, +.filter-item { + color: %base04% !important; +} +a.filter-item.selected, +.filter-item.selected { + background-color: %base01% !important; + color: %base05% !important; +} +a.filter-item:hover, +.filter-item:hover { + background-color: %base02% !important; + color: %base05% !important; +} +.flash { + background-color: %base01% !important; + color: %base05% !important; +} +.gh-header { + background-color: %base00% !important; +} +.gh-header-number { + color: %base02% !important; +} +.ellipsis-expander, +.hidden-text-expander a { + background-color: %base01% !important; +} +.issue-meta { + color: %base02% !important; +} +.issues-listing a { + color: %base04% !important; +} +.muted-link { + color: %base04% !important; +} +.new-user-avatar-cta { + background-color: %base01% !important; + border-color: %base02% !important; + color: %base05% !important; +} +.overall-summary { + border-color: %base02% !important; +} +.pinned-repo-item.border { + border-color: %base02% !important; +} +.progress-bar { + background-color: %base02% !important; +} +.simple-box { + background-color: %base01% !important; +} +.social-count { + background-color: %base01% !important; + border-color: %base02% !important; + color: %base05% !important; +} +.scope-badge { + background-color: %base02% !important; + color: %base05% !important; +} +.stats-switcher-wrapper { + background-color: %base00% !important; +} +.stats-switcher-wrapper .numbers-summary li a { + color: %base04% !important; +} +.table-list-header-toggle .btn-link { + color: %base02% !important; +} +.table-list-header-toggle .btn-link.selected { + color: %base04% !important; +} +.text-emphasized { + color: %base05% !important; +} +.text-diff-added { + color: %base0B% !important; +} +.text-diff-deleted { + color: %base08% !important; +} +.avatar, +.timeline-comment-avatar { + filter: opacity(75%); +} +.blob-code { + background-color: %base00% !important; + color: %base04% !important; +} +.blob-code-addition { + background-color: rgba(232,255,77,0.1) !important; +} +.blob-code-addition .x { + background-color: %base0B% !important; + color: %base05% !important; +} +.blob-code-deletion { + background-color: rgba(220,50,47,0.2) !important; +} +.blob-code-deletion .x { + background-color: %base08% !important; + color: %base05% !important; +} +.blob-code-hunk { + background-color: %base01% !important; + border-color: %base02% !important; +} +.blob-code-inner { + color: %base04% !important; +} +.blob-num { + background-color: %base00% !important; + color: %base02% !important; +} +.file { + color: %base04% !important; +} +.form-control { + background-color: %base01% !important; + border-color: %base02% !important; +} +.pl-c { + color: %base02% !important; +} +.pl-c1 { + color: %base0D% !important; +} +.pl-e { + color: %base0A% !important; +} +.pl-en { + color: %base0D% !important; +} +.pl-k { + color: %base0B% !important; + font-weight: bold !important; +} +.pl-pds { + color: %base0C% !important; +} +.pl-s { + color: %base0C% !important; +} +.pl-smi { + color: %base04% !important; +} +.pl-v { + color: %base0B% !important; + font-weight: bold !important; +} +.pl-mi1 { + color: %base0B% !important; + background-color: transparent !important; +} +.pl-md { + color: %base08% !important; + background-color: transparent !important; +} +.border-bottom, +.border-top { + border-color: %base01% !important; +} +.boxed-group * { + border-color: %base02% !important; +} +.boxed-group article { + background-color: %base00% !important; + color: %base04% !important; +} +.boxed-group > h3 { + background-color: %base01% !important; + color: %base05% !important; +} +.more-repos { + background-color: %base01% !important; + box-shadow: inset 0 1px 0 %base02% !important; +} +.boxed-group-inner { + background-color: %base00% !important; +} +.branch-action-body { + background-color: %base01% !important; + border-color: %base02% !important; +} +.branch-action-body div { + border-color: %base02% !important; +} +.branch-action-state-clean .branch-action-icon { + background-color: %base0B% !important; +} +.branch-action-state-dirty .branch-action-icon, +.branch-action-state-unstable .branch-action-icon, +.branch-action-state-unknown .branch-action-icon { + background-color: %base0A% !important; + color: #fff !important; +} +.text-shadow-light, +.branch-group-name, +.branch-summary { + color: %base04% !important; + text-shadow: none !important; +} +.branch-a-b-count .meter { + background-color: %base0A% !important; +} +.more-branches, +.branch-group-heading, +.branch-infobar, +.branch-name { + border-color: %base02% !important; + background-color: %base01% !important; +} +.State, +.State:visited { + color: #fff !important; +} +.State--red { + background-color: %base08% !important; + color: %base00% !important; +} +.State--green { + background-color: %base0B% !important; + color: %base00% !important; +} +.select-menu-filters { + background-color: %base00% !important; + color: %base05% !important; +} +.js-select-menu-tab { + background-color: %base01% !important; + color: %base05% !important; +} +.select-menu-tabs a.selected, +.select-menu-tab-nav.selected { + background-color: %base02% !important; + color: %base00% !important; +} +.signed-commit-header { + background-color: %base00% !important; +} +.build-status-item { + background-color: %base01% !important; + color: %base05% !important; +} +.build-status-item .build-status-details { + color: %base0D% !important; +} +.capped-card h3 { + background-color: %base01% !important; +} +.capped-card h3 a { + color: %base05% !important; +} +.capped-card-content { + background-color: %base00% !important; +} +.capped-list th { + background-color: %base00% !important; + color: %base05% !important; +} +.capped-list tr:nth-child(2n) { + background-color: %base01% !important; +} +.commit, +.commit-meta, +.commit-icon .octicon, +.commit-group-title .octicon-git-commit { + background-color: %base00% !important; +} +.commit *, +.commit-meta *, +.commit-icon .octicon *, +.commit-group-title .octicon-git-commit * { + border-color: %base02% !important; +} +.commit-author { + color: %base04% !important; +} +.commit-author-section { + color: %base04% !important; +} +.commit-meta { + color: %base02% !important; +} +.commit-meta .sha-block { + color: %base02% !important; +} +.commit-meta .sha-block .sha { + color: %base04% !important; +} +.commit-ref, +code.commit-sha { + background-color: %base01% !important; + color: %base05% !important; +} +.commit-ref .user, +code.commit-sha .user { + color: %base0C% !important; +} +.commit-branches *, +.commit-tease, +.commit-title { + background-color: rgba(190,255,255,0.2) !important; + border: none !important; +} +.commit-branches * *, +.commit-tease *, +.commit-title * { + color: %base05% !important; +} +.commit-tease-contributors { + background-color: %base01% !important; +} +div.commit-branches, +div.commit.full-commit p.commit-title, +qul.branches-list { + background-color: %base01% !important; + color: %base05% !important; +} +div.commit-branches *, +div.commit.full-commit p.commit-title *, +qul.branches-list * { + background-color: %base01% !important; + color: %base05% !important; +} +.commit-meta { + background-color: %base01% !important; + color: %base04% !important; +} +.commits-listing:before { + background-color: %base01% !important; +} +.full-commit { + background-color: %base01% !important; + border-color: %base02% !important; +} +.full-commit * { + text-shadow: none !important; +} +.commit-desc pre { + background-color: transparent !important; + color: %base04% !important; +} +.commit.table-list-item { + border-color: %base01% !important; +} +.commit-meta.commit-author-section { + background-color: transparent !important; + color: %base04% !important; +} +.table-list-cell .commit-title { + background-color: transparent !important; + color: %base04% !important; +} +.completeness-indicator-success { + background-color: %base0B% !important; +} +.completeness-indicator-problem { + background-color: %base0A% !important; + color: #fff !important; +} +.copyable-terminal { + background-color: %base01% !important; +} +.blankslate { + background-color: %base01% !important; + color: %base05% !important; +} +.comment-form-head.tabnav { + background-color: %base00% !important; +} +.conversation-list-heading .inner { + background-color: %base00% !important; +} +.discussion-item-closed .discussion-item-icon { + background-color: %base08% !important; + color: %base05% !important; +} +.discussion-item-icon { + background-color: %base02% !important; + color: %base05% !important; +} +.discussion-item-icon.octicon { + color: %base05% !important; +} +.discussion-item-entity, +.discussion-item .renamed-was, +.discussion-item .renamed-is { + color: %base05% !important; +} +.discussion-timeline:before { + background-color: %base03% !important; +} +.discussion-timeline-actions { + background-color: %base00% !important; +} +.drag-and-drop { + background-color: %base01% !important; +} +.new-discussion-timeline .closed-banner { + background-color: %base03% !important; + border-color: %base00% !important; +} +.timeline-comment { + background-color: %base00% !important; + border-color: %base02% !important; +} +.timeline-comment-header { + background-color: %base01% !important; +} +.timeline-comment-wrapper { + border-color: %base00% !important; +} +.donut-chart > .pending { + fill: %base0A% !important; +} +.dropdown-divider { + background-color: %base03% !important; +} +.dropdown-item { + color: %base04% !important; +} +.dropdown-item:hover { + background-color: %base02% !important; + color: %base05% !important; +} +.dropdown-menu { + background-color: %base01% !important; + color: %base05% !important; + border-color: %base03% !important; +} +.files * { + color: %base04% !important; +} +.files tbody tr { + border-color: %base01% !important; +} +.files tbody tr:nth-child(even) { + background-color: %base00% !important; +} +.files tbody tr:nth-child(odd) { + background-color: %base00% !important; +} +.files tbody tr:hover * { + background-color: %base01% !important; +} +.btn { + background-image: linear-gradient(to bottom, %base02%, %base01%) !important; + border-color: %base02% !important; + color: %base05% !important; +} +.btn:hover { + background-color: %base00% !important; +} +.btn-primary, +.issues-listing .btn-primary { + background-color: %base0B% !important; + background-image: linear-gradient(%base0B%, %base0B%) !important; + color: #000 !important; + filter: opacity(62.5%); +} +.entry-title a { + color: %base0D% !important; +} +.Header { + background-color: %base00% !important; + border-bottom-color: %base02% !important; +} +.Header a { + color: %base05% !important; +} +.lang { + color: %base05% !important; +} +.reponav-item, +.pagehead-tabs-item { + background-color: %base01% !important; + border-color: transparent !important; + color: %base04% !important; +} +.reponav-item:visited, +.pagehead-tabs-item:visited { + color: %base04% !important; +} +.reponav-item.selected, +.pagehead-tabs-item.selected { + background-color: %base00% !important; + border-color: %base08% %base01% transparent !important; +} +.site-footer-links * { + color: %base04% !important; +} +.Box-row--focus-gray.navigation-focus { + background-color: %base00% !important; + color: %base05% !important; +} +.js-directory-link { + color: %base0D% !important; +} +.js-site-search-form input, +.js-chromeless-input-container { + background-color: %base00% !important; + border-color: %base02% !important; +} +a.label { + color: #000 !important; + filter: opacity(75%); +} +.notifications-list a { + color: %base04% !important; +} +.notifications-list li { + background-color: %base00% !important; +} +.octicon-repo { + color: %base05% !important; +} +.type-icon-state-closed { + color: rgba(255,54,43,0.65) !important; +} +.type-icon-state-merged { + color: %base0E% !important; +} +.type-icon-state-open { + color: rgba(205,212,0,0.65) !important; +} +.octicon-alert { + color: #fff !important; +} +.octicon-x { + color: %base08% !important; +} +.octicon-check { + color: %base0B% !important; +} +.octicon-primitive-dot { + color: %base0A% !important; +} +.octicon-clippy { + color: %base05% !important; +} +.octicon-diff { + color: #fff !important; +} +.octicon-markdown { + color: %base02% !important; +} +.orghead { + background-color: %base01% !important; + border-color: %base03% !important; + border-bottom: 0px !important; + color: %base05% !important; +} +.org-name { + color: %base05% !important; +} +.pagehead.orghead { + background-color: %base01% !important; +} +.outline-box-highlighted { + background-color: %base01% !important; + color: %base05% !important; +} +.pagination .current { + background-color: %base02% !important; + color: %base05% !important; +} +.pagination .disabled { + background-color: %base01% !important; + color: %base02% !important; +} +.pagination .disabled:hover { + background-color: %base01% !important; +} +.pagination .gap { + background-color: %base01% !important; + color: %base02% !important; +} +.pagination a { + background-color: %base01% !important; + border-color: %base00% !important; + color: %base04% !important; +} +.pagination a:hover { + background-color: %base02% !important; + color: %base00% !important; +} +.empty-cell, +.diffbar { + background-color: %base00% !important; +} +.merge-status-item { + background-color: %base01% !important; +} +.merge-message { + background-color: %base00% !important; +} +.pr-toolbar { + background-color: %base00% !important; +} +.review-thread-reply { + background-color: %base01% !important; +} +.review-thread-reply .inline-comment-form { + background-color: %base00% !important; +} +.merged.octicon, +.octicon-git-merge { + color: %base0E% !important; +} +.uploaded-files { + background-color: %base00% !important; +} +.upload-progress { + background-color: %base01% !important; + box-shadow: 1px 0px 0px %base01% inset; +} +#readme .plain { + background-color: %base00% !important; +} +.markdown-body, +.markdown-body table * { + background-color: %base00% !important; + border-color: %base03% !important; + color: %base04% !important; +} +.markdown-body a, +.markdown-body table * a { + color: %base0D% !important; +} +.markdown-body code, +.markdown-body table * code, +.markdown-body pre, +.markdown-body table * pre { + background-color: %base01% !important; +} +.markdown-body hr, +.markdown-body table * hr { + background-color: %base02% !important; +} +.markdown-body img, +.markdown-body table * img { + background-color: %base00% !important; +} +.task-list-item.hovered { + background-color: %base01% !important; +} +.range-editor { + background-color: %base01% !important; +} +.compare-pr-placeholder { + background-color: %base00% !important; +} +ul.comparison-list > li.title { + background-color: %base01% !important; +} +ul.comparison-list { + background-color: %base00% !important; +} +.repository-description { + color: %base04% !important; +} +.repository-meta .edit-repository-meta label { + color: %base04% !important; +} +.pagehead.repohead { + background-color: %base01% !important; +} +.repository-content .RecentBranches { + background-color: %base01% !important; + border-color: %base03% !important; +} +.repohead-details-container a { + color: %base04% !important; +} +.select-menu-modal { + border-color: %base04% !important; +} +.select-menu-modal * { + color: %base04% !important; +} +.select-menu-header, +.select-menu-header * { + background-color: %base01% !important; + color: %base05% !important; + text-shadow: none !important; +} +.select-menu-item { + background-color: %base00% !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: %base02% !important; + color: %base05% !important; +} +.repository-sidebar { + background-color: %base00% !important; +} +.thread-subscription-status { + background-color: %base00% !important; +} +.sunken-menu { + background-image: linear-gradient(to right, %base01% 0%, %base00% 8px) !important; + box-shadow: 1px 0px 0px %base01% inset; +} +.sunken-menu:before { + background-image: linear-gradient(%base00%, transparent) !important; +} +.sunken-menu:after { + background-image: linear-gradient(transparent, %base00%) !important; +} +.sunken-menu-item { + border-color: %base00% !important; +} +.sunken-menu-item.selected { + background-color: %base00% !important; + border-color: %base01% !important; + color: %base05% !important; +} +.sunken-menu-item.selected:after { + background-color: %base09% !important; +} +.sunken-menu-separator:before { + background-image: linear-gradient(to right, %base01% 70%, %base00% 100%) !important; +} +.state { + color: %base05% !important; +} +.state-closed { + background-color: %base08% !important; +} +.state-open { + background-color: %base0B% !important; +} +.subnav-item { + color: %base04% !important; +} +.subnav-item:hover { + background-color: %base00% !important; +} +.subnav-item:visited { + color: %base04% !important; +} +.subnav-item.selected { + background-color: %base01% !important; +} +.subnav-links a:hover { + background-color: %base01% !important; +} +.subnav-search input { + border-color: %base02% !important; +} +.right .tabnav-extra { + color: %base02% !important; +} +a.tabnav-tab, +.tabnav-tab { + border-color: transparent !important; + color: %base02% !important; +} +a.tabnav-tab.selected, +.tabnav-tab.selected { + background-color: %base00% !important; + background-image: linear-gradient(%base01%, %base00%) !important; + border-color: %base03% !important; + color: %base05% !important; +} +.table-list tr, +.table-list li { + background-color: %base00% !important; +} +.table-list tr:hover, +.table-list li:hover { + background-color: %base01% !important; +} +.table-list-header { + background-color: %base01% !important; +} +.text-pending { + color: %base0A% !important; +} +.text-pending .octicon-primitive-dot { + color: %base0A% !important; +} +.text-red { + color: %base08% !important; +} +.timeline-commits .commit-meta { + background-color: %base00% !important; +} +.timeline-commits .commit-meta .commit-id { + color: %base02% !important; +} +.topic-tag.topic-tag-link { + background-color: %base01% !important; + color: %base04% !important; +} +.underline-nav-item { + color: %base04% !important; +} +.underline-nav-item.selected { + border-bottom-color: %base08% !important; + color: %base04% !important; +} +.user-profile-nav { + background-color: %base01% !important; + border-color: %base03% !important; +} +.user-profile-sticky-bar:after { + background-color: %base01% !important; + border-color: %base03% !important; +} +.graphs .area { + fill: %base0B%; +} +.summary-stats li .num { + color: %base05% !important; +} +.viz { + background-color: %base00% !important; +} +.facebox-popup { + color: %base04% !important; + background-color: %base00% !important; +} +.facebox-popup .octicon { + color: #fff !important; +} +.facebox-popup .owner-select-target { + color: %base04% !important; + background-color: %base01% !important; +} +.facebox-popup .owner-select-target:hover { + background-color: %base02% !important; +} +.suggester { + background-color: %base01% !important; +} +.suggester li.navigation-focus { + background-color: %base02% !important; +} +.menu { + background-color: %base01% !important; +} +.menu-item.selected { + background-color: %base01% !important; +} +.menu-item:hover { + background-color: %base02% !important; +} +.Box { + background-color: %base00% !important; +} +.Box-header { + background-color: %base01% !important; +} +svg > * text { + color: %base04% !important; + fill: %base04% !important; +} +.insertions { + color: %base0B% !important; +} +.deletions { + color: %base08% !important; +} +.sfbgg { + background-color: %base01% !important; +} +.sbib_a { + background: linear-gradient(to bottom, %base01%, %base00%) !important; +} +input#lst-ib, +#sb_ifc0.sbib_b, +#gs_taif0 { + background: transparent !important; +} +#lst-ib, +.sbsb_a { + background-color: %base00% !important; +} +.kpbb { + background-image: linear-gradient(to bottom, %base0D%, %base0D%) !important; +} +#hdtbSum { + background-color: %base00% !important; +} +#hdtbMenus.hdtb-td-o { + background-color: %base00% !important; +} +#hdtb-tls.hdtb-tl { + background-image: linear-gradient(to bottom, %base00%, %base01%) !important; +} +#hdtb-tls.hdtb-tl.hdtb-tl-sel { + background-image: linear-gradient(to bottom, %base01%, %base00%) !important; +} +#abar_button_opt.ab_button { + background: linear-gradient(to bottom, %base00%, %base01%) !important; +} +#appbar { + background-color: %base00% !important; +} +cite { + color: %base0B% !important; +} +.ab_dropdown { + background-color: %base00% !important; +} +div.crp { + background-color: %base00% !important; +} +#fbar { + background-color: %base01% !important; +} +tr.Even { + background-color: %base01% !important; +} +.BigQuote { + background-color: %base01% !important; + color: %base09% !important; +} +.Cat1HL { + background-color: %base02% !important; + color: %base05% !important; +} +.Cat2HL { + background-color: %base01% !important; +} +.Cat3HL { + background-color: %base00% !important; +} +.FeatureByline { + background-color: %base01% !important; + border: none !important; +} +.Headline { + background-color: %base01% !important; +} +.QuotedText { + color: %base0E% !important; +} +DIV.GAByline { + background-color: %base01% !important; + border: none !important; +} +table.OddEven tr:nth-child(even) { + background-color: %base00% !important; +} +table.OddEven tr:nth-child(odd) { + background-color: %base00% !important; +} +DIV.CommentBox { + border-color: %base01% !important; +} +DIV.CommentBox P.CommentTitle { + background-color: %base01% !important; +} +#menu, +.topnav-container { + background-color: %base01% !important; +} +.navmenu ul { + background-color: %base01% !important; +} +body * { + border-color: %base01% !important; +} +#content { + background-color: %base00% !important; + color: %base04% !important; +} +#mw-head, +#mw-panel { + background-color: %base01% !important; + color: %base05% !important; +} +#mw-head div.portal, +#mw-panel div.portal { + background-image: none !important; +} +#mw-head { + background-color: %base01% !important; + background-image: linear-gradient(to bottom, %base00%, %base01%) !important; +} +#mw-panel, +#p-logo { + background-image: linear-gradient(to right, %base00%, %base01%) !important; +} +div.vectorTabs { + background-image: linear-gradient(to bottom, %base00%, %base01%) !important; +} +div.vectorTabs ul { + background-image: linear-gradient(to bottom, %base00%, %base01%) !important; +} +div.vectorTabs ul li { + background-color: %base01% !important; + background-image: none !important; + padding: 0px 1px 0px 1px !important; +} +div.vectorTabs span { + background-color: %base01% !important; + background-image: linear-gradient(to bottom, %base00%, %base01%) !important; +} +div.vectorTabs li.selected, +div.vectorTabs li.selected span { + background-color: transparent !important; + background-image: linear-gradient(to bottom, %base01%, %base00%) !important; +} +.mw-wiki-logo { + filter: opacity(50%); +} +div#simpleSearch #searchInput { + background-color: %base00% !important; + padding: 0.05em 0px 0.2em 0.2em !important; +} +.ambox, +.infobox, +#toc, +#toctitle, +.toclevel-1 { + background-color: %base01% !important; + border-color: %base01% !important; + color: %base05% !important; +} +.catlinks { + background-color: %base01% !important; + border-color: %base01% !important; + color: %base05% !important; +} +.navbox { + background-color: %base01% !important; + border-color: %base01% !important; + color: %base05% !important; +} +.navbox .th, +.navbox .navbox-title { + background-color: %base01% !important; +} +.navbox-abovebelow, +th.navbox-group, +.navbox-subgroup, +.navbox-title { + background-color: %base00% !important; +} +.navbox-even { + background-color: %base00% !important; +} +h1, +h2, +h3, +h4, +h5, +h6 { + border-color: %base01% !important; + color: %base05% !important; +} +code { + background-color: %base01% !important; + border-color: %base01% !important; + color: %base05% !important; +} +div.thumbinner { + background-color: %base01% !important; + border-color: %base01% !important; +} +img { + filter: opacity(75%); +} +img.thumbimage { + border-color: %base01% !important; +} +.mw-body .external { + opacity: 0.5 !important; +} +table.wikitable { + background-color: %base00% !important; + border-color: %base01% !important; + color: %base04% !important; +} +table.wikitable > * > tr > th { + background-color: %base01% !important; +} +table { + background-color: %base00% !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: %base09% !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: %base00% !important; +} +#hnmain > tbody:nth-child(1) > tr:nth-child(2) { + background-color: %base00% !important; +} +.title a { + color: %base04% !important; +} +.title a:visited { + color: %base02% !important; +} +a.storylink { + color: %base05% !important; + font-weight: bold; +} +.sitestr { + color: %base0D% !important; +} +#hnmain > tbody:nth-child(1) > tr:nth-child(3) > td:nth-child(1) { + background-color: %base00% !important; +} +#hnmain .comhead { + color: %base05% !important; +} +#hnmain .c00 { + color: %base04% !important; +} +#hnmain a.hnuser { + color: %base0A% !important; +} +#hnmain span.age a { + color: %base02% !important; +} +.cdd { + color: rgba(255,54,43,0.65) !important; +} +.comment i { + color: %base0E% !important; +} +#hnmain > tbody:nth-child(1) > tr:nth-child(4) { + background-color: %base00% !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: %base09% !important; +} +div#page div#header { + background-color: %base00% !important; +} +div#page div#header a { + color: %base0E% !important; +} +.post { + background-color: %base00% !important; +} +.post * { + overflow: auto !important; +} +.post h2 { + background-color: %base01% !important; +} +.post h2 a { + color: %base05% !important; +} +.post div.entry { + background-color: %base00% !important; + color: %base04% !important; +} +.post div.entry blockquote { + background-color: %base01% !important; +} +.post div.entry kbd { + background-color: %base01% !important; + border-color: %base02% !important; + box-shadow: none !important; + color: %base05% !important; + text-shadow: 0px 1px 0px #000 !important; +} +.post pre.mode-line { + overflow: visible !important; +} +#sr-header-area { + background-color: %base01% !important; +} +#sr-header-area .srdrop .selected { + color: %base04% !important; +} +#sr-header-area #sr-more-link { + background-color: %base01% !important; +} +.link.promotedlink.promoted { + background-color: %base01% !important; +} +.link .usertext .md { + background-color: %base01% !important; +} +.linkinfo { + background-color: %base01% !important; +} +.linklisting .odd { + background-color: %base01% !important; +} +.thing .title { + color: %base04% !important; +} +div.md { + color: %base04% !important; +} +body.comment { + background-color: %base00% !important; +} +.commentarea > .usertext { + background-color: %base00% !important; +} +.commentarea .menuarea { + background-color: %base00% !important; +} +.comments-page .panestack-title { + background-color: %base00% !important; +} +.listing-chooser { + background-color: %base00% !important; +} +.listing-chooser .intro { + background-color: %base02% !important; + color: %base05% !important; +} +.listing-chooser .grippy { + background-color: %base00% !important; +} +.listing-chooser .grippy:after { + border-right: none !important; +} +.listing-chooser li { + background-color: %base01% !important; +} +.listing-chooser li.selected { + background-color: %base02% !important; + box-shadow: none; +} +.listing-chooser li a { + color: %base04% !important; +} +.listing-chooser li a .description { + color: %base05% !important; +} +.titlebox { + background-color: %base01% !important; +} +.titlebox form.toggle { + background-color: %base01% !important; + color: %base04% !important; +} +.side .usertext-body .md { + background-color: %base01% !important; +} +.side { + background-color: %base01% !important; +} +.sidebox .spacer { + background-color: %base01% !important; + color: %base05% !important; +} +.tabmenu li a { + background-color: %base01% !important; +} +#header-bottom-right { + background-color: %base01% !important; +} +.morelink .nub { + background-color: %base01% !important; +} +* { + border-color: %base03% !important; +} +a { + color: %base0D% !important; +} +a:visited { + color: %base0E% !important; +} +body { + background-color: %base00% !important; + color: %base04% !important; +} +html { + background-color: %base00% !important; +} +input, +textarea { + background-color: %base01% !important; + color: %base04% !important; +} +tr:hover, +blockquote, +pre { + background-color: %base01% !important; + color: %base04% !important; +} +#toolMenu li { + background-color: %base00% !important; +} +.navPanel, +.navIntraTool { + background-color: %base00% !important; +} +.instruction, +.sakaiCopyrightInfo { + color: %base04% !important; +} +.listHier th { + background-color: %base01% !important; +} +ul.makeMenu { + background-color: %base01% !important; + border: 1px solid %base01% !important; +} +tr.external { + background-color: %base01% !important; +} +hr { + background-color: %base01% !important; + color: %base01% !important; +} +.bounty-indicator, +.bounty-indicator-tab { + background-color: %base0E% !important; +} +.bottom-notice { + background-color: %base01% !important; +} +.comments-link { + color: %base0B% !important; +} +.page-numbers { + background-color: %base0B% !important; + color: %base06% !important; +} +.page-numbers.current { + background-color: %base09% !important; + color: %base00% !important; +} +.post-menu a { + color: %base0E% !important; +} +.question-status { + background-color: %base01% !important; +} +.bg-black-050 { + background-color: transparent !important; +} +.val-info { + background-color: transparent !important; + color: %base04% !important; +} +.s-label { + color: %base04% !important; +} +pre code { + background-color: %base01% !important; + color: %base05% !important; +} +pre code .atn { + color: %base0D% !important; +} +pre code .atv { + color: %base0C% !important; +} +pre code .com { + color: %base02% !important; +} +pre code .kwd { + color: %base0B% !important; +} +pre code .lit { + color: %base0F% !important; +} +pre code .pln, +pre code .pun { + color: %base04% !important; +} +pre code .str { + color: %base0C% !important; +} +pre code .tag { + color: %base0B% !important; +} +pre code .typ { + color: %base0A% !important; +} +#footer { + background-color: %base00% !important; + color: %base04% !important; +} +#footer #footer-sites th { + color: %base05% !important; +} +.top-footer-links a { + color: %base0B% !important; +} +.so-header { + background-color: %base01% !important; + color: %base05% !important; +} +.so-header a { + color: %base0B% !important; +} +.so-header .navigation .-list .-item :hover { + background-color: %base0B% !important; + color: %base07% !important; +} +.topbar-dialog { + background-color: %base00% !important; + box-shadow: %base02% 5px 5px 5px; +} +.topbar-dialog .current-site-container { + background-color: %base00% !important; +} +.topbar-dialog .header { + background-color: %base01% !important; +} +.topbar-dialog .header a { + color: %base05% !important; +} +.topbar-dialog .site-link { + color: %base05% !important; +} +#header { + background-color: %base01% !important; +} +#question-header .question-hyperlink { + color: %base05% !important; +} +#hlogo a { + filter: opacity(75%); +} +.new-post-activity { + background-color: %base01% !important; +} +.tagged-interesting { + background-color: %base01% !important; +} +div.answered-accepted { + background-color: %base0B% !important; + color: %base06% !important; +} +div.answered-accepted .mini-counts { + background-color: %base0B% !important; + color: %base06% !important; +} +.answered .mini-counts span { + color: %base0B% !important; +} +.unanswered .mini-counts span { + color: %base04% !important; +} +#hot-network-questions a { + color: %base0C% !important; +} +#hot-network-questions h4 a.js-gps-track { + color: %base05% !important; +} +#sidebar .community-bulletin .bulletin-item-content a { + color: %base05% !important; +} +#sidebar .module.community-bulletin { + background-color: %base01% !important; + color: %base05% !important; +} +#sidebar .question-hyperlink { + color: %base0C% !important; +} +.newuser { + background-color: %base01% !important; + color: %base05% !important; +} +.label-key { + color: %base04% !important; +} +.label-key b { + color: %base05% !important; +} +#h-chat-link { + color: %base05% !important; +} +.ad502-room { + background-color: %base01% !important; + box-shadow: %base02% 0px 1px 3px; + color: %base05% !important; +} +#tabs a { + background-color: transparent !important; + background-image: linear-gradient(to bottom, %base00%, %base01%); + color: %base05% !important; +} +#tabs a.youarehere { + background-image: linear-gradient(to bottom, %base09%, %base00%); + color: %base07% !important; +} +.post-tag { + background-color: %base02% !important; + color: %base00% !important; +} +.post-tag::before { + background-color: %base00% !important; +} +a.comment-user.owner { + background-color: %base0B% !important; + color: %base06% !important; +} +.post-signature { + background-color: %base01% !important; + color: %base05% !important; +} +.post-signature a { + color: %base0C% !important; +} +.post-signature.owner .user-info .user-details a { + color: %base0B% !important; +} +.post-signature span.relativetime { + color: %base05% !important; +} +.vote { + background-color: %base01% !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: %base02% !important; + color: %base00% !important; +} diff --git a/theme_styles b/theme_styles new file mode 100755 index 0000000..2caa0eb --- /dev/null +++ b/theme_styles @@ -0,0 +1,114 @@ +#!/usr/bin/env bash +# shellcheck disable=2016 +readonly dependency=("samme/base16-styles") +readonly app="styles" + +readonly path="$1" +readonly package="$2" +readonly theme="$3" +readonly permanent="$4" + +stylesheet="$HOME/.config/qutebrowser/stylesheets/stylesheet.css" +styletemplate="css-template.css" + +## Main Entrypoint +# +# Finds the right theme template file and starts theme +# switching and, if necessary, permanent setting processes. +main() { + dbg_msg $app "Starting Processor" + tfile="$path/$package/scss/base16-$theme.scss" + + if ! file_exists "$tfile"; then + dbg_msg $app "error" "Theme template $theme not found in package $package" + exit 1 + fi + + if [[ "$permanent" == "true" ]]; then save; fi + theme + + dbg_msg $app "Processor Done" +} + +## Theme switcher +# +# Makes sure that if any application instance is +# currently running, it switches to new theme. +theme() { + dbg_msg $app "Switching theme" + # make sure qutebrowser is running + pgrep qutebrowser >/dev/null || { + dbg_msg $app "warn" "No instance running, not switching theme" + return + } + qutebrowser --loglevel error ":set content.user_stylesheets $stylesheet" + dbg_msg $app "Successfully switched theme" +} + +## Theme setter +# +# Takes care of permanently writing the desired +# base16 theme into application settings. +save() { + dbg_msg $app "Saving theme" + + fix_placeholders + + echo "$newsheet" >"$stylesheet" + +} + +fix_placeholders() { + local base00 base01 base02 base03 base04 base05 base06 base07 base08 base09 base0A base0B base0C base0D base0E base0F + base00=$(grep -e "\$base00" "$tfile" | sed -e 's/^$base00: \(#[[:alnum:]]\+\);$/\1/') + base01=$(grep -e "\$base01" "$tfile" | sed -e 's/^$base01: \(#[[:alnum:]]\+\);$/\1/') + base02=$(grep -e "\$base02" "$tfile" | sed -e 's/^$base02: \(#[[:alnum:]]\+\);$/\1/') + base03=$(grep -e "\$base03" "$tfile" | sed -e 's/^$base03: \(#[[:alnum:]]\+\);$/\1/') + base04=$(grep -e "\$base04" "$tfile" | sed -e 's/^$base04: \(#[[:alnum:]]\+\);$/\1/') + base05=$(grep -e "\$base05" "$tfile" | sed -e 's/^$base05: \(#[[:alnum:]]\+\);$/\1/') + base06=$(grep -e "\$base06" "$tfile" | sed -e 's/^$base06: \(#[[:alnum:]]\+\);$/\1/') + base07=$(grep -e "\$base07" "$tfile" | sed -e 's/^$base07: \(#[[:alnum:]]\+\);$/\1/') + base08=$(grep -e "\$base08" "$tfile" | sed -e 's/^$base08: \(#[[:alnum:]]\+\);$/\1/') + base09=$(grep -e "\$base09" "$tfile" | sed -e 's/^$base09: \(#[[:alnum:]]\+\);$/\1/') + base0A=$(grep -e "\$base0A" "$tfile" | sed -e 's/^$base0A: \(#[[:alnum:]]\+\);$/\1/') + base0B=$(grep -e "\$base0B" "$tfile" | sed -e 's/^$base0B: \(#[[:alnum:]]\+\);$/\1/') + base0C=$(grep -e "\$base0C" "$tfile" | sed -e 's/^$base0C: \(#[[:alnum:]]\+\);$/\1/') + base0D=$(grep -e "\$base0D" "$tfile" | sed -e 's/^$base0D: \(#[[:alnum:]]\+\);$/\1/') + base0E=$(grep -e "\$base0E" "$tfile" | sed -e 's/^$base0E: \(#[[:alnum:]]\+\);$/\1/') + base0F=$(grep -e "\$base0F" "$tfile" | sed -e 's/^$base0F: \(#[[:alnum:]]\+\);$/\1/') + + newsheet=$(sed -e "s/%base00%/$base00/;s/%base01%/$base01/;s/%base02%/$base02/;s/%base03%/$base03/;s/%base04%/$base04/;s/%base05%/$base05/;s/%base06%/$base06/;s/%base07%/$base07/;s/%base08%/$base08/;s/%base09%/$base09/;s/%base0A%/$base0A/;s/%base0B%/$base0B/;s/%base0C%/$base0C/;s/%base0D%/$base0D/;s/%base0E%/$base0E/;s/%base0F%/$base0F/" "$styletemplate") +} + +## Theme includer +# +# Makes sure that theme is actually included in +# default application startup routine. +# This is the most invasive step of theming since it +# rewrites within existing configuration files. +include() { + local qt_dir="$1" + dbg_msg $app "Including theme in configuration" + + if file_exists "$qt_dir/config.py"; then + line_exists_or_append "$qt_dir/config.py" "config.source('colorscheme.py')" + dbg_msg $app "Successfully included theme in configuration" + else + dbg_msg $app "warn" "No default configuration file found" + fi +} + +# Safe sourcing: https://stackoverflow.com/a/12694189 +DIR="${BASH_SOURCE%/*}" +if [[ ! -d "$DIR" ]]; then DIR="$PWD"; fi +# shellcheck source=utilities.sh +. "$DIR/utilities.sh" +## Dependency Checker +# +# Makes sure the processor is called for the correct +# base16 package, or refuses to run if it is not. +if printf '%s\n' "${dependency[@]}" | grep -q -P "^$package$"; then + main +else + dbg_msg $app "error" "Processor does not work for package $package" +fi