3 { classes: Cc, interfaces: Ci, utils: Cu } = Components
5 utils = require 'utils'
12 window.scrollTo(0, window.document.body.scrollHeight)
15 window.scrollBy(0, SCROLL_AMOUNT)
18 window.scrollBy(0, -SCROLL_AMOUNT)
21 window.scrollBy(0, window.innerHeight)
24 window.scrollBy(0, -window.innerHeight)
27 if rootWindow = utils.getRootWindow window
28 rootWindow.gBrowser.tabContainer.advanceSelectedTab(1, true);
31 if rootWindow = utils.getRootWindow window
32 rootWindow.gBrowser.tabContainer.advanceSelectedTab(-1, true);
35 if rootWindow = utils.getRootWindow window
36 rootWindow.gBrowser.removeCurrentTab()
39 if rootWindow = utils.getRootWindow window
40 ss = utils.getSessionStore()
41 if ss and ss.getClosedTabCount(rootWindow) > 0
42 ss.undoCloseTab rootWindow, 0
45 window.document.activeElement?.blur()
48 getCommand = (keys) ->
49 sequence = [key.toString() for key in keys].join(',')
50 if command = commands[sequence]
52 else if keys.length > 0
53 return getCommand keys.slice(1)
57 maybeCommand = (keys) ->
61 sequence = [key.toString() for key in keys].join(',')
62 for s in Object.keys(commands)
63 if s.search(sequence) == 0
66 return maybeCommand keys.slice(1)
68 exports.getCommand = getCommand
69 exports.maybeCommand = maybeCommand