Repository: gblazex/smoothscroll Branch: master Commit: 5098123b2bcb Files: 8 Total size: 48.8 KB Directory structure: gitextract_6eefbn6w/ ├── LICENSE ├── README ├── manifest.json ├── pages/ │ ├── background.js │ ├── options.html │ └── options.js └── src/ ├── middlemouse.js └── sscr.js ================================================ FILE CONTENTS ================================================ ================================================ FILE: LICENSE ================================================ MIT License ---- Copyright (c) 2010-2018 Balazs Galambosi The only restriction is to not publish any extension for browsers or native application without getting a written permission first. Otherwise: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: README ================================================ A Google Chrome extension for smooth scrolling with the mouse wheel and keyboard buttons. Also available as a Mac app http://www.smoothscroll.net/mac/ Embedding it into your website https://github.com/gblazex/smoothscroll-for-websites Chrome extension https://chrome.google.com/webstore/detail/smoothscroll/nbokbjkabcmbfdlbddjidfmibcpneigj Opera extension https://addons.opera.com/extensions/details/smoothscroll-3/ Features - Picasa-like smooth scrolling - Mouse wheel, middle mouse and keyboard support - Arrow keys, PgUp/PgDown, Spacebar, Home/End - Customizable step sizes, frames per second and more... - Works with embedded content (PDF, flash) - Full touchpad support - Excluded pages list People involved - Balazs Galambosi (maintainer) - Michael Herf (pulse algorithm) ================================================ FILE: manifest.json ================================================ { "background": { "scripts": [ "pages/background.js" ], "persistent": false }, "content_scripts": [ { "all_frames": true, "js": [ "src/sscr.js", "src/middlemouse.js" ], "matches": [ "http://*/*", "https://*/*", "ftp://*/*" ], "exclude_globs": ["*.pdf*"], "run_at": "document_start" } ], "description": "Scroll smoothly on all websites with your mouse and keyboard.", "icons": { "128": "img/128n.png", "16": "img/16n.png", "32": "img/32n.png", "48": "img/48n.png" }, "key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD1YCUodXSIZuDNa4PJGDCzSWnJAsPymJLQNj+fbxNHbE8BJ4x062dCB0rg0ovXXjNjGJW5FUX+aIEdhh1oNpouWkfu0GP6D6VXCrArXS1hKa7mV8jrBSuMLQo/aU3X7iieqkDzeSFRwUaAEp54C62J22sJ06EHI1QMLuCJ6C9lVQIDAQAB", "name": "SmoothScroll", "options_page": "pages/options.html", "version": "1.5.10", "manifest_version": 2, "permissions": ["storage", "http://*/*", "https://*/*"], "web_accessible_resources": [ "img/cursor.png" ] } ================================================ FILE: pages/background.js ================================================ var defaultOptions = { // Plugin middleMouse : true, // Scrolling Core framerate : 150, // [Hz] animationTime : 400, // [px] stepSize : 120, // [px] // Pulse (less tweakable) // ratio of "tail" to "acceleration" pulseAlgorithm : true, pulseScale : 4, pulseNormalize : 1, // Acceleration accelerationDelta : 20, // 20 accelerationMax : 1, // 1 // Keyboard Settings keyboardSupport : true, // option arrowScroll : 50, // [px] // Other touchpadSupport : true, fixedBackground : true, excluded : "example.com, another.example.com" } // Fired when the extension is first installed, // when the extension is updated to a new version, // and when Chrome is updated to a new version. chrome.runtime.onInstalled.addListener(init); function init(details) { if (details.reason == "install") { chrome.storage.sync.set(defaultOptions); var optionsPage = chrome.runtime.getURL("pages/options.html"); chrome.tabs.create({ url: optionsPage }); chrome.tabs.query({}, function (tabs) { tabs.forEach(addSmoothScrollToTab); }); } } function addSmoothScrollToTab(tab) { chrome.tabs.executeScript(tab.id, { file: "src/sscr.js", allFrames: true }); chrome.tabs.executeScript(tab.id, { file: "src/middlemouse.js", allFrames: true }); } ================================================ FILE: pages/options.html ================================================
| Default value: 100 | (how much) | ||
| Default value: 400 | (how quick) | ||
| Default value: 3 | (how swift) | ||
| Default value: 50 | (time between scroll events) | ||
| Default value: 4 | (ratio of "tail" to "acceleration") | ||
| Default value: 50 |
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum non orci ipsum, eu laoreet nisl. Suspendisse ut dictum neque. Pellentesque nulla ipsum, posuere ut mattis vel, dapibus fringilla arcu. Donec fermentum purus in risus convallis semper. Nullam tempor urna eu libero vulputate vitae pulvinar enim accumsan. Donec vitae leo a enim faucibus consectetur. Nullam lectus justo, eleifend quis condimentum ut, pharetra et risus. Ut luctus molestie nibh sit amet vestibulum. Vestibulum tempor luctus scelerisque. Duis posuere elementum mollis. Cras sit amet varius massa. Nulla condimentum feugiat aliquam. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Aenean id ante et diam lacinia convallis vel eu magna.
In congue, risus sed commodo molestie, tortor sem dictum neque, in viverra sapien arcu vulputate velit. Pellentesque nec dignissim neque. Proin non felis quis lectus fermentum lobortis ut nec purus. Nam quam turpis, sodales in pellentesque vel, tempor gravida lacus. Pellentesque euismod aliquet pulvinar. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed tempus velit in lacus tristique facilisis. Mauris commodo, nunc et tempor pharetra, lectus dui posuere odio, eu auctor lorem augue non neque. Aenean auctor velit ac erat lobortis iaculis. Nullam in nibh et sem porttitor malesuada non non urna. Nulla lacus est, aliquet vel egestas a, accumsan a ante. Sed semper molestie dictum. Morbi at quam non enim porttitor varius. Vivamus ut metus et enim egestas ornare malesuada at augue.
Morbi laoreet velit sit amet metus tincidunt hendrerit. Aliquam augue ante, venenatis a rutrum sit amet, tristique non urna. Suspendisse et euismod nunc. Donec tempus luctus convallis. Proin blandit justo in nulla volutpat imperdiet. Integer dapibus lectus vitae libero hendrerit commodo. Praesent felis metus, pretium id tempus sed, porttitor ut justo. Praesent dapibus massa a erat congue malesuada. Fusce at erat in augue lobortis ultrices. Fusce vitae nunc sed arcu viverra convallis. Etiam nec magna turpis, id iaculis dui. Etiam at interdum est. Ut quis eros justo, vel consequat dolor. Proin pulvinar tristique congue. Mauris consectetur aliquam ipsum lobortis tempor. In non ligula orci, a commodo turpis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer non tempus lectus. Praesent tristique ante a purus lobortis viverra.
Curabitur eget leo velit, ac sagittis arcu. Mauris pulvinar orci et libero ultricies non iaculis velit gravida. Nulla facilisi. Pellentesque vel tellus nisl, et eleifend turpis. Vestibulum accumsan tincidunt tellus ac posuere. Nunc et orci metus. Cras quis lacus at tortor semper sollicitudin. Sed mi velit, semper et eleifend eget, faucibus mattis velit. Quisque interdum, risus et vulputate cursus, mauris elit fermentum nunc, in imperdiet ipsum odio sed magna. Vivamus porttitor ornare lacus in congue. Morbi et justo nulla, non tincidunt eros. Nulla scelerisque, tortor eget pulvinar volutpat, ante justo dapibus arcu, eu lacinia quam ante ut libero. Integer porta libero eu est scelerisque malesuada. Sed risus diam, pellentesque eu euismod sit amet, rhoncus quis velit. Aliquam et vehicula odio. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Pellentesque nec magna nec odio venenatis sollicitudin non id massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Ut in eleifend mauris.
Sed ac scelerisque nisl. Vivamus ac diam et nibh pulvinar gravida vitae a magna. Fusce ipsum ligula, suscipit sit amet ullamcorper a, fringilla sed neque. Curabitur ipsum dolor, consectetur condimentum luctus nec, molestie eu nulla. Curabitur eros nunc, varius at vestibulum sed, tincidunt aliquam risus. Aenean ultricies iaculis augue. Sed tempor scelerisque velit, et dignissim erat hendrerit gravida. Mauris consectetur porta lacus vel posuere. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut diam diam, tempus mattis interdum nec, tincidunt in ante. Pellentesque lacus ipsum, eleifend non imperdiet id, dapibus vel metus. Proin egestas sagittis urna facilisis congue. Fusce nec dapibus nibh.