githubでforkしてAutoPagerizeのオンオフをキーボードショートカットでするパッチを当ててみた
githubでAutoPagerizeが公開されているので、gitの勉強ついでにforkして、この間書いたパッチを当ててみた。
タイトルの日本語おかしい気がするけど気にしないw
流れとしては、forkした後にgit cloneして、修正加えたら、git commitしてgit pushという流れです。
んで、パッチ当てたやつがこれ↓
autopagerize/autopagerize.user.js at master · ombran/autopagerize · GitHub
「shift+t」でAutoPagerizeをオンオフできるようにしたものなので、
興味のある人はご自由にどうぞ
一応差分は以下のような感じ。
@@ -28,6 +28,7 @@ var CACHE_EXPIRE = 24 * 60 * 60 * 1000 var BASE_REMAIN_HEIGHT = 400 var FORCE_TARGET_WINDOW = true var USE_COUNTER = true +var TOGGLE_KEY = 'shift+t'; var SITEINFO_IMPORT_URLS = [ 'http://wedata.net/databases/AutoPagerize/items.json', ] @@ -109,6 +110,8 @@ var AutoPager = function(info) { (Math.round(scrollHeight * 0.8)) this.remainHeight = scrollHeight - bottom + BASE_REMAIN_HEIGHT this.onScroll() + + window.addEventListener("keydown", function(e){ self.keydown(e) }, false); } AutoPager.prototype.getPageElementsBottom = function() { @@ -119,6 +122,40 @@ AutoPager.prototype.getPageElementsBottom = function() { catch(e) {} } +AutoPager.prototype.keydown = function(event){ + var keys = TOGGLE_KEY.toLowerCase().split('+'); + + var special_keys = { + 27: 'esc', 9: 'tab', 32: 'space', 13: 'return', 8: 'backspace', + 145: 'scroll', 20: 'capslock', 144: 'numlock', 19: 'pause', + 45: 'insert', 36: 'home', 46: 'del',35: 'end', 33: 'pageup', + 34: 'pagedown', 37: 'left', 38: 'up', 39: 'right',40: 'down', + 112: 'f1',113: 'f2', 114: 'f3', 115: 'f4', 116: 'f5', 117: 'f6', + 118: 'f7', 119: 'f8', 120: 'f9', 121: 'f10', 122: 'f11', 123: 'f12' + }; + + var code = event.which, + character = String.fromCharCode(code).toLowerCase(), + special = special_keys[code], + shift = event.shiftKey, + ctrl = event.ctrlKey, + alt = event.altKey; + + var modif = { "shift": false, "ctrl": false, "alt": false }; + + for(var i=0; i<keys.length; i++){ + if(keys[i]=="shift" || keys[i]=="ctrl" || keys[i]=="alt"){ + modif[keys[i]] = true; + keys.splice(i, 1); + } + } + if(shift == modif.shift && ctrl == modif.ctrl && alt == modif.alt){ + if(special == keys[0] || character == keys[0]){ + this.toggle(); + } + } +} + AutoPager.prototype.initHelp = function() { var helpDiv = document.createElement('div') helpDiv.setAttribute('id', 'autopagerize_help')