mirror of
https://github.com/zen-browser/theme-store.git
synced 2025-07-07 08:55:31 +02:00
refactor(scripts): added compatibility layer with old prefs style, convert prefs to new style on theme rebuild (#424)
* refactor(scripts): replaced hyphens with underscores in script names * test(rebuild_themes): debug logs * Rebuild themes.json after theme submission * refactor(rebuild_themes): added preferences loading * fix(submit-pr): fixed dependencies * debug(rebuild_themes): add pre print * feature(rebuild_themes): save preferences to file * feature(rebuild_themes): add ident * Rebuild themes.json after theme submission --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This commit is contained in:
parent
640f563c73
commit
80842c45a7
22 changed files with 647 additions and 178 deletions
18
.github/workflows/create-theme.yml
vendored
18
.github/workflows/create-theme.yml
vendored
|
@ -17,7 +17,7 @@ jobs:
|
|||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: '3.x'
|
||||
|
||||
|
||||
- name: Setup python modules
|
||||
run: |
|
||||
pip3 install requests
|
||||
|
@ -39,19 +39,19 @@ jobs:
|
|||
echo "THEME_IS_COLOR_THEME=${{ contains(fromJson(steps.issue-parser.outputs.jsonString)['is-color-theme'], 'JSON Color Theme') }}" >> $GITHUB_ENV
|
||||
|
||||
- name: Write styles to file
|
||||
uses: "DamianReeves/write-file-action@master"
|
||||
uses: 'DamianReeves/write-file-action@master'
|
||||
with:
|
||||
contents: ${{ fromJson(steps.issue-parser.outputs.jsonString)['styles'] }}
|
||||
path: theme-styles.css
|
||||
|
||||
- name: Write readme to file
|
||||
uses: "DamianReeves/write-file-action@master"
|
||||
uses: 'DamianReeves/write-file-action@master'
|
||||
with:
|
||||
contents: ${{ fromJson(steps.issue-parser.outputs.jsonString)['readme'] }}
|
||||
path: theme-readme.md
|
||||
|
||||
- name: Write preferences to file
|
||||
uses: "DamianReeves/write-file-action@master"
|
||||
uses: 'DamianReeves/write-file-action@master'
|
||||
if: fromJson(steps.issue-parser.outputs.jsonString)['preferences'] != ''
|
||||
with:
|
||||
contents: ${{ fromJson(steps.issue-parser.outputs.jsonString)['preferences'] }}
|
||||
|
@ -64,7 +64,7 @@ jobs:
|
|||
|
||||
- name: Create theme content
|
||||
run: |
|
||||
python3 scripts/submit-theme.py \
|
||||
python3 scripts/submit_theme.py \
|
||||
--name "${{ env.THEME_NAME }}" \
|
||||
--description "${{ env.THEME_DESCRIPTION }}" \
|
||||
--author "${{ env.THEME_AUTHOR }}" \
|
||||
|
@ -77,7 +77,7 @@ jobs:
|
|||
run: |
|
||||
cat error.log
|
||||
echo "CREATION_OUTPUT=$(cat error.log)" >> $GITHUB_ENV
|
||||
|
||||
|
||||
- name: Show error message
|
||||
if: failure()
|
||||
uses: peter-evans/close-issue@v3
|
||||
|
@ -97,9 +97,9 @@ jobs:
|
|||
add-paths: themes/
|
||||
labels: staged
|
||||
token: ${{ secrets.DEPLOY_KEY }}
|
||||
commit-message: "Add theme: ${{ env.THEME_NAME }}"
|
||||
commit-message: 'Add theme: ${{ env.THEME_NAME }}'
|
||||
delete-branch: true
|
||||
title: "Add theme: ${{ env.THEME_NAME }}"
|
||||
title: 'Add theme: ${{ env.THEME_NAME }}'
|
||||
body: |
|
||||
# Add theme: ${{ env.THEME_NAME }}
|
||||
|
||||
|
@ -112,7 +112,7 @@ jobs:
|
|||
* **Author**: @${{ env.THEME_AUTHOR }}
|
||||
branch: create-theme-${{ github.event.issue.number }}
|
||||
base: main
|
||||
|
||||
|
||||
- name: Close Issue
|
||||
uses: peter-evans/close-issue@v3
|
||||
with:
|
||||
|
|
12
.github/workflows/submit-pr.yml
vendored
12
.github/workflows/submit-pr.yml
vendored
|
@ -3,7 +3,7 @@ on:
|
|||
pull_request:
|
||||
types: [closed]
|
||||
workflow_dispatch:
|
||||
|
||||
|
||||
jobs:
|
||||
submitPR:
|
||||
permissions: write-all
|
||||
|
@ -18,6 +18,10 @@ jobs:
|
|||
with:
|
||||
python-version: '3.x'
|
||||
|
||||
- name: Setup python modules
|
||||
run: |
|
||||
pip3 install requests
|
||||
|
||||
- name: Setup Git
|
||||
run: |
|
||||
git config --global user.name "github-actions[bot]"
|
||||
|
@ -25,13 +29,11 @@ jobs:
|
|||
|
||||
- name: Rebuild all themes
|
||||
run: |
|
||||
python3 scripts/rebuild-themes.py
|
||||
|
||||
python3 scripts/rebuild_themes.py
|
||||
|
||||
- name: Commit changes
|
||||
run: |
|
||||
git add themes.json
|
||||
git add themes/*
|
||||
git commit -m "Rebuild themes.json after theme submission"
|
||||
git push
|
||||
|
||||
|
||||
|
|
|
@ -1,69 +0,0 @@
|
|||
|
||||
import os
|
||||
import json
|
||||
|
||||
THEMES_FOLDER = './themes'
|
||||
THEMES_DATA_FILE = './themes.json'
|
||||
|
||||
def get_color_css_variable(color):
|
||||
if color == "primaryColor":
|
||||
return '--zen-colors-primary'
|
||||
if color == "secondaryColor":
|
||||
return '--zen-colors-secondary'
|
||||
if color == "tertiaryColor":
|
||||
return '--zen-colors-tertiary'
|
||||
if color == "colorsBorder":
|
||||
return '--zen-colors-border'
|
||||
if color == "dialogBg":
|
||||
return '--zen-dialog-background'
|
||||
if color == "accentColor":
|
||||
return '--zen-primary-color'
|
||||
print(f"Unknown color: {color}")
|
||||
exit(1)
|
||||
|
||||
def write_colors(colors_file, output_file):
|
||||
with open(colors_file, 'r') as f:
|
||||
colors = json.load(f)
|
||||
with open(output_file, 'w') as f:
|
||||
f.write('/* This is an auto generated color theme. */\n')
|
||||
f.write(':root {\n')
|
||||
for color in colors:
|
||||
if color == "isDarkMode":
|
||||
continue
|
||||
f.write(f' {get_color_css_variable(color)}: {colors[color]} !important;\n')
|
||||
f.write('}\n')
|
||||
return colors
|
||||
|
||||
def main():
|
||||
with open(THEMES_DATA_FILE, 'w') as f:
|
||||
json.dump({}, f, indent=4)
|
||||
for theme in os.listdir(THEMES_FOLDER):
|
||||
theme_folder = os.path.join(THEMES_FOLDER, theme)
|
||||
if not os.path.isdir(theme_folder):
|
||||
continue
|
||||
theme_data_file = os.path.join(theme_folder, 'theme.json')
|
||||
if not os.path.exists(theme_data_file):
|
||||
continue
|
||||
with open(theme_data_file, 'r') as f:
|
||||
theme_data = json.load(f)
|
||||
with open(theme_data_file, 'w') as f:
|
||||
json.dump(theme_data, f, indent=4) # format the json file
|
||||
with open(THEMES_DATA_FILE, 'r') as f:
|
||||
themes_data = json.load(f)
|
||||
theme_colors_file = os.path.join(theme_folder, 'colors.json')
|
||||
if os.path.exists(theme_colors_file):
|
||||
print(f" Found colors.json in theme: {theme}")
|
||||
theme_colors_output = os.path.join(theme_folder, 'chrome.css')
|
||||
colors = write_colors(theme_colors_file, theme_colors_output)
|
||||
if 'isDarkMode' in colors:
|
||||
theme_data['isDarkMode'] = colors['isDarkMode']
|
||||
theme_data['isColorTheme'] = True
|
||||
themes_data[theme] = theme_data
|
||||
with open(THEMES_DATA_FILE, 'w') as f:
|
||||
json.dump(themes_data, f)
|
||||
del themes_data
|
||||
print(f"Rebuilt theme: {theme}")
|
||||
print("Rebuilt all themes!")
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
109
scripts/rebuild_themes.py
Normal file
109
scripts/rebuild_themes.py
Normal file
|
@ -0,0 +1,109 @@
|
|||
import os
|
||||
import json
|
||||
from submit_theme import convert_legacy_preferences
|
||||
|
||||
THEMES_FOLDER = "./themes"
|
||||
THEMES_DATA_FILE = "./themes.json"
|
||||
|
||||
|
||||
def get_color_css_variable(color):
|
||||
if color == "primaryColor":
|
||||
return "--zen-colors-primary"
|
||||
if color == "secondaryColor":
|
||||
return "--zen-colors-secondary"
|
||||
if color == "tertiaryColor":
|
||||
return "--zen-colors-tertiary"
|
||||
if color == "colorsBorder":
|
||||
return "--zen-colors-border"
|
||||
if color == "dialogBg":
|
||||
return "--zen-dialog-background"
|
||||
if color == "accentColor":
|
||||
return "--zen-primary-color"
|
||||
print(f"Unknown color: {color}")
|
||||
exit(1)
|
||||
|
||||
|
||||
def write_colors(colors_file, output_file):
|
||||
with open(colors_file, "r") as f:
|
||||
colors = json.load(f)
|
||||
|
||||
with open(output_file, "w") as f:
|
||||
f.write("/* This is an auto generated color theme. */\n")
|
||||
f.write(":root {\n")
|
||||
|
||||
for color in colors:
|
||||
if color == "isDarkMode":
|
||||
continue
|
||||
f.write(
|
||||
f" {get_color_css_variable(color)}: {colors[color]} !important;\n"
|
||||
)
|
||||
|
||||
f.write("}\n")
|
||||
return colors
|
||||
|
||||
|
||||
def main():
|
||||
with open(THEMES_DATA_FILE, "w") as f:
|
||||
json.dump({}, f, indent=4)
|
||||
for theme in os.listdir(THEMES_FOLDER):
|
||||
theme_folder = os.path.join(THEMES_FOLDER, theme)
|
||||
|
||||
if not os.path.isdir(theme_folder):
|
||||
continue
|
||||
|
||||
theme_data_file = os.path.join(theme_folder, "theme.json")
|
||||
|
||||
if not os.path.exists(theme_data_file):
|
||||
continue
|
||||
|
||||
with open(theme_data_file, "r") as f:
|
||||
theme_data = json.load(f)
|
||||
|
||||
with open(theme_data_file, "w") as f:
|
||||
json.dump(theme_data, f, indent=4) # format the json file
|
||||
|
||||
with open(THEMES_DATA_FILE, "r") as f:
|
||||
themes_data = json.load(f)
|
||||
theme_colors_file = os.path.join(theme_folder, "colors.json")
|
||||
|
||||
if os.path.exists(theme_colors_file):
|
||||
print(f" Found colors.json in theme: {theme}")
|
||||
|
||||
theme_colors_output = os.path.join(theme_folder, "chrome.css")
|
||||
colors = write_colors(theme_colors_file, theme_colors_output)
|
||||
|
||||
if "isDarkMode" in colors:
|
||||
theme_data["isDarkMode"] = colors["isDarkMode"]
|
||||
|
||||
theme_data["isColorTheme"] = True
|
||||
|
||||
themes_data[theme] = theme_data
|
||||
|
||||
with open(THEMES_DATA_FILE, "w") as f:
|
||||
json.dump(themes_data, f)
|
||||
del themes_data
|
||||
|
||||
preferences_data_file = os.path.join(theme_folder, "preferences.json")
|
||||
|
||||
if os.path.exists(preferences_data_file):
|
||||
print(f"Found preferences.json in theme: {theme}")
|
||||
|
||||
with open(preferences_data_file, "r") as f:
|
||||
preferences_data = json.load(f)
|
||||
|
||||
if isinstance(preferences_data, dict):
|
||||
print(
|
||||
"Legacy preferences found, performing transformation into new structure."
|
||||
)
|
||||
preferences_data = convert_legacy_preferences(preferences_data)
|
||||
|
||||
with open(preferences_data_file, "w") as f:
|
||||
json.dump(preferences_data, f, indent=4)
|
||||
del preferences_data
|
||||
|
||||
print(f"Rebuilt theme: {theme}")
|
||||
print("Rebuilt all themes!")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
|
@ -150,7 +150,9 @@ def validate_preferences(preferences):
|
|||
)
|
||||
)
|
||||
|
||||
if not set(properties.keys()).issuperset(REQUIRED_FIELDS):
|
||||
if not len(set(properties).intersection(REQUIRED_FIELDS)) == len(
|
||||
REQUIRED_FIELDS
|
||||
):
|
||||
panic(f"Required fields ({", ".join(REQUIRED_FIELDS)}) are not in {entry}.")
|
||||
|
||||
current_type = parse_type(properties[PreferenceFields.TYPE])
|
||||
|
@ -206,10 +208,12 @@ def validate_preferences(preferences):
|
|||
panic(
|
||||
f"Field disabledOn in {current_property} is expecting an array"
|
||||
)
|
||||
elif len(value) != 0 and not set(value).issuperset(VALID_OS):
|
||||
panic(
|
||||
f"Field disabledOn in {current_property} is expecting one or more of {", ".join(VALID_OS)} but received {", ".join(value)}"
|
||||
)
|
||||
elif len(value) != 0:
|
||||
for possibleOs in value:
|
||||
if possibleOs not in VALID_OS:
|
||||
panic(
|
||||
f"Field disabledOn in {current_property} is expecting one or more of {", ".join(VALID_OS)} but received {possibleOs}"
|
||||
)
|
||||
|
||||
case PreferenceFields.PLACEHOLDER:
|
||||
if not current_type in PLACEHOLDER_TYPES:
|
||||
|
@ -223,6 +227,33 @@ def validate_preferences(preferences):
|
|||
return preferences
|
||||
|
||||
|
||||
def convert_legacy_preferences(preferences):
|
||||
key_regex = re.compile(r"(!?)(?:(macos|windows|linux):)?([A-z0-9-_.]+)")
|
||||
new_preferences = []
|
||||
for key, label in preferences.items():
|
||||
negated, osValue, property = key_regex.search(key).groups()
|
||||
|
||||
disabledOn = []
|
||||
|
||||
if negated == "!" and osValue:
|
||||
disabledOn = [osValue]
|
||||
elif osValue:
|
||||
disabledOn = [i for i in VALID_OS if i != osValue]
|
||||
|
||||
new_preferences.append(
|
||||
dict(
|
||||
[
|
||||
("property", property),
|
||||
("label", label),
|
||||
("type", "checkbox"),
|
||||
("disabledOn", disabledOn),
|
||||
]
|
||||
)
|
||||
)
|
||||
|
||||
return new_preferences
|
||||
|
||||
|
||||
def get_preferences():
|
||||
with open(TEMPLATE_PREFERENCES_FILE, "r") as f:
|
||||
try:
|
||||
|
@ -231,7 +262,16 @@ def get_preferences():
|
|||
return {}
|
||||
content = re.sub(r"```json\n*", "", content)
|
||||
content = re.sub(r"\n*```\n*", "", content)
|
||||
return validate_preferences(json.loads(content))
|
||||
|
||||
if content.startswith("{") and content.endswith("}"):
|
||||
print(
|
||||
"Warning: Detected legacy preferences syntax, converting them into new syntax"
|
||||
)
|
||||
content = convert_legacy_preferences(json.loads(content))
|
||||
else:
|
||||
content = json.loads(content)
|
||||
|
||||
return validate_preferences(content)
|
||||
except json.JSONDecodeError as e:
|
||||
panic("Preferences file is invalid.", e)
|
||||
|
File diff suppressed because one or more lines are too long
|
@ -1,6 +1,26 @@
|
|||
{
|
||||
"uc.theme.comptitle-one-char-title.enabled": "Shorter title (1 character)",
|
||||
"uc.theme.comptitle-three-char-title.enabled": "Longer title (3 characters)",
|
||||
"uc.theme.comptitle-enable-pinned.enabled": "Enable in pinned tabs",
|
||||
"uc.theme.comptitle-default-text.enabled": "More contrast-y text, may be harder to look at"
|
||||
}
|
||||
[
|
||||
{
|
||||
"property": "uc.theme.comptitle-one-char-title.enabled",
|
||||
"label": "Shorter title (1 character)",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.theme.comptitle-three-char-title.enabled",
|
||||
"label": "Longer title (3 characters)",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.theme.comptitle-enable-pinned.enabled",
|
||||
"label": "Enable in pinned tabs",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.theme.comptitle-default-text.enabled",
|
||||
"label": "More contrast-y text, may be harder to look at",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
}
|
||||
]
|
|
@ -1,3 +1,8 @@
|
|||
{
|
||||
"uc.theme.hide-sidebar-header.enabled": "Hide Sidebar Header"
|
||||
}
|
||||
[
|
||||
{
|
||||
"property": "uc.theme.hide-sidebar-header.enabled",
|
||||
"label": "Hide Sidebar Header",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
}
|
||||
]
|
|
@ -84,4 +84,4 @@
|
|||
"label": "Hide the private browsing icon.",
|
||||
"type": "checkbox"
|
||||
}
|
||||
]
|
||||
]
|
|
@ -1 +1,35 @@
|
|||
{"!macos:uc.hide-minimize": "Hide the minimize window button", "!macos:uc.hide-maximize": "Hide the maximize window button", "!macos:uc.hide-close": "Hide the close window button", "macos:uc.hide-window-buttons": "Hide the window buttons"}
|
||||
[
|
||||
{
|
||||
"property": "uc.hide-minimize",
|
||||
"label": "Hide the minimize window button",
|
||||
"type": "checkbox",
|
||||
"disabledOn": [
|
||||
"macos"
|
||||
]
|
||||
},
|
||||
{
|
||||
"property": "uc.hide-maximize",
|
||||
"label": "Hide the maximize window button",
|
||||
"type": "checkbox",
|
||||
"disabledOn": [
|
||||
"macos"
|
||||
]
|
||||
},
|
||||
{
|
||||
"property": "uc.hide-close",
|
||||
"label": "Hide the close window button",
|
||||
"type": "checkbox",
|
||||
"disabledOn": [
|
||||
"macos"
|
||||
]
|
||||
},
|
||||
{
|
||||
"property": "uc.hide-window-buttons",
|
||||
"label": "Hide the window buttons",
|
||||
"type": "checkbox",
|
||||
"disabledOn": [
|
||||
"linux",
|
||||
"windows"
|
||||
]
|
||||
}
|
||||
]
|
|
@ -1,5 +1,20 @@
|
|||
{
|
||||
"uc.floatingtoolbar.compact.enabled": "Enable compact toolbar, similar to Smaller Compact Mode by n7itro",
|
||||
"uc.floatingtoolbar.increase.spacing": "Increase space around edge of browser window and toolbar / tab bar",
|
||||
"uc.floatingtoolbar.merge.bookmarks": "Merge bookmark bar with toolbar (requires visible bookbark bar)"
|
||||
}
|
||||
[
|
||||
{
|
||||
"property": "uc.floatingtoolbar.compact.enabled",
|
||||
"label": "Enable compact toolbar, similar to Smaller Compact Mode by n7itro",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.floatingtoolbar.increase.spacing",
|
||||
"label": "Increase space around edge of browser window and toolbar / tab bar",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.floatingtoolbar.merge.bookmarks",
|
||||
"label": "Merge bookmark bar with toolbar (requires visible bookbark bar)",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
}
|
||||
]
|
|
@ -9,4 +9,4 @@
|
|||
"author": "anaarkei",
|
||||
"preferences": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/67b12475-1c26-4d13-9156-297383ed8dbf/preferences.json",
|
||||
"version": "2.1.0"
|
||||
}
|
||||
}
|
|
@ -1,13 +1,68 @@
|
|||
{
|
||||
"uc.minimal-sidebar.hide-alltabs-button.enabled": "Hide the alltabs button",
|
||||
"uc.minimal-sidebar.hide-newtab-button.enabled": "Hide the newtab button",
|
||||
"uc.minimal-sidebar.hide-profile-button.enabled": "Hide the profile button",
|
||||
"uc.minimal-sidebar.hide-expand-sidebar-button.enabled": "Hide the expand sidebar button",
|
||||
"uc.minimal-sidebar.hide-bookmark-button.enabled": "Hide the bookmarks button",
|
||||
"uc.minimal-sidebar.hide-history-button.enabled": "Hide the history button",
|
||||
"uc.minimal-sidebar.hide-preferences-button.enabled": "Hide the preferences button",
|
||||
"uc.minimal-sidebar.hide-sidepanel-button.enabled": "Hide the sidepanel button",
|
||||
"uc.minimal-sidebar.compact-spacing.enabled": "Make padding above the remaining buttons smaller",
|
||||
"uc.minimal-sidebar.hide-sidebar.enabled": "Hide all sidebar buttons",
|
||||
"uc.minimal-sidebar.fix-sidebar-width.enabled": "Fix sidebar width when you hide all buttons and workspaces"
|
||||
}
|
||||
[
|
||||
{
|
||||
"property": "uc.minimal-sidebar.hide-alltabs-button.enabled",
|
||||
"label": "Hide the alltabs button",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.minimal-sidebar.hide-newtab-button.enabled",
|
||||
"label": "Hide the newtab button",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.minimal-sidebar.hide-profile-button.enabled",
|
||||
"label": "Hide the profile button",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.minimal-sidebar.hide-expand-sidebar-button.enabled",
|
||||
"label": "Hide the expand sidebar button",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.minimal-sidebar.hide-bookmark-button.enabled",
|
||||
"label": "Hide the bookmarks button",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.minimal-sidebar.hide-history-button.enabled",
|
||||
"label": "Hide the history button",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.minimal-sidebar.hide-preferences-button.enabled",
|
||||
"label": "Hide the preferences button",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.minimal-sidebar.hide-sidepanel-button.enabled",
|
||||
"label": "Hide the sidepanel button",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.minimal-sidebar.compact-spacing.enabled",
|
||||
"label": "Make padding above the remaining buttons smaller",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.minimal-sidebar.hide-sidebar.enabled",
|
||||
"label": "Hide all sidebar buttons",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.minimal-sidebar.fix-sidebar-width.enabled",
|
||||
"label": "Fix sidebar width when you hide all buttons and workspaces",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
}
|
||||
]
|
|
@ -1,15 +1,80 @@
|
|||
{
|
||||
"uc.pins.wide.disabled": "Disables the layout changes made by SuperPins",
|
||||
"uc.pins.tall": "Increases the height of pinned tabs (Disabled when tab bar not expanded)",
|
||||
"uc.pins.margins.compact": "Decreases the gap between pinned tabs",
|
||||
"uc.pins.box-like-corners": "Makes the pinned tabs look more box like (Less rounded edges)",
|
||||
"uc.pins.only-show-active": "Only shows loaded tabs when the tab bar is collapsed",
|
||||
"uc.pins.only-show-active.on-hover": "Only shows loaded tabs when the tab bar is collapsed, except when hovering over them (Only works with the above option enabled!)",
|
||||
"uc.pins.bg-color.pop": "Makes the colors of pinned tabs pop more",
|
||||
"uc.pins.disable-bg-color": "Disables the background color of pinned tabs",
|
||||
"uc.separator-line.hide": "Hides the seperator line between pinned tabs and the first normal tab",
|
||||
"uc.workspace-button.remove-border": "Removes the border of the workspace button",
|
||||
"uc.workspace-button.move-to-bottom": "Moves the workspace button to the bottom of the tab bar",
|
||||
"browser.sessionstore.restore_pinned_tabs_on_demand": "Loads pinned tabs only when using them, instead of loading all of them on startup",
|
||||
"zen.tabs.dim-pending": "Dims unloaded tabs"
|
||||
}
|
||||
[
|
||||
{
|
||||
"property": "uc.pins.wide.disabled",
|
||||
"label": "Disables the layout changes made by SuperPins",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.pins.tall",
|
||||
"label": "Increases the height of pinned tabs (Disabled when tab bar not expanded)",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.pins.margins.compact",
|
||||
"label": "Decreases the gap between pinned tabs",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.pins.box-like-corners",
|
||||
"label": "Makes the pinned tabs look more box like (Less rounded edges)",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.pins.only-show-active",
|
||||
"label": "Only shows loaded tabs when the tab bar is collapsed",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.pins.only-show-active.on-hover",
|
||||
"label": "Only shows loaded tabs when the tab bar is collapsed, except when hovering over them (Only works with the above option enabled!)",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.pins.bg-color.pop",
|
||||
"label": "Makes the colors of pinned tabs pop more",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.pins.disable-bg-color",
|
||||
"label": "Disables the background color of pinned tabs",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.separator-line.hide",
|
||||
"label": "Hides the seperator line between pinned tabs and the first normal tab",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.workspace-button.remove-border",
|
||||
"label": "Removes the border of the workspace button",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.workspace-button.move-to-bottom",
|
||||
"label": "Moves the workspace button to the bottom of the tab bar",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "browser.sessionstore.restore_pinned_tabs_on_demand",
|
||||
"label": "Loads pinned tabs only when using them, instead of loading all of them on startup",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "zen.tabs.dim-pending",
|
||||
"label": "Dims unloaded tabs",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
}
|
||||
]
|
|
@ -1,11 +1,56 @@
|
|||
{
|
||||
"uc.supergradient.preset1": "Northern Horizen: A blue-green'ish gradient",
|
||||
"uc.supergradient.preset2": "Scarlet Dusk: A red-yellow'ish gradient",
|
||||
"uc.supergradient.preset3": "Amethyst Claret: A blue/purple-red'ish gradient",
|
||||
"uc.supergradient.preset4": "Olive Sunset: A green-red'ish gradient",
|
||||
"uc.supergradient.preset5": "Midnight Majesty: A yellow-purple'ish gradient",
|
||||
"uc.supergradient.brighten": "Brightens the colors of the gradient",
|
||||
"uc.supergradient.desaturate": "Desaturates the colors of the gradient",
|
||||
"uc.supergradient.use-accent-color": "Uses Zen's accent colors (e.g. on tabs, set in Zen's Look and Feel setting) instead of accent colors adjusted for the gradient",
|
||||
"uc.supergradient.switch-colors": "Switches the colors orders in the gradient"
|
||||
}
|
||||
[
|
||||
{
|
||||
"property": "uc.supergradient.preset1",
|
||||
"label": "Northern Horizen: A blue-green'ish gradient",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.supergradient.preset2",
|
||||
"label": "Scarlet Dusk: A red-yellow'ish gradient",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.supergradient.preset3",
|
||||
"label": "Amethyst Claret: A blue/purple-red'ish gradient",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.supergradient.preset4",
|
||||
"label": "Olive Sunset: A green-red'ish gradient",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.supergradient.preset5",
|
||||
"label": "Midnight Majesty: A yellow-purple'ish gradient",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.supergradient.brighten",
|
||||
"label": "Brightens the colors of the gradient",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.supergradient.desaturate",
|
||||
"label": "Desaturates the colors of the gradient",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.supergradient.use-accent-color",
|
||||
"label": "Uses Zen's accent colors (e.g. on tabs, set in Zen's Look and Feel setting) instead of accent colors adjusted for the gradient",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.supergradient.switch-colors",
|
||||
"label": "Switches the colors orders in the gradient",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
}
|
||||
]
|
|
@ -1,15 +1,80 @@
|
|||
{
|
||||
"uc.erics-zen-ui-tweak-box.exit-button-padding-right.enabled": "Adds some spacing to the right of the exit button",
|
||||
"uc.erics-zen-ui-tweak-box.fun-colors.enabled": "Enables a cool gradient as the background",
|
||||
"uc.erics-zen-ui-tweak-box.tab-bar-top-padding.enabled": "Removes the top padding from the tabs side panel so it's aligned with the page",
|
||||
"uc.erics-zen-ui-tweak-box.page-canvas-shadows.enabled": "Adds shadows to the page canvas",
|
||||
"uc.erics-zen-ui-tweak-box.remove-url-bar-border.enabled": "Removes the border around the URL Bar",
|
||||
"uc.erics-zen-ui-tweak-box.url-bar-tweaks.enabled": "URL Bar appearance tweaks",
|
||||
"uc.erics-zen-ui-tweak-box.floating-url-bar-tweaks.enabled": "Floating URL Bar appearance tweaks",
|
||||
"uc.erics-zen-ui-tweak-box.new-tab-button-text.enabled": "New tab button text",
|
||||
"uc.erics-zen-ui-tweak-box.new-tab-separator-when-no-unpinned-tabs.enabled": "Adds a separator before the new tab button if there are no unpinned tabs",
|
||||
"uc.erics-zen-ui-tweak-box.pinned-tabs-layout.enabled": "Tweaks the layout of the pinned tabs",
|
||||
"uc.erics-zen-ui-tweak-box.workspace-button-tweaks.enabled": "Tweaks the appearance of the workspace button",
|
||||
"uc.erics-zen-ui-tweak-box.tab-button-tweaks.enabled": "Tweaks the appearance of the tab buttons",
|
||||
"uc.erics-zen-ui-tweak-box.toolbar-button-tweaks.enabled": "Tweaks the appearance of the toolbar buttons"
|
||||
}
|
||||
[
|
||||
{
|
||||
"property": "uc.erics-zen-ui-tweak-box.exit-button-padding-right.enabled",
|
||||
"label": "Adds some spacing to the right of the exit button",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.erics-zen-ui-tweak-box.fun-colors.enabled",
|
||||
"label": "Enables a cool gradient as the background",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.erics-zen-ui-tweak-box.tab-bar-top-padding.enabled",
|
||||
"label": "Removes the top padding from the tabs side panel so it's aligned with the page",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.erics-zen-ui-tweak-box.page-canvas-shadows.enabled",
|
||||
"label": "Adds shadows to the page canvas",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.erics-zen-ui-tweak-box.remove-url-bar-border.enabled",
|
||||
"label": "Removes the border around the URL Bar",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.erics-zen-ui-tweak-box.url-bar-tweaks.enabled",
|
||||
"label": "URL Bar appearance tweaks",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.erics-zen-ui-tweak-box.floating-url-bar-tweaks.enabled",
|
||||
"label": "Floating URL Bar appearance tweaks",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.erics-zen-ui-tweak-box.new-tab-button-text.enabled",
|
||||
"label": "New tab button text",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.erics-zen-ui-tweak-box.new-tab-separator-when-no-unpinned-tabs.enabled",
|
||||
"label": "Adds a separator before the new tab button if there are no unpinned tabs",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.erics-zen-ui-tweak-box.pinned-tabs-layout.enabled",
|
||||
"label": "Tweaks the layout of the pinned tabs",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.erics-zen-ui-tweak-box.workspace-button-tweaks.enabled",
|
||||
"label": "Tweaks the appearance of the workspace button",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.erics-zen-ui-tweak-box.tab-button-tweaks.enabled",
|
||||
"label": "Tweaks the appearance of the tab buttons",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.erics-zen-ui-tweak-box.toolbar-button-tweaks.enabled",
|
||||
"label": "Tweaks the appearance of the toolbar buttons",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
}
|
||||
]
|
|
@ -1,3 +1,8 @@
|
|||
{
|
||||
"uc.audio-tabicon.left-side": "Move the audio/mute icon to the left side"
|
||||
}
|
||||
[
|
||||
{
|
||||
"property": "uc.audio-tabicon.left-side",
|
||||
"label": "Move the audio/mute icon to the left side",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
}
|
||||
]
|
|
@ -1,3 +1,8 @@
|
|||
{
|
||||
"uc.only-top-bar-compact.top-margin-on-reduced.enabled": "Enable top margin when top bar is reduced"
|
||||
}
|
||||
[
|
||||
{
|
||||
"property": "uc.only-top-bar-compact.top-margin-on-reduced.enabled",
|
||||
"label": "Enable top margin when top bar is reduced",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
}
|
||||
]
|
|
@ -1,6 +1,26 @@
|
|||
{
|
||||
"uc.urlbar.border-radius": "Adjusts the border radius of the url bar and its items",
|
||||
"uc.urltext.center": "Centers the text inside the url bar",
|
||||
"uc.urlbar.border.removed": "Removes the border of the url bar",
|
||||
"uc.urlbar.blur": "Blurs the background when the url bar is in focus"
|
||||
}
|
||||
[
|
||||
{
|
||||
"property": "uc.urlbar.border-radius",
|
||||
"label": "Adjusts the border radius of the url bar and its items",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.urltext.center",
|
||||
"label": "Centers the text inside the url bar",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.urlbar.border.removed",
|
||||
"label": "Removes the border of the url bar",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.urlbar.blur",
|
||||
"label": "Blurs the background when the url bar is in focus",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
}
|
||||
]
|
|
@ -1,4 +1,14 @@
|
|||
{
|
||||
"uc.zen-sidebar.pin-at-right-side": "Pin the Zen Sidebar at the right side when pinned.",
|
||||
"uc.zen-sidebar.float-at-right-side": "Float the Zen Sidebar at the right side when floating."
|
||||
}
|
||||
[
|
||||
{
|
||||
"property": "uc.zen-sidebar.pin-at-right-side",
|
||||
"label": "Pin the Zen Sidebar at the right side when pinned.",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.zen-sidebar.float-at-right-side",
|
||||
"label": "Float the Zen Sidebar at the right side when floating.",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
}
|
||||
]
|
|
@ -1 +1,44 @@
|
|||
{"uc.bookmarks.center-toolbar": "Center the bookmarks toolbar", "uc.bookmarks.hide-folder-icons": "Hide folder icons", "uc.bookmarks.hide-favicons": "Hide website icons", "uc.bookmarks.hide-name": "Hide bookmarks name", "uc.bookmarks.expand-on-hover": "Expand the bookmarks toolbar by hovering", "uc.bookmarks.expand-on-search": "Expand the bookmarks toolbar when you search", "uc.bookmarks.transparent": "Make the bookmarks toolbar transparent (only works with expand features)"}
|
||||
[
|
||||
{
|
||||
"property": "uc.bookmarks.center-toolbar",
|
||||
"label": "Center the bookmarks toolbar",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.bookmarks.hide-folder-icons",
|
||||
"label": "Hide folder icons",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.bookmarks.hide-favicons",
|
||||
"label": "Hide website icons",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.bookmarks.hide-name",
|
||||
"label": "Hide bookmarks name",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.bookmarks.expand-on-hover",
|
||||
"label": "Expand the bookmarks toolbar by hovering",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.bookmarks.expand-on-search",
|
||||
"label": "Expand the bookmarks toolbar when you search",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
},
|
||||
{
|
||||
"property": "uc.bookmarks.transparent",
|
||||
"label": "Make the bookmarks toolbar transparent (only works with expand features)",
|
||||
"type": "checkbox",
|
||||
"disabledOn": []
|
||||
}
|
||||
]
|
Loading…
Add table
Add a link
Reference in a new issue