Skip to content

Repository files navigation

VideoDefaults

Firefox WebExtension that preserves default video playback settings.

MVP: Applies a configurable default playback speed (default 2.0) to YouTube videos. Provides a popup with preset buttons (1x, 1.5x, 2x) and a custom speed input. Respects manual speed changes on the current page without overriding them.

Keyboard Shortcuts

Press Ctrl+A, then a command key (tmux-style prefix — outside that window every native YouTube shortcut still works):

Chord Action
Ctrl+A o Open jump overlay (labels clickable elements)
Ctrl+A p Open queue overlay (add a video to the Up Next queue)
Ctrl+A Shift+P Open playlist picker for the current video (fuzzy-search, multi-add, create new) — watch page only, requires being logged in
Ctrl+A y Go home
Ctrl+A v Set speed to preset 1 (default 1x)
Ctrl+A b Set speed to preset 2 (default 1.5x)
Ctrl+A n Set speed to preset 3 (default 2x)
Ctrl+A h Toggle auto-apply default speed on video load

The prefix defaults to Cmd+A on macOS and Ctrl+A on Windows/Linux, fully overridable.

Full reference: docs/keyboard-quickstart.md.

Customizing keybindings and speeds

Edit src/core/shortcuts.config.json to change the prefix key, any chord binding, or the three preset speed values. Speed values must fall within the allowed range (0.254.0), but only use values YouTube itself will actually honor for your account — e.g. speeds above 2x are a YouTube Premium feature, so a non-Premium account silently caps at 2x regardless of what's configured here. Respect the platform's own limits when picking a value. Details: docs/specs/keyboard-shortcuts.md.

Status

Active development on dev branch. Also works on Chromium-based browsers.

Browser Status Listing
🦊 Firefox (AMO) Published addons.mozilla.org/.../videodefaults
🌐 Chrome (Web Store) Published chromewebstore.google.com/.../videodefaults
🟦 Edge (Add-ons) Not yet submitted

Requirements

  • Firefox Desktop (Manifest V3)
  • No external runtime dependencies

Development

npm install          # install dev tooling (not shipped in extension)
npm test             # run unit tests (requires scripts/test.sh — available at Milestone 5)
npm run check        # syntax check + manifest validation

Repository Structure

apps/shared/              Browser-agnostic extension source (content/popup scripts, assets)
apps/firefox-extension/   Firefox edition (manifest; src/assets/lib generated by sync script)
apps/chrome-extension/    Chrome edition (manifest; src/assets/lib generated by sync script)
apps/edge-extension/      Edge edition (manifest; src/assets/lib generated by sync script)
src/                      Shared core logic and adapters
tests/                    Unit tests and HTML fixtures
tools/                    Dev and CI tooling (packager, compatibility watcher)
scripts/                  Shell helpers and git hooks
docs/                     ADRs, specs, compliance, and release notes

Build any edition with bash scripts/package-extension.sh <firefox|chrome|edge>-extension.

Branch Model

  • dev — active development
  • main — release only; updated via rebase from dev

Contributing

See CONTRIBUTING.md.

Support

This project is free. If you'd like to support it: Buy Me a Coffee

License

MIT

About

Multi-browser plugin, smooth your video browsing experience. Set video spped - and persist that setting (optional). Additional keyboard shortcuts for YouTube. If you get value out of it, there's an entirely optional Buy Me a Coffee ☕ https://buymeacoffee.com/kotmin

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages