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

Sv443 d7777624de fix: issue templates 1 年間 前
.github d7777624de fix: issue templates 1 年間 前
.vscode ab0df5a8ff feat: add vsc extension settings 1 年間 前
assets f7e3d59330 feat: scroll to active song button 1 年間 前
dist 9b6584174b fix: userscript header urls 1 年間 前
src 9b6584174b fix: userscript header urls 1 年間 前
.env.template 36e3769995 fix: remove unnecessary env var 1 年間 前
.eslintrc.cjs 733e940b5a feat: silent mode for webpack 1 年間 前
.gitignore 60aac9f690 feat: persistent build stats 1 年間 前
LICENSE.txt f1800d2c93 update license date 3 年 前
README.md f7e3d59330 feat: scroll to active song button 1 年間 前
changelog.md a066d0fda0 fix: changelog 1 年間 前
contributing.md c9adb990ce docs: improve readme a lot & add contrib guide 1 年間 前
global.d.ts 373b46a063 feat: add menu categories, scroll indicator & more 1 年間 前
package-lock.json 87e2303e65 ref: migrate to nanoevents lib 1 年間 前
package.json 87e2303e65 ref: migrate to nanoevents lib 1 年間 前
tsconfig.json e1c2bf6005 feat: disable text selection 1 年間 前
webpack.config.js 01b2fe0293 fix: disable minification in prod build 1 年間 前

README.md


BetterYTM

### Lots of configurable layout and UX improvements for YouTube Music [Features](#features) • [Installation](#installation) • [Development](#development) • [Attributions](#attributions) • [Disclaimers](#disclaimers)

### Features: All of these can be toggled and configured in the configuration menu. - Layout: - 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 - Set a custom size and step resolution for the volume slider and show a percentage label next to it - Improvements to clickability of song titles and thumbnails when wanting to open them in a new tab - Quickly scroll to the currently active song in the queue by clicking a button - Remove the tracking parameter from URLs in the share menu - Automatically close permanent notifications - Remove the premium tab in the sidebar - Input: - Use arrow keys to skip forward or backward by 10 seconds - Press number keys to skip to a percentage of the currently playing song - Switch between YouTube and YouTube Music on a video by pressing the hotkey F9 - Prevent the "unsaved data" popup that sometimes appears before leaving the site ... and more!
To toggle and configure features, after installing the userscript, click the "BetterYTM" text under the logo to open the configuration menu. Alternatively or if you disabled the watermark, you can open it through the menu you get by clicking on your avatar in the top right corner. Note that the page needs to be reloaded for changes to take effect. My work relies on donations, so if you like this userscript please consider [supporting development ❤️](https://github.com/sponsors/Sv443)

## Installation: Requires a userscript manager browser extension. I really recommend ViolentMonkey: [Firefox](https://addons.mozilla.org/en-US/firefox/addon/violentmonkey/) • [Chrome](https://chrome.google.com/webstore/detail/violentmonkey/jinjaccalgkegednnccohejagnlnfdag) • [Edge](https://microsoftedge.microsoft.com/addons/detail/violentmonkey/eeagobfjdenkkddmbclomhiblgggliao?hl=en-GB&gl=DE) Once you have the extension, click this button to install the userscript:
Note: the `unsafeWindow` grant is required due to limitations in some browsers, [see this issue for more info.](https://github.com/Sv443/BetterYTM/issues/18#show_issue) To install the latest development build [click here](https://github.com/Sv443/BetterYTM/raw/main/BetterYTM.user.js) (note: the script will not auto-update to the next release version)


### 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](https://github.com/Sv443/Userscript.ts) if you want to make your own userscripts! **For information on how to contribute to this project, see [the contributing guide](./contributing.md)**

### Attributions: This userscript depends on these runtime libraries: - [nanoevents](https://npmjs.org/package/nanoevents) - [@sv443-network/userutils](https://github.com/Sv443-Network/UserUtils) For development dependencies, please refer to `devDependencies` in [`package.json`](./package.json) Icons: - Most icons are from [Material Icons](https://fonts.google.com/icons) - For external icon attributions, see [`assets/external/`](assets/external/README.md)

### 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](./assets/external/) 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.](https://github.com/Sv443/BetterYTM/issues/new/choose)



Made with ❤️ by [Sv443](https://github.com/Sv443) If you like this userscript, please consider [supporting me](https://github.com/sponsors/Sv443) © 2022 Sv443 - [MIT license](./LICENSE.txt)