From 3251e3a38ebd54d67c43f731fdd2a20b5e38be6d Mon Sep 17 00:00:00 2001 From: ahseyg Date: Thu, 25 Jun 2026 23:19:05 +0000 Subject: [PATCH] Add theme: Grid Search --- .../chrome.css | 396 ++++++++++++++++++ .../image.png | Bin 0 -> 37272 bytes .../preferences.json | 54 +++ .../readme.md | 16 + .../theme.json | 15 + 5 files changed, 481 insertions(+) create mode 100644 themes/cc678215-525f-4b6e-84f3-d9768917c746/chrome.css create mode 100644 themes/cc678215-525f-4b6e-84f3-d9768917c746/image.png create mode 100644 themes/cc678215-525f-4b6e-84f3-d9768917c746/preferences.json create mode 100644 themes/cc678215-525f-4b6e-84f3-d9768917c746/readme.md create mode 100644 themes/cc678215-525f-4b6e-84f3-d9768917c746/theme.json diff --git a/themes/cc678215-525f-4b6e-84f3-d9768917c746/chrome.css b/themes/cc678215-525f-4b6e-84f3-d9768917c746/chrome.css new file mode 100644 index 000000000..a66535376 --- /dev/null +++ b/themes/cc678215-525f-4b6e-84f3-d9768917c746/chrome.css @@ -0,0 +1,396 @@ + +/* ========================================================= + ZEN GRID SEARCH - CORE CSS (DEFAULT) + ========================================================= */ +@media not (-moz-pref("mod.zengridsearch.only_empty")) { + +#urlbar:not([usertyping]) .urlbarView-results { + display: flex !important; + flex-wrap: wrap !important; + justify-content: center !important; + gap: 8px 12px !important; + padding: 16px !important; +} + +#urlbar:not([usertyping]) .urlbarView-row:not([type="topsites"]) { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + padding: 12px 6px !important; + border-radius: 12px !important; + background: transparent !important; + + /* Remove height constraints to allow natural expansion */ + min-height: 125px !important; + height: auto !important; + max-height: none !important; + + /* Calculate width for 5 columns (100% / 5) */ + width: calc(20% - 10px) !important; + min-width: 90px !important; + max-width: 140px !important; + flex: 0 0 calc(20% - 10px) !important; + + box-sizing: border-box !important; + position: relative !important; + overflow: hidden !important; +} + +#urlbar:not([usertyping]) .urlbarView-row:not([type="topsites"]):hover { + background-color: var(--urlbar-box-hover-bgcolor, rgba(128, 128, 128, 0.1)) !important; +} + +#urlbar:not([usertyping]) .urlbarView-row-inner { + display: flex !important; + flex-direction: column !important; + align-items: center !important; + width: 100% !important; + min-width: 100% !important; + max-width: 100% !important; + padding: 0 !important; + margin: 0 !important; + position: relative !important; +} + +#urlbar:not([usertyping]) .urlbarView-no-wrap, +#urlbar:not([usertyping]) .urlbarView-title-wrapper, +#urlbar:not([usertyping]) .urlbarView-title { + position: static !important; +} + +#urlbar:not([usertyping]) .urlbarView-no-wrap { + display: flex !important; + flex-direction: column !important; + align-items: center !important; + width: 100% !important; + min-width: 100% !important; + max-width: 100% !important; + padding: 0 !important; + margin: 0 !important; +} + +#urlbar:not([usertyping]) .urlbarView-favicon { + width: 48px !important; + height: 48px !important; + min-width: 48px !important; + min-height: 48px !important; + padding: 10px !important; + margin: 0 auto 8px auto !important; + background-color: var(--urlbar-box-bgcolor, rgba(128, 128, 128, 0.1)) !important; + border-radius: 14px !important; + box-sizing: border-box !important; + object-fit: contain !important; + display: block !important; + box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important; +} + +/* Pin/Star Icon alignment */ +#urlbar:not([usertyping]) .urlbarView-type-icon { + display: block !important; + position: absolute !important; + top: 32px !important; + bottom: auto !important; + left: 50% !important; + right: auto !important; + margin: 0 0 0 12px !important; + transform: none !important; + z-index: 2 !important; + pointer-events: none !important; + width: 16px !important; + height: 16px !important; + background-color: transparent !important; +} + +/* Hide unused elements */ +#urlbar:not([usertyping]) .urlbarView-title-separator, +#urlbar:not([usertyping]) .urlbarView-action, +#urlbar:not([usertyping]) .urlbarView-tags { + display: none !important; +} + +#urlbar:not([usertyping]) .urlbarView-title { + font-size: 0.85em !important; + font-weight: 500 !important; + text-align: center !important; + width: 100% !important; + min-width: 100% !important; + display: block !important; + white-space: nowrap !important; + overflow: hidden !important; + text-overflow: ellipsis !important; + color: var(--urlbar-popup-url-color, inherit) !important; + margin: 0 !important; + padding: 0 0 2px 0 !important; + line-height: 1.4 !important; + height: auto !important; + max-height: none !important; + mask-image: none !important; + -webkit-mask-image: none !important; +} + +#urlbar:not([usertyping]) .urlbarView-url { + font-size: 0.75em !important; + font-weight: 400 !important; + text-align: center !important; + width: 100% !important; + min-width: 100% !important; + display: block !important; + white-space: nowrap !important; + overflow: hidden !important; + text-overflow: ellipsis !important; + color: var(--urlbar-popup-url-color, inherit) !important; + opacity: 0.6 !important; + margin: 4px 0 0 0 !important; + padding: 0 0 2px 0 !important; + line-height: 1.4 !important; + height: auto !important; + max-height: none !important; + mask-image: none !important; + -webkit-mask-image: none !important; +} + +#urlbar:not([usertyping]) .urlbarView-row[type="topsites"] { + width: 100% !important; + max-width: 100% !important; +} + +} + +/* ========================================================= + ZEN GRID SEARCH - CORE CSS (ONLY NEW TAB / EMPTY URL) + ========================================================= */ +@media (-moz-pref("mod.zengridsearch.only_empty")) { + +#urlbar[pageproxystate="invalid"]:not([usertyping]) .urlbarView-results { + display: flex !important; + flex-wrap: wrap !important; + justify-content: center !important; + gap: 8px 12px !important; + padding: 16px !important; +} + +#urlbar[pageproxystate="invalid"]:not([usertyping]) .urlbarView-row:not([type="topsites"]) { + display: flex !important; + flex-direction: column !important; + align-items: stretch !important; + padding: 12px 6px !important; + border-radius: 12px !important; + background: transparent !important; + + /* Remove height constraints to allow natural expansion */ + min-height: 125px !important; + height: auto !important; + max-height: none !important; + + /* Calculate width for 5 columns (100% / 5) */ + width: calc(20% - 10px) !important; + min-width: 90px !important; + max-width: 140px !important; + flex: 0 0 calc(20% - 10px) !important; + + box-sizing: border-box !important; + position: relative !important; + overflow: hidden !important; +} + +#urlbar[pageproxystate="invalid"]:not([usertyping]) .urlbarView-row:not([type="topsites"]):hover { + background-color: var(--urlbar-box-hover-bgcolor, rgba(128, 128, 128, 0.1)) !important; +} + +#urlbar[pageproxystate="invalid"]:not([usertyping]) .urlbarView-row-inner { + display: flex !important; + flex-direction: column !important; + align-items: center !important; + width: 100% !important; + min-width: 100% !important; + max-width: 100% !important; + padding: 0 !important; + margin: 0 !important; + position: relative !important; +} + +#urlbar[pageproxystate="invalid"]:not([usertyping]) .urlbarView-no-wrap, +#urlbar[pageproxystate="invalid"]:not([usertyping]) .urlbarView-title-wrapper, +#urlbar[pageproxystate="invalid"]:not([usertyping]) .urlbarView-title { + position: static !important; +} + +#urlbar[pageproxystate="invalid"]:not([usertyping]) .urlbarView-no-wrap { + display: flex !important; + flex-direction: column !important; + align-items: center !important; + width: 100% !important; + min-width: 100% !important; + max-width: 100% !important; + padding: 0 !important; + margin: 0 !important; +} + +#urlbar[pageproxystate="invalid"]:not([usertyping]) .urlbarView-favicon { + width: 48px !important; + height: 48px !important; + min-width: 48px !important; + min-height: 48px !important; + padding: 10px !important; + margin: 0 auto 8px auto !important; + background-color: var(--urlbar-box-bgcolor, rgba(128, 128, 128, 0.1)) !important; + border-radius: 14px !important; + box-sizing: border-box !important; + object-fit: contain !important; + display: block !important; + box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important; +} + +/* Pin/Star Icon alignment */ +#urlbar[pageproxystate="invalid"]:not([usertyping]) .urlbarView-type-icon { + display: block !important; + position: absolute !important; + top: 32px !important; + bottom: auto !important; + left: 50% !important; + right: auto !important; + margin: 0 0 0 12px !important; + transform: none !important; + z-index: 2 !important; + pointer-events: none !important; + width: 16px !important; + height: 16px !important; + background-color: transparent !important; +} + +/* Hide unused elements */ +#urlbar[pageproxystate="invalid"]:not([usertyping]) .urlbarView-title-separator, +#urlbar[pageproxystate="invalid"]:not([usertyping]) .urlbarView-action, +#urlbar[pageproxystate="invalid"]:not([usertyping]) .urlbarView-tags { + display: none !important; +} + +#urlbar[pageproxystate="invalid"]:not([usertyping]) .urlbarView-title { + font-size: 0.85em !important; + font-weight: 500 !important; + text-align: center !important; + width: 100% !important; + min-width: 100% !important; + display: block !important; + white-space: nowrap !important; + overflow: hidden !important; + text-overflow: ellipsis !important; + color: var(--urlbar-popup-url-color, inherit) !important; + margin: 0 !important; + padding: 0 0 2px 0 !important; + line-height: 1.4 !important; + height: auto !important; + max-height: none !important; + mask-image: none !important; + -webkit-mask-image: none !important; +} + +#urlbar[pageproxystate="invalid"]:not([usertyping]) .urlbarView-url { + font-size: 0.75em !important; + font-weight: 400 !important; + text-align: center !important; + width: 100% !important; + min-width: 100% !important; + display: block !important; + white-space: nowrap !important; + overflow: hidden !important; + text-overflow: ellipsis !important; + color: var(--urlbar-popup-url-color, inherit) !important; + opacity: 0.6 !important; + margin: 4px 0 0 0 !important; + padding: 0 0 2px 0 !important; + line-height: 1.4 !important; + height: auto !important; + max-height: none !important; + mask-image: none !important; + -webkit-mask-image: none !important; +} + +#urlbar[pageproxystate="invalid"]:not([usertyping]) .urlbarView-row[type="topsites"] { + width: 100% !important; + max-width: 100% !important; +} + +} + +/* ========================================================= + ZEN GRID SEARCH - PREFERENCES + ========================================================= */ + +/* --- ROW LIMITS (max_rows) --- */ +@media not (-moz-pref("mod.zengridsearch.max_rows")) { + #urlbar:not([usertyping]) .urlbarView-row:not([type="topsites"]):nth-of-type(n+12) { + display: none !important; + } +} +@media (-moz-pref("mod.zengridsearch.max_rows", "2")) { + #urlbar:not([usertyping]) .urlbarView-row:not([type="topsites"]):nth-of-type(n+12) { + display: none !important; + } +} +@media (-moz-pref("mod.zengridsearch.max_rows", "3")) { + #urlbar:not([usertyping]) .urlbarView-row:not([type="topsites"]):nth-of-type(n+17) { + display: none !important; + } +} +@media (-moz-pref("mod.zengridsearch.max_rows", "unlimited")) { + #urlbar:not([usertyping]) .urlbarView-results { + max-height: 500px !important; + overflow-y: auto !important; + } +} + +/* --- HIDE URLS (hide_urls) --- */ +@media (-moz-pref("mod.zengridsearch.hide_urls")) { + #urlbar:not([usertyping]) .urlbarView-url { + display: none !important; + } +} + +/* --- ANIMATION SPEED (animations) --- */ +@media not (-moz-pref("mod.zengridsearch.animations")) { + #urlbar:not([usertyping]) .urlbarView-row:not([type="topsites"]) { + transition: background-color 0.15s ease !important; + } + #urlbar:not([usertyping]) .urlbarView-favicon { + transition: transform 0.15s cubic-bezier(0.2, 0, 0, 1) !important; + } + #urlbar:not([usertyping]) .urlbarView-row:not([type="topsites"]):hover .urlbarView-favicon { + transform: scale(1.03) !important; + } +} + +@media (-moz-pref("mod.zengridsearch.animations", "normal")) { + #urlbar:not([usertyping]) .urlbarView-row:not([type="topsites"]) { + transition: background-color 0.15s ease !important; + } + #urlbar:not([usertyping]) .urlbarView-favicon { + transition: transform 0.15s cubic-bezier(0.2, 0, 0, 1) !important; + } + #urlbar:not([usertyping]) .urlbarView-row:not([type="topsites"]):hover .urlbarView-favicon { + transform: scale(1.03) !important; + } +} + +@media (-moz-pref("mod.zengridsearch.animations", "fast")) { + #urlbar:not([usertyping]) .urlbarView-row:not([type="topsites"]) { + transition: background-color 0.05s ease !important; + } + #urlbar:not([usertyping]) .urlbarView-favicon { + transition: transform 0.05s cubic-bezier(0.2, 0, 0, 1) !important; + } + #urlbar:not([usertyping]) .urlbarView-row:not([type="topsites"]):hover .urlbarView-favicon { + transform: scale(1.02) !important; + } +} + +@media (-moz-pref("mod.zengridsearch.animations", "off")) { + #urlbar:not([usertyping]) .urlbarView-row:not([type="topsites"]), + #urlbar:not([usertyping]) .urlbarView-favicon { + transition: none !important; + transform: none !important; + } + #urlbar:not([usertyping]) .urlbarView-row:not([type="topsites"]):hover .urlbarView-favicon { + transform: none !important; + } +} diff --git a/themes/cc678215-525f-4b6e-84f3-d9768917c746/image.png b/themes/cc678215-525f-4b6e-84f3-d9768917c746/image.png new file mode 100644 index 0000000000000000000000000000000000000000..4943a263dc4781444cb711219731da740daf5529 GIT binary patch literal 37272 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 MNPF`JGi>5N0K%Zv5C8xG literal 0 HcmV?d00001 diff --git a/themes/cc678215-525f-4b6e-84f3-d9768917c746/preferences.json b/themes/cc678215-525f-4b6e-84f3-d9768917c746/preferences.json new file mode 100644 index 000000000..e1978f7a1 --- /dev/null +++ b/themes/cc678215-525f-4b6e-84f3-d9768917c746/preferences.json @@ -0,0 +1,54 @@ +[ + { + "property": "mod.zengridsearch.only_empty", + "label": "Only show grid on New Tab (Empty URL)", + "type": "checkbox", + "defaultValue": false + }, + { + "property": "mod.zengridsearch.hide_urls", + "label": "Hide URL links (Show only titles)", + "type": "checkbox", + "defaultValue": false + }, + { + "property": "mod.zengridsearch.max_rows", + "label": "Grid Rows", + "type": "dropdown", + "defaultValue": "2", + "options": [ + { + "label": "2 Rows (Max 10 sites)", + "value": "2" + }, + { + "label": "3 Rows (Max 15 sites)", + "value": "3" + }, + { + "label": "Unlimited (Scrollable)", + "value": "unlimited" + } + ] + }, + { + "property": "mod.zengridsearch.animations", + "label": "Animation Speed", + "type": "dropdown", + "defaultValue": "normal", + "options": [ + { + "label": "Normal", + "value": "normal" + }, + { + "label": "Fast", + "value": "fast" + }, + { + "label": "Disabled", + "value": "off" + } + ] + } +] \ No newline at end of file diff --git a/themes/cc678215-525f-4b6e-84f3-d9768917c746/readme.md b/themes/cc678215-525f-4b6e-84f3-d9768917c746/readme.md new file mode 100644 index 000000000..9e611586e --- /dev/null +++ b/themes/cc678215-525f-4b6e-84f3-d9768917c746/readme.md @@ -0,0 +1,16 @@ + +# Zen Grid Search + +Changes the default vertical URL bar suggestions into a simple, customizable grid layout. It only applies to your top sites and history, and smoothly reverts to normal when you start typing. + +**Open source** · MIT License · Contributions welcome + +--- + +## Features + +- **Grid Layout** — Displays your top sites in a neat 2x5 grid instead of a long vertical list. +- **Premium Feel** — Subtle hover animations and soft drop shadows for a high-quality look. +- **Hide URL Links** — Option to hide the raw URL text, displaying only the website's title. +- **Adjustable Rows** — Choose between a 2-row layout (10 sites), 3-row layout (15 sites), or unlimited scroll. +- **Smart New Tab Detection** — Option to only show the grid when your URL bar is completely empty. diff --git a/themes/cc678215-525f-4b6e-84f3-d9768917c746/theme.json b/themes/cc678215-525f-4b6e-84f3-d9768917c746/theme.json new file mode 100644 index 000000000..3f72f741a --- /dev/null +++ b/themes/cc678215-525f-4b6e-84f3-d9768917c746/theme.json @@ -0,0 +1,15 @@ +{ + "id": "cc678215-525f-4b6e-84f3-d9768917c746", + "name": "Grid Search", + "description": "Transforms the default vertical URL bar shortcuts into a clean, modern grid layout.", + "homepage": "https://github.com/ahseyg/Zen-Grid-Search", + "style": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/cc678215-525f-4b6e-84f3-d9768917c746/chrome.css", + "readme": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/cc678215-525f-4b6e-84f3-d9768917c746/readme.md", + "image": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/cc678215-525f-4b6e-84f3-d9768917c746/image.png", + "author": "ahseyg", + "version": "1.0.0", + "tags": [], + "createdAt": "2026-06-25", + "updatedAt": "2026-06-25", + "preferences": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/cc678215-525f-4b6e-84f3-d9768917c746/preferences.json" +} \ No newline at end of file