mirror of
https://github.com/vale981/tridactyl
synced 2025-03-06 01:51:40 -05:00
Merge pull request #1110 from WhiteAbeLincoln/master
Add Fullscreen{Change,Enter,Left} autocommand events
This commit is contained in:
commit
454a63e779
3 changed files with 58 additions and 11 deletions
28
package-lock.json
generated
28
package-lock.json
generated
|
@ -5046,12 +5046,14 @@
|
||||||
"balanced-match": {
|
"balanced-match": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
},
|
},
|
||||||
"brace-expansion": {
|
"brace-expansion": {
|
||||||
"version": "1.1.11",
|
"version": "1.1.11",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"balanced-match": "^1.0.0",
|
"balanced-match": "^1.0.0",
|
||||||
"concat-map": "0.0.1"
|
"concat-map": "0.0.1"
|
||||||
|
@ -5066,17 +5068,20 @@
|
||||||
"code-point-at": {
|
"code-point-at": {
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
},
|
},
|
||||||
"concat-map": {
|
"concat-map": {
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
},
|
},
|
||||||
"console-control-strings": {
|
"console-control-strings": {
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
},
|
},
|
||||||
"core-util-is": {
|
"core-util-is": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
|
@ -5193,7 +5198,8 @@
|
||||||
"inherits": {
|
"inherits": {
|
||||||
"version": "2.0.3",
|
"version": "2.0.3",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
},
|
},
|
||||||
"ini": {
|
"ini": {
|
||||||
"version": "1.3.5",
|
"version": "1.3.5",
|
||||||
|
@ -5205,6 +5211,7 @@
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"number-is-nan": "^1.0.0"
|
"number-is-nan": "^1.0.0"
|
||||||
}
|
}
|
||||||
|
@ -5219,6 +5226,7 @@
|
||||||
"version": "3.0.4",
|
"version": "3.0.4",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"brace-expansion": "^1.1.7"
|
"brace-expansion": "^1.1.7"
|
||||||
}
|
}
|
||||||
|
@ -5226,12 +5234,14 @@
|
||||||
"minimist": {
|
"minimist": {
|
||||||
"version": "0.0.8",
|
"version": "0.0.8",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
},
|
},
|
||||||
"minipass": {
|
"minipass": {
|
||||||
"version": "2.2.4",
|
"version": "2.2.4",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"safe-buffer": "^5.1.1",
|
"safe-buffer": "^5.1.1",
|
||||||
"yallist": "^3.0.0"
|
"yallist": "^3.0.0"
|
||||||
|
@ -5250,6 +5260,7 @@
|
||||||
"version": "0.5.1",
|
"version": "0.5.1",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"minimist": "0.0.8"
|
"minimist": "0.0.8"
|
||||||
}
|
}
|
||||||
|
@ -5330,7 +5341,8 @@
|
||||||
"number-is-nan": {
|
"number-is-nan": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
},
|
},
|
||||||
"object-assign": {
|
"object-assign": {
|
||||||
"version": "4.1.1",
|
"version": "4.1.1",
|
||||||
|
@ -5342,6 +5354,7 @@
|
||||||
"version": "1.4.0",
|
"version": "1.4.0",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"wrappy": "1"
|
"wrappy": "1"
|
||||||
}
|
}
|
||||||
|
@ -5463,6 +5476,7 @@
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"code-point-at": "^1.0.0",
|
"code-point-at": "^1.0.0",
|
||||||
"is-fullwidth-code-point": "^1.0.0",
|
"is-fullwidth-code-point": "^1.0.0",
|
||||||
|
|
|
@ -1923,11 +1923,29 @@ export async function reader() {
|
||||||
loadaucmds("DocStart")
|
loadaucmds("DocStart")
|
||||||
window.addEventListener("pagehide", () => loadaucmds("DocEnd"))
|
window.addEventListener("pagehide", () => loadaucmds("DocEnd"))
|
||||||
window.addEventListener("DOMContentLoaded", () => loadaucmds("DocLoad"))
|
window.addEventListener("DOMContentLoaded", () => loadaucmds("DocLoad"))
|
||||||
|
/** @hidden */
|
||||||
|
const fullscreenhandler = () => {
|
||||||
|
loadaucmds("FullscreenChange")
|
||||||
|
if (document.fullscreenElement || (document as any).mozFullScreenElement) {
|
||||||
|
loadaucmds("FullscreenEnter")
|
||||||
|
} else {
|
||||||
|
loadaucmds("FullscreenLeft")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const fullscreenApiIsPrefixed = "mozFullScreenEnabled" in document
|
||||||
|
|
||||||
|
// Until firefox removes vendor prefix for this api (in FF64), we must also use mozfullscreenchange
|
||||||
|
if (fullscreenApiIsPrefixed) {
|
||||||
|
document.addEventListener("mozfullscreenchange", fullscreenhandler)
|
||||||
|
} else if ("fullscreenEnabled" in document) {
|
||||||
|
document.addEventListener("fullscreenchange", fullscreenhandler)
|
||||||
|
}
|
||||||
// }
|
// }
|
||||||
|
|
||||||
/** @hidden */
|
/** @hidden */
|
||||||
//#content
|
//#content
|
||||||
export async function loadaucmds(cmdType: "DocStart" | "DocLoad" | "DocEnd" | "TabEnter" | "TabLeft") {
|
export async function loadaucmds(cmdType: "DocStart" | "DocLoad" | "DocEnd" | "TabEnter" | "TabLeft" | "FullscreenEnter" | "FullscreenLeft" | "FullscreenChange") {
|
||||||
let aucmds = await config.getAsync("autocmds", cmdType)
|
let aucmds = await config.getAsync("autocmds", cmdType)
|
||||||
const ausites = Object.keys(aucmds)
|
const ausites = Object.keys(aucmds)
|
||||||
const aukeyarr = ausites.filter(e => window.document.location.href.search(e) >= 0)
|
const aukeyarr = ausites.filter(e => window.document.location.href.search(e) >= 0)
|
||||||
|
@ -3268,10 +3286,10 @@ export function set(key: string, ...values: string[]) {
|
||||||
|
|
||||||
/** @hidden */
|
/** @hidden */
|
||||||
//#background_helper
|
//#background_helper
|
||||||
let AUCMDS = ["DocStart", "DocLoad", "DocEnd", "TriStart", "TabEnter", "TabLeft"]
|
let AUCMDS = ["DocStart", "DocLoad", "DocEnd", "TriStart", "TabEnter", "TabLeft", "FullscreenChange", "FullscreenEnter", "FullscreenLeft"]
|
||||||
/** Set autocmds to run when certain events happen.
|
/** Set autocmds to run when certain events happen.
|
||||||
|
|
||||||
@param event Curently, 'TriStart', 'DocStart', 'DocLoad', 'DocEnd', 'TabEnter' and 'TabLeft' are supported.
|
@param event Curently, 'TriStart', 'DocStart', 'DocLoad', 'DocEnd', 'TabEnter', 'TabLeft', 'FullscreenChange', 'FullscreenEnter', and 'FullscreenLeft' are supported
|
||||||
|
|
||||||
@param url For DocStart, DocEnd, TabEnter, and TabLeft: a fragment of the URL on which the events will trigger, or a JavaScript regex (e.g, `/www\.amazon\.co.*\/`)
|
@param url For DocStart, DocEnd, TabEnter, and TabLeft: a fragment of the URL on which the events will trigger, or a JavaScript regex (e.g, `/www\.amazon\.co.*\/`)
|
||||||
|
|
||||||
|
@ -3313,7 +3331,7 @@ export function autocontain(domain: string, container: string) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Remove autocmds
|
/** Remove autocmds
|
||||||
@param event Curently, 'TriStart', 'DocStart', 'DocLoad', 'DocEnd', 'TabEnter' and 'TabLeft' are supported.
|
@param event Curently, 'TriStart', 'DocStart', 'DocLoad', 'DocEnd', 'TabEnter', 'TabLeft', 'FullscreenChange', 'FullscreenEnter', and 'FullscreenLeft' are supported
|
||||||
|
|
||||||
@param url For DocStart, DocEnd, TabEnter, and TabLeft: a fragment of the URL on which the events will trigger, or a JavaScript regex (e.g, `/www\.amazon\.co.*\/`)
|
@param url For DocStart, DocEnd, TabEnter, and TabLeft: a fragment of the URL on which the events will trigger, or a JavaScript regex (e.g, `/www\.amazon\.co.*\/`)
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -318,6 +318,21 @@ class default_config {
|
||||||
// Too bad :/
|
// Too bad :/
|
||||||
// "emacs.org": "tabclose",
|
// "emacs.org": "tabclose",
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Commands that will be run when fullscreen state changes.
|
||||||
|
*/
|
||||||
|
FullscreenChange: {},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Commands that will be run when fullscreen state is entered.
|
||||||
|
*/
|
||||||
|
FullscreenEnter: {},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Commands that will be run when fullscreen state is left.
|
||||||
|
*/
|
||||||
|
FullscreenLeft: {},
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Add table
Reference in a new issue