diff --git a/themes/f5e08afe-490e-41da-bd99-a38abd844921/chrome.css b/themes/f5e08afe-490e-41da-bd99-a38abd844921/chrome.css new file mode 100644 index 000000000..a917b5152 --- /dev/null +++ b/themes/f5e08afe-490e-41da-bd99-a38abd844921/chrome.css @@ -0,0 +1,74 @@ + +/* ============================================ + Tab Switch Animations — Zen Browser Mod + Author: rmshkmx + ============================================ */ + +/* ─── Speed Presets ─── */ + +/* Fast (0.15s) */ +:root:has([mod-rmshkmx_tab_switch_anim_speed="fast"]) { + --rmshkmx-tab-anim-duration: 0.15s; + --rmshkmx-tab-anim-easing-popup: cubic-bezier(0.175, 0.885, 0.3, 1.3); + --rmshkmx-tab-anim-easing-slide: cubic-bezier(0.25, 0.46, 0.45, 0.94); +} + +/* Normal (0.25s) — default */ +:root:has([mod-rmshkmx_tab_switch_anim_speed="normal"]), +:root:not(:has([mod-rmshkmx_tab_switch_anim_speed])) { + --rmshkmx-tab-anim-duration: 0.25s; + --rmshkmx-tab-anim-easing-popup: cubic-bezier(0.175, 0.885, 0.32, 1.35); + --rmshkmx-tab-anim-easing-slide: cubic-bezier(0.25, 0.46, 0.45, 0.94); +} + +/* Slow (0.4s) */ +:root:has([mod-rmshkmx_tab_switch_anim_speed="slow"]) { + --rmshkmx-tab-anim-duration: 0.4s; + --rmshkmx-tab-anim-easing-popup: cubic-bezier(0.175, 0.885, 0.32, 1.55); + --rmshkmx-tab-anim-easing-slide: cubic-bezier(0.22, 0.61, 0.36, 1); +} + +/* Extra Slow (0.6s) */ +:root:has([mod-rmshkmx_tab_switch_anim_speed="extra-slow"]) { + --rmshkmx-tab-anim-duration: 0.6s; + --rmshkmx-tab-anim-easing-popup: cubic-bezier(0.175, 0.885, 0.32, 1.65); + --rmshkmx-tab-anim-easing-slide: cubic-bezier(0.22, 0.61, 0.36, 1); +} + +/* ─── Popup Animation ─── */ +/* New tab zooms in from behind (scale 0.9 → 1.0) with inertia bounce */ + +#tabbrowser-tabpanels>hbox:not([zen-split="true"]):not(:has(.zen-glance-background)) { + @media -moz-pref("mod.rmshkmx.tab_switch_anim_popup") { + transition: scale var(--rmshkmx-tab-anim-duration) var(--rmshkmx-tab-anim-easing-popup), + opacity var(--rmshkmx-tab-anim-duration) ease-in-out !important; + scale: 0.9 !important; + opacity: 0; + } +} + +#tabbrowser-tabpanels>hbox.deck-selected:not([zen-split="true"]) { + @media -moz-pref("mod.rmshkmx.tab_switch_anim_popup") { + scale: 1 !important; + opacity: 1 !important; + } +} + +/* ─── Slide Animation ─── */ +/* Old tab slides up and out, new tab slides in from below */ + +#tabbrowser-tabpanels>hbox:not([zen-split="true"]):not(:has(.zen-glance-background)) { + @media -moz-pref("mod.rmshkmx.tab_switch_anim_slide") { + transition: translate var(--rmshkmx-tab-anim-duration) var(--rmshkmx-tab-anim-easing-slide), + opacity var(--rmshkmx-tab-anim-duration) ease-in-out !important; + translate: 0 -3% !important; + opacity: 0; + } +} + +#tabbrowser-tabpanels>hbox.deck-selected:not([zen-split="true"]) { + @media -moz-pref("mod.rmshkmx.tab_switch_anim_slide") { + translate: 0 0 !important; + opacity: 1 !important; + } +} diff --git a/themes/f5e08afe-490e-41da-bd99-a38abd844921/image.png b/themes/f5e08afe-490e-41da-bd99-a38abd844921/image.png new file mode 100644 index 000000000..513676598 Binary files /dev/null and b/themes/f5e08afe-490e-41da-bd99-a38abd844921/image.png differ diff --git a/themes/f5e08afe-490e-41da-bd99-a38abd844921/preferences.json b/themes/f5e08afe-490e-41da-bd99-a38abd844921/preferences.json new file mode 100644 index 000000000..e8f78c5a9 --- /dev/null +++ b/themes/f5e08afe-490e-41da-bd99-a38abd844921/preferences.json @@ -0,0 +1,37 @@ +[ + { + "property": "mod.rmshkmx.tab_switch_anim_popup", + "label": "\ud83c\udfac Enable Popup Animation (zoom-in with inertia)", + "type": "checkbox", + "defaultValue": true + }, + { + "property": "mod.rmshkmx.tab_switch_anim_slide", + "label": "\ud83c\udfac Enable Slide Animation (vertical slide)", + "type": "checkbox", + "defaultValue": false + }, + { + "property": "mod.rmshkmx.tab_switch_anim_speed", + "label": "\u26a1 Animation Speed", + "type": "dropdown", + "options": [ + { + "label": "Fast (0.15s)", + "value": "fast" + }, + { + "label": "Normal (0.25s)", + "value": "normal" + }, + { + "label": "Slow (0.4s)", + "value": "slow" + }, + { + "label": "Extra Slow (0.6s)", + "value": "extra-slow" + } + ] + } +] \ No newline at end of file diff --git a/themes/f5e08afe-490e-41da-bd99-a38abd844921/readme.md b/themes/f5e08afe-490e-41da-bd99-a38abd844921/readme.md new file mode 100644 index 000000000..50b77dda5 --- /dev/null +++ b/themes/f5e08afe-490e-41da-bd99-a38abd844921/readme.md @@ -0,0 +1,46 @@ + +# Tab Switch Animations + +A Zen Browser mod that adds smooth animations when switching between tabs. + +## Features + +### 🎬 Two Animation Types + +- **Popup** — The new tab zooms in from the background with a smooth inertia bounce effect (scale 0.9 → 1.0). Inspired by the Transparent Zen mod's animation style. +- **Slide** — The old tab slides up and fades out while the new tab slides in from below. + +### ⚡ Adjustable Speed + +Choose from 4 speed presets in the mod settings: + +| Preset | Duration | Feel | +|--------|----------|------| +| Fast | 0.15s | Snappy, minimal animation | +| Normal | 0.25s | Balanced (default) | +| Slow | 0.4s | Smooth and noticeable | +| Extra Slow | 0.6s | Dramatic, cinematic | + +## Settings + +After installing the mod, go to **Zen Settings → Mods → Tab Switch Animations** to configure: + +1. **Enable Popup Animation** — Toggle the zoom-in popup effect +2. **Enable Slide Animation** — Toggle the vertical slide effect +3. **Animation Speed** — Choose your preferred speed preset + +> **Note:** You can enable only one animation at a time. If both are enabled, both effects will apply simultaneously (not recommended). + +## Compatibility + +- Works with Zen Browser's split view (animations are disabled for split tabs) +- Compatible with Zen Glance +- Does not conflict with other animation mods (but using multiple tab animation mods is not recommended) + +## Installation + +Install directly from the [Zen Mods page](https://zen-browser.app/mods) by searching for "Tab Switch Anim". + +## Author + +Made by [rmshkmx](https://github.com/rmshkmx) diff --git a/themes/f5e08afe-490e-41da-bd99-a38abd844921/theme.json b/themes/f5e08afe-490e-41da-bd99-a38abd844921/theme.json new file mode 100644 index 000000000..b98aeac6e --- /dev/null +++ b/themes/f5e08afe-490e-41da-bd99-a38abd844921/theme.json @@ -0,0 +1,15 @@ +{ + "id": "f5e08afe-490e-41da-bd99-a38abd844921", + "name": "Tab Switch Anim", + "description": "Popup & Slide tab switch animations with speed control", + "homepage": "https://github.com/rmshkmx/NewSwitchAnims", + "style": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/f5e08afe-490e-41da-bd99-a38abd844921/chrome.css", + "readme": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/f5e08afe-490e-41da-bd99-a38abd844921/readme.md", + "image": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/f5e08afe-490e-41da-bd99-a38abd844921/image.png", + "author": "rmshkmx", + "version": "1.0.0", + "tags": [], + "createdAt": "2026-07-03", + "updatedAt": "2026-07-03", + "preferences": "https://raw.githubusercontent.com/zen-browser/theme-store/main/themes/f5e08afe-490e-41da-bd99-a38abd844921/preferences.json" +} \ No newline at end of file