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

Sv443 2008b67f23 feat: listen for home page init before observing 1 vuosi sitten
.github 08de8a9b4e feat: add codeql 1 vuosi sitten
.vscode 8bfc7daaf5 feat: change "change" events to "input" 1 vuosi sitten
assets 87757512c0 ref: rename resources to assets 1 vuosi sitten
dev 60d82ce401 fix: domain guard 1 vuosi sitten
dist 2008b67f23 feat: listen for home page init before observing 1 vuosi sitten
src 2008b67f23 feat: listen for home page init before observing 1 vuosi sitten
.eslintrc.cjs fbd516a646 refactor: update boilerplate 1 vuosi sitten
.gitignore fb2d2f9525 ref: use css loader 1 vuosi sitten
LICENSE.txt f1800d2c93 update license date 3 vuotta sitten
README.md 22f24a2bef ref: remove dismissPopup feature 1 vuosi sitten
changelog.md ec38e9b6b2 changelog 1 vuosi sitten
global.d.ts 60d82ce401 fix: domain guard 1 vuosi sitten
package-lock.json fbd516a646 refactor: update boilerplate 1 vuosi sitten
package.json 5407906e0b fix: remove tsc in build 1 vuosi sitten
tsconfig.json 60d82ce401 fix: domain guard 1 vuosi sitten
webpack.config.js 8df4b2df10 feat: disable IIFE in bundle 1 vuosi sitten

README.md


BetterYTM

Configurable layout and UX improvements for YouTube Music

### Features: All of these features can be toggled and configured! - Input: - Use arrow keys to skip forward or backward by 10 seconds - Switch between YouTube and YouTube Music on a video by pressing a hotkey (F9 by default) - Layout: - Open any song's lyrics on genius.com which generally has higher quality than YouTube's providers - TODO: Quick actions on songs in a queue, to open their lyrics or remove them from the queue - Remove the "Upgrade to YT Music Premium" tab in the title bar - Set a custom size and step resolution for the volume slider - TODO: Improvements to clickability of song titles and thumbnails (to open them in a new tab better) ... and more!
To toggle features on or off, install the userscript, then click the "BetterYTM" text under the logo to open the settings menu. Note that the page needs to be reloaded for the 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 recommend the following:** > Firefox: [ViolentMonkey](https://addons.mozilla.org/en-US/firefox/addon/violentmonkey/) or [TamperMonkey](https://addons.mozilla.org/en-US/firefox/addon/tampermonkey/) > Chrome: [ViolentMonkey](https://chrome.google.com/webstore/detail/violentmonkey/jinjaccalgkegednnccohejagnlnfdag) or [TamperMonkey](https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo) > Edge: [ViolentMonkey](https://microsoftedge.microsoft.com/addons/detail/violentmonkey/eeagobfjdenkkddmbclomhiblgggliao?hl=en-GB&gl=DE) or [TamperMonkey](https://microsoftedge.microsoft.com/addons/detail/tampermonkey/iikmkjmpaadaobahmlepeloendndfphd)
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)


### Development: | Command | Description | | --- | --- | | `npm i` | Run once to install dependencies | | `npm run lint` | Lints the userscript with ESLint | | `npm run build` | Builds the userscript | | `npm run watch` | Watches, rebuilds and serves the userscript on port 8710, so it can be updated live if set up correctly in the userscript manager. Configure request logging and more in `src/tools/serve.ts` | When using ViolentMonkey, after running the command `npm run watch`, open [`http://localhost:8710/dist/BetterYTM.user.js`](http://localhost:8710/dist/BetterYTM.user.js) and select the `Track local file` option. This makes it so the userscript automatically updates when the code changes. Note: the tab needs to stay open on Firefox or the script will not update itself.

### Disclaimers: - I am not affiliated with 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 respective site's servers. - 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)





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)