Ctrl K
ComunidadGuías…

README.md

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
[Jellyfin Projects](https://linktr.ee/JellyfinProjects) | [Kodi Projects](https://linktr.ee/KodiProjects)

---

# Jellyfin Auto Scroll Button

Tested only for Windows for Web (Chrome).
A lightweight client-side script that adds an Auto Scroll button to the Jellyfin UI.
It enables continuous vertical scrolling with adjustable speed and configurable pause delays.

Originally created as a complementary button for **Jellyfin Random Button Extended** & Fullscreen Button,  
this script works fully independently and can be used on its own.

Designed for passive browsing, dashboards, or hands-free content discovery.

![Auto Scroll Button Screenshot](Screenshot.jpg)
---

## Features

- Auto scroll toggle via header button
- Three adjustable scroll speed levels
- Five-step configurable delay at the top of the page (default: 0)
- Automatic pause at the bottom, then reset to top
- Visual feedback using Material Symbols
- No external dependencies (Only JavaScript Injector)
- Fully client-side, no backend interaction

---

## Controls

The button reacts to single, double, and triple clicks:

- **Single click**  
  Start or pause auto scrolling

- **Double click**  
  Cycle through scroll speeds (3 levels)

- **Triple click**  
  Cycle through top delay options (0, 1, 3, 5, 10 seconds)

The current speed or delay value is briefly displayed next to the button icon.

---

## Temporary Settings (Important)

All speed and delay adjustments are **temporary**.

- Settings are stored in memory only
- A page reload restores all default values
- No values are saved to localStorage or backend

### Default Values

- **Default scroll speed:** level 1 (`0.03`)
- **Default top delay:** `0` seconds
- **Bottom delay:** fixed at `3` seconds

---

## Delay Option Explained

The **delay button (triple click)** controls how long the script waits at the **top of the page** before scrolling starts.

This is especially useful when:

- Jellyfin needs time to load posters, metadata, or lazy-loaded content
- The page layout shifts shortly after navigation
- Auto scrolling is combined with other scripts or UI animations
- You want a short pause to visually orient yourself before scrolling resumes

The delay is applied:
- Only when scrolling starts from the top
- Again after each full scroll cycle (bottom → top reset)
- After page navigation while auto scroll is active

---

## Behavior

- Scrolling starts from the current scroll position
- When the bottom is reached:
  - Scrolling pauses for 3 seconds
  - Page automatically jumps back to the top
  - Optional top delay is applied before scrolling resumes
- Page navigation resets the scroll cycle cleanly

---

## Relationship to Jellyfin Random Button Extended

This script was originally developed as a **complementary UI button** for  
**Jellyfin Random Button Extended**, allowing passive scrolling through large libraries while random browsing is active.

However:

- The Auto Scroll Button does **not** depend on the Random Button
- It can be used completely standalone
- No shared state or communication exists between the scripts

---

## Installation

1. Copy the script into your Jellyfin JavaScript injector  
   (userscript manager, custom JS loader, or similar).

2. Reload the page.

No configuration is required.

---

## Configuration (Optional)

You may adjust the following values directly in the script:

```
const speeds = [0.03, 0.06, 0.2];      // Scroll speed presets
const delayStates = [0, 1, 3, 5, 10];  // Top delay options in seconds
const bottomDelay = 3000;              // Bottom pause in milliseconds
```

---

## Tested On

Jellyfin Web 10.10.7 and 12.0+
Windows 11
Chrome / Chromium-based browsers

---

## License

MIT — free to use, modify, and share.

---

## Notes and Limitations
This script modifies the UI at runtime only
No interaction with the Jellyfin backend or API
Designed to be minimal and non-intrusive
Best suited for large libraries, dashboards, or passive browsing