diff options
author | Shin'ya Ueoka <ueokande@i-beam.org> | 2017-10-09 21:24:01 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-09 21:24:01 +0900 |
commit | b580ef8170a31f7cbef3103d1017f89a6f105319 (patch) | |
tree | aaba38ee6a4a7443a5b60b189444f4e02d4c248f | |
parent | 447466808f484d4baa6b285f2dbcaf1920db5498 (diff) | |
parent | cf36bf192ccbc6ffd175e4dd397b4a9140b7f28b (diff) |
Merge pull request #28 from ueokande/horizonal-scroll
Horizonal scroll
-rw-r--r-- | src/background/components/background.js | 4 | ||||
-rw-r--r-- | src/content/actions/operation.js | 10 | ||||
-rw-r--r-- | src/content/scrolls.js | 20 | ||||
-rw-r--r-- | src/shared/default-settings.js | 10 | ||||
-rw-r--r-- | src/shared/operations.js | 3 |
5 files changed, 30 insertions, 17 deletions
diff --git a/src/background/components/background.js b/src/background/components/background.js index 06b6900..266ad64 100644 --- a/src/background/components/background.js +++ b/src/background/components/background.js @@ -43,7 +43,7 @@ export default class BackgroundComponent { type: messages.CONSOLE_HIDE_COMMAND, }); case messages.CONSOLE_ENTERED: - return commands.exec(message.text, this.settings).catch((e) => { + return commands.exec(message.text, this.settings.value).catch((e) => { return browser.tabs.sendMessage(sender.tab.id, { type: messages.CONSOLE_SHOW_ERROR, text: e.message, @@ -52,7 +52,7 @@ export default class BackgroundComponent { case messages.SETTINGS_QUERY: return Promise.resolve(this.store.getState().value); case messages.CONSOLE_QUERY_COMPLETIONS: - return commands.complete(message.text, this.settings); + return commands.complete(message.text, this.settings.value); case messages.SETTINGS_RELOAD: this.store.dispatch(settingsActions.load()); return this.broadcastSettingsChanged(); diff --git a/src/content/actions/operation.js b/src/content/actions/operation.js index 0d5088b..9187514 100644 --- a/src/content/actions/operation.js +++ b/src/content/actions/operation.js @@ -8,8 +8,10 @@ import * as consoleFrames from 'content/console-frames'; const exec = (operation) => { switch (operation.type) { - case operations.SCROLL_LINES: - return scrolls.scrollLines(window, operation.count); + case operations.SCROLL_VERTICALLY: + return scrolls.scrollVertically(window, operation.count); + case operations.SCROLL_HORIZONALLY: + return scrolls.scrollHorizonally(window, operation.count); case operations.SCROLL_PAGES: return scrolls.scrollPages(window, operation.count); case operations.SCROLL_TOP: @@ -17,9 +19,9 @@ const exec = (operation) => { case operations.SCROLL_BOTTOM: return scrolls.scrollBottom(window); case operations.SCROLL_HOME: - return scrolls.scrollLeft(window); + return scrolls.scrollHome(window); case operations.SCROLL_END: - return scrolls.scrollRight(window); + return scrolls.scrollEnd(window); case operations.FOLLOW_START: return followActions.enable(false); case operations.NAVIGATE_HISTORY_PREV: diff --git a/src/content/scrolls.js b/src/content/scrolls.js index b1cea6f..86ea554 100644 --- a/src/content/scrolls.js +++ b/src/content/scrolls.js @@ -1,8 +1,15 @@ -const SCROLL_DELTA = 48; +const SCROLL_DELTA_X = 48; +const SCROLL_DELTA_Y = 48; -const scrollLines = (page, count) => { +const scrollVertically = (page, count) => { let x = page.scrollX; - let y = page.scrollY + SCROLL_DELTA * count; + let y = page.scrollY + SCROLL_DELTA_X * count; + page.scrollTo(x, y); +}; + +const scrollHorizonally = (page, count) => { + let x = page.scrollX + SCROLL_DELTA_Y * count; + let y = page.scrollY; page.scrollTo(x, y); }; @@ -25,18 +32,19 @@ const scrollBottom = (page) => { page.scrollTo(x, y); }; -const scrollLeft = (page) => { +const scrollHome = (page) => { let x = 0; let y = page.scrollY; page.scrollTo(x, y); }; -const scrollRight = (page) => { +const scrollEnd = (page) => { let x = page.scrollMaxX; let y = page.scrollY; page.scrollTo(x, y); }; export { - scrollLines, scrollPages, scrollTop, scrollBottom, scrollLeft, scrollRight + scrollVertically, scrollHorizonally, scrollPages, + scrollTop, scrollBottom, scrollHome, scrollEnd }; diff --git a/src/shared/default-settings.js b/src/shared/default-settings.js index f287b7a..ceacb50 100644 --- a/src/shared/default-settings.js +++ b/src/shared/default-settings.js @@ -11,8 +11,10 @@ export default { "w": { "type": "command.show.winopen", "alter": false }, "W": { "type": "command.show.winopen", "alter": true }, "b": { "type": "command.show.buffer" }, - "k": { "type": "scroll.lines", "count": -1 }, - "j": { "type": "scroll.lines", "count": 1 }, + "k": { "type": "scroll.vertically", "count": -1 }, + "j": { "type": "scroll.vertically", "count": 1 }, + "h": { "type": "scroll.horizonally", "count": -1 }, + "l": { "type": "scroll.horizonally", "count": 1 }, "<C-E>": { "type": "scroll.lines", "count": -1 }, "<C-Y>": { "type": "scroll.lines", "count": 1 }, "<C-U>": { "type": "scroll.pages", "count": -0.5 }, @@ -24,8 +26,8 @@ export default { "$": { "type": "scroll.end" }, "d": { "type": "tabs.close" }, "u": { "type": "tabs.reopen" }, - "h": { "type": "tabs.prev", "count": 1 }, - "l": { "type": "tabs.next", "count": 1 }, + "K": { "type": "tabs.prev", "count": 1 }, + "J": { "type": "tabs.next", "count": 1 }, "r": { "type": "tabs.reload", "cache": false }, "R": { "type": "tabs.reload", "cache": true }, "zi": { "type": "zoom.in" }, diff --git a/src/shared/operations.js b/src/shared/operations.js index ca62716..0d2a381 100644 --- a/src/shared/operations.js +++ b/src/shared/operations.js @@ -7,7 +7,8 @@ export default { COMMAND_SHOW_BUFFER: 'command.show.buffer', // Scrolls - SCROLL_LINES: 'scroll.lines', + SCROLL_VERTICALLY: 'scroll.vertically', + SCROLL_HORIZONALLY: 'scroll.horizonally', SCROLL_PAGES: 'scroll.pages', SCROLL_TOP: 'scroll.top', SCROLL_BOTTOM: 'scroll.bottom', |