Mirror of BetterYTM's source code https://github.com/Sv443/BetterYTM

Sven Fehler 0bc8e2334d feat: security policy 4 luni în urmă
.github 0bc8e2334d feat: security policy 4 luni în urmă
.storybook fe424b4191 fix: invis characters 6 luni în urmă
.vscode 14ddfcf327 feat: add tsx for debugging cli tools 5 luni în urmă
assets e53d111c32 feat: translatable names for PluginIntent enum mebmers 5 luni în urmă
dist 98d859f10a chore: build dev 5 luni în urmă
src 723fe9a1e8 fix: add video time threshold to reloadTab time param 5 luni în urmă
.dependency-cruiser.cjs c6db570558 ref: remove whitespace-only lines 6 luni în urmă
.env.template 520689c104 Release 1.1.0 (#35) 1 an în urmă
.gitignore 98c85be1fa feat: add dependency cruiser 6 luni în urmă
LICENSE.txt 520689c104 Release 1.1.0 (#35) 1 an în urmă
README-summary.md 015ab7cb07 docs: update header 5 luni în urmă
README.md 015ab7cb07 docs: update header 5 luni în urmă
changelog.md 3c03dc371f feat: expose `getVideoElement()` and `getVideoSelector()` on interface 5 luni în urmă
contributing.md c7bfa6aed6 fix: reloadTab actually works now 5 luni în urmă
eslint.config.mjs bb8a660e37 ref: remove storybook files from eslint for now 5 luni în urmă
license-for-plugins.txt 38619f3d5f ref: change license for plugins 6 luni în urmă
package.json 573bd95698 chore: update userutils 5 luni în urmă
pnpm-lock.yaml 573bd95698 chore: update userutils 5 luni în urmă
rollup.config.mjs 80389719c9 feat: implement kleur instead of raw ansi codes 5 luni în urmă
tsconfig.json 1bfaf88ecb feat: support for TrustedTypes API 6 luni în urmă

README-summary.md


BetterYTM

Lots of configurable layout and user experience improvements for YouTube Music™ and YouTube™

FeaturesInstallationIntegrationsPluginsSupportDevelopmentAttributionsDisclaimers


Available in 🇨🇳 Chinese (simpl.), 🇬🇧 English (GB), 🇺🇸 English (US), 🇫🇷 French (FR), 🇩🇪 German (DE), 🇮🇳 Hindi (IN), 🇯🇵 Japanese (JP), 🇧🇷 Portuguese (BR), 🇪🇸 Spanish (ES)


Features:

All of these can be toggled and configured in the configuration menu.

  • Layout & User Experience:
    • Show the approximate amount of likes and dislikes on songs (powered by returnyoutubedislike.com)
    • Open any song's lyrics on genius.com which generally has higher quality than YouTube's providers
    • Quick actions on songs in a queue, to quickly open their lyrics or remove them from the queue
    • Quickly scroll to the currently active song in the queue by clicking a button
    • Set a custom size and step resolution for the volume slider and show a percentage label next to it
    • Remember the time of the last played song to resume playback after reloading or reopening the tab
    • Improve clickability of song titles and thumbnails when wanting to open them in a new tab
    • Remove the tracking parameter from URLs in the share menu
    • Automatically close permanent notifications
  • Input & Interaction:
    • Auto-like songs and videos of your favorite creators on both YouTube and YouTube Music
    • Use arrow keys to skip forward or backward by a configurable amount of time
    • Press number keys to skip to a percentage of the currently playing song
    • Press a hotkey on a video/song to switch between YouTube and YouTube Music, while keeping the video time
    • Prevent the "unsaved data" popup that sometimes appears before leaving the site

... and these are just the notable features, there are many more smaller features, improvements and fixes!


To toggle and configure features, after installing the userscript, click the "BetterYTM" text under the logo to open the configuration menu.
If you disabled the watermark, you can still open it by clicking your avatar in the top right corner on YTM or through the left sidebar on YT.

My work relies on donations, so if you like this userscript please consider supporting development ❤️



Installation:

Requires a userscript manager browser extension.
I really recommend Violentmonkey: FirefoxChromeEdge

Other extensions are known to be less reliable and may not work as expected, especially in isolated contexts like FireMonkey or the Brave browser.


Once you have the extension, click the install button at the top of this page!


Note: the unsafeWindow grant is required due to limitations in some browsers, see this issue for more info.


If you want to install the latest (potentially unstable) development build, look for the latest pull request and click the install button there.
Please make sure to fully reinstall the userscript once the next release is out to avoid any issues.




Integrations:

BetterYTM integrates with other extensions and tools to adjust their behavior and provide a smoother experience:

To find out more about these integrations, click here



Plugins:

BetterYTM supports plugin userscripts that can be installed in parallel and can make use of BetterYTM's pre-existing API.

Refer to the plugin creation guide for more information or check out the official plugin template for a quick start on creating a plugin.

Currently there are no available plugins, but you can submit an issue using the plugin submission template so it will be listed here.



Support:

If you have any questions, issues, or feature requests, please open an issue here.
You can also join my Discord server and ask your questions there or just hang out with other community members and me:

Discord



Development:

This project is based on my extensive template for making a userscript with TypeScript and many modern language and convenience features.
Check it out here if you want to make your own userscripts!

For information on how to contribute to this project or how to develop a plugin for BetterYTM, see the contributing guide



Attributions:

This userscript depends on these projects:

For development dependencies, please refer to devDependencies in package.json

Icons:



Disclaimers:

  • I am not affiliated with or endorsed by YouTube, Google, Alphabet, Genius, or anyone else.
  • I do not own any third party icons, I just re-host them here for better stability and availability.
  • I do not intend to ever collect any data about you, everything in this script is done and stored locally on your device or on the site the script runs on.
  • I can't guarantee this software is without flaws. If something bad happens, I don't accept blame. I do however accept bug reports and feature requests.





Made with ❤️ by Sv443
If you like this userscript, please consider supporting me

© 2022 Sv443 - AGPL-3.0