Compare commits

...

2 Commits

Author SHA1 Message Date
e859424677 Injection fixes + utils 2026-01-12 19:34:40 -07:00
9d423b64a4 Aiivii format 2026-01-12 19:33:58 -07:00
5 changed files with 456 additions and 5 deletions

View File

@@ -0,0 +1,6 @@
@define-color a #{{a}};
@define-color iiv #{{iiv}};
@define-color iv #{{iv}};
@define-color v #{{v}};
@define-color vi #{{vi}};
@define-color vii #{{vii}};

View File

@@ -0,0 +1,297 @@
# base16-qutebrowser (https://github.com/theova/base16-qutebrowser)
# Scheme name: {{scheme-name}}
# Scheme author: {{scheme-author}}
# Template author: theova and Daniel Mulford
# Commentary: Tinted Theming: (https://github.com/tinted-theming)
base00 = "#{{iiv}}"
base02 = "#{{iv}}"
base04 = "#{{vi}}"
base05 = "#{{vii}}"
base08 = "#{{a}}"
base09 = "#{{v}}"
base0D = "#{{v}}"
base0E = "#{{a}}"
border_highlight = "#19ffffff"
border_shadow = "#19666666"
# set qutebrowser colors
# Text color of the completion widget. May be a single color to use for
# all columns or a list of three colors, one for each column.
c.colors.completion.fg = base05
# Background color of the completion widget for odd rows.
c.colors.completion.odd.bg = "#80{{iiv}}"
# Background color of the completion widget for even rows.
c.colors.completion.even.bg = "#ee{{iiv}}"
# Foreground color of completion widget category headers.
c.colors.completion.category.fg = base0D
# Background color of the completion widget category headers.
c.colors.completion.category.bg = "#ee{{iiv}}"
# Top border color of the completion widget category headers.
c.colors.completion.category.border.top = border_highlight
# Bottom border color of the completion widget category headers.
c.colors.completion.category.border.bottom = border_shadow
# Foreground color of the selected completion item.
c.colors.completion.item.selected.fg = base08
# Background color of the selected completion item.
c.colors.completion.item.selected.bg = base02
# Top border color of the selected completion item.
c.colors.completion.item.selected.border.top = border_highlight
# Bottom border color of the selected completion item.
c.colors.completion.item.selected.border.bottom = border_shadow
# Foreground color of the matched text in the selected completion item.
c.colors.completion.item.selected.match.fg = base05
# Foreground color of the matched text in the completion.
c.colors.completion.match.fg = base08
# Color of the scrollbar handle in the completion view.
c.colors.completion.scrollbar.fg = base05
# Color of the scrollbar in the completion view.
c.colors.completion.scrollbar.bg = base00
# Background color of disabled items in the context menu.
c.colors.contextmenu.disabled.bg = base00
# Foreground color of disabled items in the context menu.
c.colors.contextmenu.disabled.fg = base04
# Background color of the context menu. If set to null, the Qt default is used.
c.colors.contextmenu.menu.bg = base00
# Foreground color of the context menu. If set to null, the Qt default is used.
c.colors.contextmenu.menu.fg = base05
# Background color of the context menus selected item. If set to null, the Qt default is used.
c.colors.contextmenu.selected.bg = base02
#Foreground color of the context menus selected item. If set to null, the Qt default is used.
c.colors.contextmenu.selected.fg = base05
# Background color for the download bar.
c.colors.downloads.bar.bg = base00
# Color gradient start for download text.
c.colors.downloads.start.fg = base00
# Color gradient start for download backgrounds.
c.colors.downloads.start.bg = base04
# Color gradient end for download text.
c.colors.downloads.stop.fg = base00
# Color gradient end for download backgrounds.
c.colors.downloads.stop.bg = base09
# Foreground color for downloads with errors.
c.colors.downloads.error.fg = base08
# Font color for hints.
c.colors.hints.fg = base00
# Background color for hints. Note that you can use a `rgba(...)` value
# for transparency.
c.colors.hints.bg = base09
# Font color for the matched part of hints.
c.colors.hints.match.fg = base05
# Text color for the keyhint widget.
c.colors.keyhint.fg = base05
# Highlight color for keys to complete the current keychain.
c.colors.keyhint.suffix.fg = base05
# Background color of the keyhint widget.
c.colors.keyhint.bg = base00
# Foreground color of an error message.
c.colors.messages.error.fg = base00
# Background color of an error message.
c.colors.messages.error.bg = base08
# Border color of an error message.
c.colors.messages.error.border = base08
# Foreground color of a warning message.
c.colors.messages.warning.fg = base00
# Background color of a warning message.
c.colors.messages.warning.bg = base0E
# Border color of a warning message.
c.colors.messages.warning.border = base0E
# Foreground color of an info message.
c.colors.messages.info.fg = base05
# Background color of an info message.
c.colors.messages.info.bg = base00
# Border color of an info message.
c.colors.messages.info.border = base00
# Foreground color for prompts.
c.colors.prompts.fg = base05
# Border used around UI elements in prompts.
c.colors.prompts.border = base00
# Background color for prompts.
c.colors.prompts.bg = base00
# Background color for the selected item in filename prompts.
c.colors.prompts.selected.bg = base02
# Foreground color for the selected item in filename prompts.
c.colors.prompts.selected.fg = base05
# Foreground color of the statusbar.
c.colors.statusbar.normal.fg = base05
# Background color of the statusbar.
c.colors.statusbar.normal.bg = base00
# Foreground color of the statusbar in insert mode.
c.colors.statusbar.insert.fg = base08
# Background color of the statusbar in insert mode.
c.colors.statusbar.insert.bg = base00
# Foreground color of the statusbar in passthrough mode.
c.colors.statusbar.passthrough.fg = base08
# Background color of the statusbar in passthrough mode.
c.colors.statusbar.passthrough.bg = base02
# Foreground color of the statusbar in private browsing mode.
c.colors.statusbar.private.fg = c.colors.statusbar.normal.fg
# Background color of the statusbar in private browsing mode.
c.colors.statusbar.private.bg = c.colors.statusbar.normal.bg
# Foreground color of the statusbar in command mode.
c.colors.statusbar.command.fg = base04
# Background color of the statusbar in command mode.
c.colors.statusbar.command.bg = base00
# Foreground color of the statusbar in private browsing + command mode.
c.colors.statusbar.command.private.fg = c.colors.statusbar.command.fg
# Background color of the statusbar in private browsing + command mode.
c.colors.statusbar.command.private.bg = c.colors.statusbar.command.bg
# Foreground color of the statusbar in caret mode.
c.colors.statusbar.caret.fg = base09
# Background color of the statusbar in caret mode.
c.colors.statusbar.caret.bg = base00
# Foreground color of the statusbar in caret mode with a selection.
c.colors.statusbar.caret.selection.fg = base09
# Background color of the statusbar in caret mode with a selection.
c.colors.statusbar.caret.selection.bg = base00
# Background color of the progress bar.
c.colors.statusbar.progress.bg = base05
# Default foreground color of the URL in the statusbar.
c.colors.statusbar.url.fg = base05
# Foreground color of the URL in the statusbar on error.
c.colors.statusbar.url.error.fg = base08
# Foreground color of the URL in the statusbar for hovered links.
c.colors.statusbar.url.hover.fg = base09
# Foreground color of the URL in the statusbar on successful load
# (http).
c.colors.statusbar.url.success.http.fg = base09
# Foreground color of the URL in the statusbar on successful load
# (https).
c.colors.statusbar.url.success.https.fg = base09
# Foreground color of the URL in the statusbar when there's a warning.
c.colors.statusbar.url.warn.fg = base0E
# Background color of the tab bar.
c.colors.tabs.bar.bg = base00
# Color gradient start for the tab indicator.
c.colors.tabs.indicator.start = base05
# Color gradient end for the tab indicator.
c.colors.tabs.indicator.stop = base09
# Color for the tab indicator on errors.
c.colors.tabs.indicator.error = base08
# Foreground color of unselected odd tabs.
c.colors.tabs.odd.fg = base05
# Background color of unselected odd tabs.
c.colors.tabs.odd.bg = base02
# Foreground color of unselected even tabs.
c.colors.tabs.even.fg = base05
# Background color of unselected even tabs.
c.colors.tabs.even.bg = base00
# Background color of pinned unselected even tabs.
c.colors.tabs.pinned.even.bg = base09
# Foreground color of pinned unselected even tabs.
c.colors.tabs.pinned.even.fg = base00
# Background color of pinned unselected odd tabs.
c.colors.tabs.pinned.odd.bg = base09
# Foreground color of pinned unselected odd tabs.
c.colors.tabs.pinned.odd.fg = base00
# Background color of pinned selected even tabs.
c.colors.tabs.pinned.selected.even.bg = base02
# Foreground color of pinned selected even tabs.
c.colors.tabs.pinned.selected.even.fg = base05
# Background color of pinned selected odd tabs.
c.colors.tabs.pinned.selected.odd.bg = base02
# Foreground color of pinned selected odd tabs.
c.colors.tabs.pinned.selected.odd.fg = base05
# Foreground color of selected odd tabs.
c.colors.tabs.selected.odd.fg = base05
# Background color of selected odd tabs.
c.colors.tabs.selected.odd.bg = base02
# Foreground color of selected even tabs.
c.colors.tabs.selected.even.fg = base05
# Background color of selected even tabs.
c.colors.tabs.selected.even.bg = base02
# Background color for webpages if unset (or empty to use the theme's
# color).
c.colors.webpage.bg = "#fff"

View File

@@ -0,0 +1,127 @@
* {
background-color: @iiv;
mica-iiv: rgba({{rgb_r iiv}}, {{rgb_g iiv}}, {{rgb_b iiv}}, 0.9);
a: #{{a}};
iiv: #{{iiv}};
iv: #{{iv}};
v: #{{v}};
vi: #{{vi}};
vii: #{{vii}};
}
window {
background-color: transparent;
children: [ listview, inputbar ];
}
window {
/* transparency: "background"; */
border-color: @vi;
border: 1;
/* padding: 3; */
}
mainbox {
border: 0;
padding: 0;
}
message {
/* border: 1px dash 0px 0px ; */
/* border-color: @vi; */
/* padding: 1px ; */
}
textbox {
text-color: @vii;
}
listview {
background-color: @mica-iiv;
fixed-height: 0;
/* border: 2px dash 0px 0px ; */
border-color: @vi;
spacing: 0px;
/* spacing: 2px ; */
scrollbar: true;
/* padding: 2px 0px 0px ; */
}
element-text, inputbar {
padding: 2px 6px;
vertical-align: 0.5;
}
element-icon {
padding: 3px 0 3px 3px;
size: 20px;
}
element-text, element-icon {
background-color: inherit;
text-color: inherit;
}
element {
background-color: transparent;
border: 0;
text-color: @vii;
}
element normal.urgent {
text-color: @a;
}
element normal.active {
text-color: @v;
}
element selected.normal {
background-color: @iv;
text-color: @a;
border: 1px 0 0 0;
border-color: rgba(255, 255, 255, 20%);
}
element-text selected, element-icon.selected {
border: 0 0 1px 0;
border-color: rgba(102, 102, 102, 20%);
}
element.alternate {
background-color: @iiv;
}
scrollbar {
width: 4px ;
border: 0;
handle-color: @vi;
handle-width: 8px ;
padding: 0;
}
sidebar {
border: 2px dash 0px 0px ;
border-color: @vi;
}
button {
spacing: 0;
text-color: @vii;
}
/*button selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}*/
inputbar {
spacing: 0px;
text-color: @vii;
/* padding: 1px ; */
padding: 6px;
font: "Noto Mono 11";
children: [ textbox-prompt-colon,entry,case-indicator ];
}
case-indicator {
spacing: 0;
text-color: @vii;
}
entry {
spacing: 0;
text-color: @vii;
}
prompt {
spacing: 0;
text-color: @vii;
}
textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3000em 0.0000em 0.0000em ;
text-color: inherit;
}

