mirror of
https://github.com/vale981/tridactyl
synced 2025-03-06 10:01:39 -05:00
101 lines
2.7 KiB
TypeScript
101 lines
2.7 KiB
TypeScript
import { messageActiveTab } from "./messaging"
|
|
|
|
async function pushKey(key) {
|
|
return await messageActiveTab("hinting_content", "pushKey", [key])
|
|
}
|
|
|
|
async function selectFocusedHint() {
|
|
return await messageActiveTab("hinting_content", "selectFocusedHint")
|
|
}
|
|
|
|
async function reset() {
|
|
return await messageActiveTab("hinting_content", "reset")
|
|
}
|
|
|
|
export async function hintPageYank() {
|
|
return await messageActiveTab("hinting_content", "hintPageYank")
|
|
}
|
|
|
|
export async function hintPageTextYank() {
|
|
return await messageActiveTab("hinting_content", "hintPageTextYank")
|
|
}
|
|
|
|
export async function hintPageAnchorYank() {
|
|
return await messageActiveTab("hinting_content", "hintPageAnchorYank")
|
|
}
|
|
|
|
export async function hintPageSimple(selectors?) {
|
|
return await messageActiveTab("hinting_content", "hintPageSimple", [
|
|
selectors,
|
|
])
|
|
}
|
|
|
|
export async function hintPageExStr(...exstr: string[]) {
|
|
return await messageActiveTab("hinting_content", "hintPageExStr", [
|
|
...exstr,
|
|
])
|
|
}
|
|
|
|
export async function hintPageOpenInBackground() {
|
|
return await messageActiveTab("hinting_content", "hintPageOpenInBackground")
|
|
}
|
|
|
|
export async function hintPageWindow() {
|
|
return await messageActiveTab("hinting_content", "hintPageWindow")
|
|
}
|
|
|
|
export async function hintPageWindowPrivate() {
|
|
return await messageActiveTab("hinting_content", "hintPageWindowPrivate")
|
|
}
|
|
|
|
export async function hintImage(inBackground) {
|
|
return await messageActiveTab("hinting_content", "hintImage", [
|
|
inBackground,
|
|
])
|
|
}
|
|
|
|
export async function hintFocus() {
|
|
return await messageActiveTab("hinting_content", "hintFocus")
|
|
}
|
|
|
|
export async function hintRead() {
|
|
return await messageActiveTab("hinting_content", "hintRead")
|
|
}
|
|
|
|
export async function hintKill() {
|
|
return await messageActiveTab("hinting_content", "hintKill")
|
|
}
|
|
|
|
/** Type for "hint save" actions:
|
|
* - "link": elements that point to another resource (eg
|
|
* links to pages/files) - the link target is saved
|
|
* - "img": image elements
|
|
*/
|
|
export type HintSaveType = "link" | "img"
|
|
|
|
export async function hintSave(hintType: HintSaveType, saveAs: boolean) {
|
|
return await messageActiveTab("hinting_content", "hintSave", [
|
|
hintType,
|
|
saveAs,
|
|
])
|
|
}
|
|
|
|
import { MsgSafeKeyboardEvent } from "./msgsafe"
|
|
|
|
/** At some point, this might be turned into a real keyseq parser
|
|
|
|
reset and selectFocusedHints are OK candidates for map targets in the
|
|
future. pushKey less so, I think.
|
|
|
|
*/
|
|
export function parser(keys: MsgSafeKeyboardEvent[]) {
|
|
const key = keys[0].key
|
|
if (key === "Escape") {
|
|
reset()
|
|
} else if (["Enter", " "].includes(key)) {
|
|
selectFocusedHint()
|
|
} else {
|
|
pushKey(keys[0])
|
|
}
|
|
return { keys: [], ex_str: "" }
|
|
}
|