Merge pull request #28 from ueokande/horizonal-scroll

Horizonal scroll
jh-changes
Shin'ya Ueoka 7 years ago committed by GitHub
commit b580ef8170
  1. 4
      src/background/components/background.js
  2. 10
      src/content/actions/operation.js
  3. 20
      src/content/scrolls.js
  4. 10
      src/shared/default-settings.js
  5. 3
      src/shared/operations.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();

@ -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:

@ -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
};

@ -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" },

@ -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',