View File

@@ -0,0 +1,6 @@
a="{{base0C}}"
iiv="{{base00}}"
iv="{{base02}}"
v="{{base09}}"
vi="{{base05}}"
vii="{{base07}}"

View File

@@ -86,7 +86,7 @@ get_comment_start() {
ext="${ext##*.}" ext="${ext##*.}"
case $ext in case $ext in
js|rasi) js|rasi|kdl)
comment_start="//" comment_start="//"
;; ;;
@@ -127,6 +127,7 @@ create_theme() {
inject() { inject() {
path=$1 path=$1
dirname="$(dirname "$path")"
parse_scheme parse_scheme
check_scheme_path check_scheme_path
parse_comment_pattern parse_comment_pattern
@@ -135,11 +136,13 @@ inject() {
if [ "$comment_start" == "" ]; then if [ "$comment_start" == "" ]; then
comment_start="#" comment_start="#"
fi fi
cd "$dirname" || exit
awk -v blockstart="${comment_start}START SHCHEMES BLOCK" \ awk -v blockstart="${comment_start}START SHCHEMES BLOCK" \
-v blockend="${comment_start}END SHCHEMES BLOCK" \ -v blockend="${comment_start}END SHCHEMES BLOCK${comment_end}" \
-v commentend="$comment_end" \ -v commentend="$comment_end" \
-v scheme="$scheme" \ -v scheme="$scheme" \
-v shchemes="$shchemes_path" \ -v shchemes="$shchemes_path" \
-v dirname="$dirname" \
-v sq="'" \ -v sq="'" \
-v nl="\n" \ -v nl="\n" \
-F ":" ' -F ":" '
@@ -151,23 +154,24 @@ $1 ~ blockstart {
inblock = 1; inblock = 1;
bi = 0; bi = 0;
command = substr($2, 0, length($2) - length(commentend)) command = substr($2, 0, length($2) - length(commentend))
system("/usr/bin/env bash -c " sq "SCHEME=\"" scheme "\";" command sq); system("cd " dirname " && /usr/bin/env bash -c " sq "SCHEME=\"" scheme "\";" command sq);
next next
} }
$1 == blockend && inblock { $1 == blockend && inblock {
inblock = 0; inblock = 0;
print nl blockend commentend; print nl blockend;
next; next;
} }
ENDFILE { ENDFILE {
if(inblock) { if(inblock) {
print nl blockend commentend; print nl blockend;
for(i=1;i<=bi;i++) { for(i=1;i<=bi;i++) {
print lines[i]; print lines[i];
} }
} }
} }
' "$path" > "$tmp" && mv "$tmp" "$path" ' "$path" > "$tmp" && mv "$tmp" "$path"
cd - || exit
} }
# TODO: multiple format support, check that line actually has multiple fields # TODO: multiple format support, check that line actually has multiple fields
@@ -251,6 +255,13 @@ install_tinted_template() {
rm "$tmp" rm "$tmp"
} }
print_scheme_path() {
parse_scheme
check_scheme_path
printf %s\\n "$scheme_path"
exit
}
manual() { manual() {
man "${shchemes_dir}/doc/shchemes.1" man "${shchemes_dir}/doc/shchemes.1"
} }
@@ -260,6 +271,10 @@ if [ "$method" != "" ]; then
create_theme) create_theme)
create_theme "${args[1]}" create_theme "${args[1]}"
;; ;;
path)
print_scheme_path
;;
inject) inject)
inject "${args[1]}" "${args[2]}" inject "${args[1]}" "${args[2]}"