209 lines
9.7 KiB
Python
209 lines
9.7 KiB
Python
|
def theme_init(c, cfg = {}):
|
||
|
## Colors
|
||
|
palette = {
|
||
|
'background': '#282a36',
|
||
|
'background-alt': '#282a36',
|
||
|
'background-attention': '#181920',
|
||
|
'border': '#282a36',
|
||
|
'current-line': '#44475a',
|
||
|
'selection': '#44475a',
|
||
|
'foreground': '#f8f8f2',
|
||
|
'foreground-alt': '#e0e0e0',
|
||
|
'foreground-attention': '#ffffff',
|
||
|
'comment': '#6272a4',
|
||
|
'cyan': '#8be9fd',
|
||
|
'green': '#50fa7b',
|
||
|
'orange': '#ffb86c',
|
||
|
'pink': '#ff79c6',
|
||
|
'purple': '#bd93f9',
|
||
|
'red': '#ff5555',
|
||
|
'yellow': '#f1fa8c'
|
||
|
}
|
||
|
|
||
|
spacing = cfg.get('spacing', {
|
||
|
'vertical': 5,
|
||
|
'horizontal': 5
|
||
|
})
|
||
|
|
||
|
padding = cfg.get('padding', {
|
||
|
'top': spacing['vertical'],
|
||
|
'right': spacing['horizontal'],
|
||
|
'bottom': spacing['vertical'],
|
||
|
'left': spacing['horizontal']
|
||
|
})
|
||
|
|
||
|
## Background color of the completion widget category headers.
|
||
|
c.colors.completion.category.bg = palette['background']
|
||
|
## Bottom border color of the completion widget category headers.
|
||
|
c.colors.completion.category.border.bottom = palette['border']
|
||
|
## Top border color of the completion widget category headers.
|
||
|
c.colors.completion.category.border.top = palette['border']
|
||
|
## Foreground color of completion widget category headers.
|
||
|
c.colors.completion.category.fg = palette['foreground']
|
||
|
## Background color of the completion widget for even rows.
|
||
|
c.colors.completion.even.bg = palette['background']
|
||
|
## Background color of the completion widget for odd rows.
|
||
|
c.colors.completion.odd.bg = palette['background-alt']
|
||
|
## Text color of the completion widget.
|
||
|
c.colors.completion.fg = palette['foreground']
|
||
|
## Background color of the selected completion item.
|
||
|
c.colors.completion.item.selected.bg = palette['selection']
|
||
|
## Bottom border color of the selected completion item.
|
||
|
c.colors.completion.item.selected.border.bottom = palette['selection']
|
||
|
## Top border color of the completion widget category headers.
|
||
|
c.colors.completion.item.selected.border.top = palette['selection']
|
||
|
## Foreground color of the selected completion item.
|
||
|
c.colors.completion.item.selected.fg = palette['foreground']
|
||
|
## Foreground color of the matched text in the completion.
|
||
|
c.colors.completion.match.fg = palette['orange']
|
||
|
## Color of the scrollbar in completion view
|
||
|
c.colors.completion.scrollbar.bg = palette['background']
|
||
|
## Color of the scrollbar handle in completion view.
|
||
|
c.colors.completion.scrollbar.fg = palette['foreground']
|
||
|
## Background color for the download bar.
|
||
|
c.colors.downloads.bar.bg = palette['background']
|
||
|
## Background color for downloads with errors.
|
||
|
c.colors.downloads.error.bg = palette['background']
|
||
|
## Foreground color for downloads with errors.
|
||
|
c.colors.downloads.error.fg = palette['red']
|
||
|
## Color gradient stop for download backgrounds.
|
||
|
c.colors.downloads.stop.bg = palette['background']
|
||
|
|
||
|
## Color gradient interpolation system for download backgrounds.
|
||
|
## Type: ColorSystem
|
||
|
## Valid values:
|
||
|
## - rgb: Interpolate in the RGB color system.
|
||
|
## - hsv: Interpolate in the HSV color system.
|
||
|
## - hsl: Interpolate in the HSL color system.
|
||
|
## - none: Don't show a gradient.
|
||
|
c.colors.downloads.system.bg = 'none'
|
||
|
|
||
|
## Background color for hints. Note that you can use a `rgba(...)` value
|
||
|
## for transparency.
|
||
|
c.colors.hints.bg = palette['background']
|
||
|
## Font color for hints.
|
||
|
c.colors.hints.fg = palette['purple']
|
||
|
## Hints
|
||
|
c.hints.border = '1px solid ' + palette['background-alt']
|
||
|
## Font color for the matched part of hints.
|
||
|
c.colors.hints.match.fg = palette['foreground-alt']
|
||
|
## Background color of the keyhint widget.
|
||
|
c.colors.keyhint.bg = palette['background']
|
||
|
## Text color for the keyhint widget.
|
||
|
c.colors.keyhint.fg = palette['purple']
|
||
|
## Highlight color for keys to complete the current keychain.
|
||
|
c.colors.keyhint.suffix.fg = palette['selection']
|
||
|
## Background color of an error message.
|
||
|
c.colors.messages.error.bg = palette['background']
|
||
|
## Border color of an error message.
|
||
|
c.colors.messages.error.border = palette['background-alt']
|
||
|
## Foreground color of an error message.
|
||
|
c.colors.messages.error.fg = palette['red']
|
||
|
## Background color of an info message.
|
||
|
c.colors.messages.info.bg = palette['background']
|
||
|
## Border color of an info message.
|
||
|
c.colors.messages.info.border = palette['background-alt']
|
||
|
## Foreground color an info message.
|
||
|
c.colors.messages.info.fg = palette['comment']
|
||
|
## Background color of a warning message.
|
||
|
c.colors.messages.warning.bg = palette['background']
|
||
|
## Border color of a warning message.
|
||
|
c.colors.messages.warning.border = palette['background-alt']
|
||
|
## Foreground color a warning message.
|
||
|
c.colors.messages.warning.fg = palette['red']
|
||
|
## Background color for prompts.
|
||
|
c.colors.prompts.bg = palette['background']
|
||
|
# ## Border used around UI elements in prompts.
|
||
|
c.colors.prompts.border = '1px solid ' + palette['background-alt']
|
||
|
## Foreground color for prompts.
|
||
|
c.colors.prompts.fg = palette['cyan']
|
||
|
## Background color for the selected item in filename prompts.
|
||
|
c.colors.prompts.selected.bg = palette['selection']
|
||
|
## Background color of the statusbar in caret mode.
|
||
|
c.colors.statusbar.caret.bg = palette['background']
|
||
|
## Foreground color of the statusbar in caret mode.
|
||
|
c.colors.statusbar.caret.fg = palette['orange']
|
||
|
## Background color of the statusbar in caret mode with a selection.
|
||
|
c.colors.statusbar.caret.selection.bg = palette['background']
|
||
|
## Foreground color of the statusbar in caret mode with a selection.
|
||
|
c.colors.statusbar.caret.selection.fg = palette['orange']
|
||
|
## Background color of the statusbar in command mode.
|
||
|
c.colors.statusbar.command.bg = palette['background']
|
||
|
## Foreground color of the statusbar in command mode.
|
||
|
c.colors.statusbar.command.fg = palette['pink']
|
||
|
## Background color of the statusbar in private browsing + command mode.
|
||
|
c.colors.statusbar.command.private.bg = palette['background']
|
||
|
## Foreground color of the statusbar in private browsing + command mode.
|
||
|
c.colors.statusbar.command.private.fg = palette['foreground-alt']
|
||
|
## Background color of the statusbar in insert mode.
|
||
|
c.colors.statusbar.insert.bg = palette['background-attention']
|
||
|
## Foreground color of the statusbar in insert mode.
|
||
|
c.colors.statusbar.insert.fg = palette['foreground-attention']
|
||
|
## Background color of the statusbar.
|
||
|
c.colors.statusbar.normal.bg = palette['background']
|
||
|
## Foreground color of the statusbar.
|
||
|
c.colors.statusbar.normal.fg = palette['foreground']
|
||
|
## Background color of the statusbar in passthrough mode.
|
||
|
c.colors.statusbar.passthrough.bg = palette['background']
|
||
|
## Foreground color of the statusbar in passthrough mode.
|
||
|
c.colors.statusbar.passthrough.fg = palette['orange']
|
||
|
## Background color of the statusbar in private browsing mode.
|
||
|
c.colors.statusbar.private.bg = palette['background-alt']
|
||
|
## Foreground color of the statusbar in private browsing mode.
|
||
|
c.colors.statusbar.private.fg = palette['foreground-alt']
|
||
|
## Background color of the progress bar.
|
||
|
c.colors.statusbar.progress.bg = palette['background']
|
||
|
## Foreground color of the URL in the statusbar on error.
|
||
|
c.colors.statusbar.url.error.fg = palette['red']
|
||
|
## Default foreground color of the URL in the statusbar.
|
||
|
c.colors.statusbar.url.fg = palette['foreground']
|
||
|
## Foreground color of the URL in the statusbar for hovered links.
|
||
|
c.colors.statusbar.url.hover.fg = palette['cyan']
|
||
|
## Foreground color of the URL in the statusbar on successful load
|
||
|
c.colors.statusbar.url.success.http.fg = palette['green']
|
||
|
## Foreground color of the URL in the statusbar on successful load
|
||
|
c.colors.statusbar.url.success.https.fg = palette['green']
|
||
|
## Foreground color of the URL in the statusbar when there's a warning.
|
||
|
c.colors.statusbar.url.warn.fg = palette['yellow']
|
||
|
## Status bar padding
|
||
|
c.statusbar.padding = padding
|
||
|
## Background color of the tab bar.
|
||
|
c.colors.tabs.bar.bg = palette['selection']
|
||
|
## Background color of unselected even tabs.
|
||
|
c.colors.tabs.even.bg = palette['selection']
|
||
|
## Foreground color of unselected even tabs.
|
||
|
c.colors.tabs.even.fg = palette['foreground']
|
||
|
## Color for the tab indicator on errors.
|
||
|
c.colors.tabs.indicator.error = palette['red']
|
||
|
## Color gradient start for the tab indicator.
|
||
|
c.colors.tabs.indicator.start = palette['orange']
|
||
|
## Color gradient end for the tab indicator.
|
||
|
c.colors.tabs.indicator.stop = palette['green']
|
||
|
|
||
|
## Color gradient interpolation system for the tab indicator.
|
||
|
## Type: ColorSystem
|
||
|
## Valid values:
|
||
|
## - rgb: Interpolate in the RGB color system.
|
||
|
## - hsv: Interpolate in the HSV color system.
|
||
|
## - hsl: Interpolate in the HSL color system.
|
||
|
## - none: Don't show a gradient.
|
||
|
c.colors.tabs.indicator.system = 'none'
|
||
|
|
||
|
## Background color of unselected odd tabs.
|
||
|
c.colors.tabs.odd.bg = palette['selection']
|
||
|
## Foreground color of unselected odd tabs.
|
||
|
c.colors.tabs.odd.fg = palette['foreground']
|
||
|
# ## Background color of selected even tabs.
|
||
|
c.colors.tabs.selected.even.bg = palette['background']
|
||
|
# ## Foreground color of selected even tabs.
|
||
|
c.colors.tabs.selected.even.fg = palette['foreground']
|
||
|
# ## Background color of selected odd tabs.
|
||
|
c.colors.tabs.selected.odd.bg = palette['background']
|
||
|
# ## Foreground color of selected odd tabs.
|
||
|
c.colors.tabs.selected.odd.fg = palette['foreground']
|
||
|
|
||
|
## Tab padding
|
||
|
c.tabs.padding = padding
|
||
|
c.tabs.indicator.width = 1
|
||
|
c.tabs.favicons.scale = 1
|