├── src ├── data │ ├── loader.gif │ ├── icons │ │ ├── 128.png │ │ ├── 16.png │ │ ├── 256.png │ │ ├── 32.png │ │ ├── 48.png │ │ └── 64.png │ ├── inject │ │ ├── index.css │ │ └── index.js │ ├── error.svg │ └── options │ │ ├── index.html │ │ └── index.js ├── manifest.json └── common.js ├── src.safariextension ├── Icon-64.png ├── data │ ├── loader.gif │ ├── inject │ │ ├── index.css │ │ ├── chrome.js │ │ └── index.js │ └── error.svg ├── background.html ├── common.js ├── Info.plist ├── chrome.js └── Settings.plist ├── safari.sh └── test └── index.html /src/data/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schomery/youtube-hover/HEAD/src/data/loader.gif -------------------------------------------------------------------------------- /src/data/icons/128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schomery/youtube-hover/HEAD/src/data/icons/128.png -------------------------------------------------------------------------------- /src/data/icons/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schomery/youtube-hover/HEAD/src/data/icons/16.png -------------------------------------------------------------------------------- /src/data/icons/256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schomery/youtube-hover/HEAD/src/data/icons/256.png -------------------------------------------------------------------------------- /src/data/icons/32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schomery/youtube-hover/HEAD/src/data/icons/32.png -------------------------------------------------------------------------------- /src/data/icons/48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schomery/youtube-hover/HEAD/src/data/icons/48.png -------------------------------------------------------------------------------- /src/data/icons/64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schomery/youtube-hover/HEAD/src/data/icons/64.png -------------------------------------------------------------------------------- /src.safariextension/Icon-64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schomery/youtube-hover/HEAD/src.safariextension/Icon-64.png -------------------------------------------------------------------------------- /src.safariextension/data/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schomery/youtube-hover/HEAD/src.safariextension/data/loader.gif -------------------------------------------------------------------------------- /safari.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cp src/common.js src.safariextension/common.js 4 | cp src/data/inject/index.js src.safariextension/data/inject/index.js 5 | -------------------------------------------------------------------------------- /src.safariextension/background.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 || YouTube player width (in pixels) | 28 |29 | |
| Draw a strike-through over YouTube links after preview | 32 |33 | |
| Add previewed links to the browser history | 36 |37 | |
| Turn off the light while playing | 40 |41 | |
| Player positioning mode | 44 |45 | 49 | | 50 |
| Scroll to player in the "relative" mode | 53 |54 | |
| Use smooth scrolling | 57 |58 | |
| Player offset in the "relative" mode | 60 |61 | x 62 | | 63 |
| Player offset in the "center" mode | 66 |67 | x 68 | | 69 |
| Display the player if mouse is over a link for (in milliseconds) | 72 |73 | |
| Display the preview panel on youtube.com as well | 76 |77 | |
81 | 82 |
83 | 84 | 85 | 86 | 87 | -------------------------------------------------------------------------------- /src/data/options/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | function restore() { 4 | // Use default value color = 'red' and likesColor = true. 5 | chrome.storage.local.get({ 6 | 'relative-x': 0, 7 | 'relative-y': 0, 8 | 'center-x': 0, 9 | 'center-y': 0, 10 | 'delay': 1000, 11 | 'width': 500, 12 | 'mode': 0, 13 | 'strike': true, 14 | 'history': true, 15 | 'scroll': true, 16 | 'smooth': true, 17 | 'dark': false, 18 | 'youtube': false 19 | }, prefs => { 20 | document.getElementById('relative-x').value = prefs['relative-x']; 21 | document.getElementById('relative-y').value = prefs['relative-y']; 22 | document.getElementById('center-x').value = prefs['center-x']; 23 | document.getElementById('center-y').value = prefs['center-y']; 24 | document.getElementById('delay').value = prefs.delay; 25 | document.getElementById('width').value = prefs.width; 26 | document.getElementById('mode').selectedIndex = prefs.mode; 27 | document.getElementById('strike').checked = prefs.strike; 28 | document.getElementById('history').checked = prefs.history; 29 | document.getElementById('scroll').checked = prefs.scroll; 30 | document.getElementById('smooth').checked = prefs.smooth; 31 | document.getElementById('dark').checked = prefs.dark; 32 | document.getElementById('youtube').checked = prefs.youtube; 33 | }); 34 | } 35 | 36 | function save() { 37 | const rx = document.getElementById('relative-x').value; 38 | const ry = document.getElementById('relative-y').value; 39 | const cx = document.getElementById('center-x').value; 40 | const cy = document.getElementById('center-y').value; 41 | const delay = document.getElementById('delay').value; 42 | const width = document.getElementById('width').value; 43 | const mode = document.getElementById('mode').selectedIndex; 44 | const strike = document.getElementById('strike').checked; 45 | const history = document.getElementById('history').checked; 46 | const scroll = document.getElementById('scroll').checked; 47 | const smooth = document.getElementById('smooth').checked; 48 | const dark = document.getElementById('dark').checked; 49 | const youtube = document.getElementById('youtube').checked; 50 | 51 | chrome.storage.local.set({ 52 | 'relative-x': Number(rx), 53 | 'relative-y': Number(ry), 54 | 'center-x': Number(cx), 55 | 'center-y': Number(cy), 56 | 'width': Number(width), 57 | 'delay': Number(delay), 58 | 'mode': mode, 59 | 'strike': strike, 60 | 'history': history, 61 | 'scroll': scroll, 62 | 'smooth': smooth, 63 | 'dark': dark, 64 | 'youtube': youtube 65 | }, () => { 66 | const status = document.getElementById('status'); 67 | status.textContent = 'Options saved.'; 68 | restore(); 69 | setTimeout(() => status.textContent = '', 750); 70 | }); 71 | } 72 | 73 | document.addEventListener('DOMContentLoaded', restore); 74 | document.getElementById('save').addEventListener('click', save); 75 | -------------------------------------------------------------------------------- /src.safariextension/Settings.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 |