Last active
November 16, 2023 03:36
-
-
Save ixzh/531c6a0316b751524f0c440c6db923dd to your computer and use it in GitHub Desktop.
SurfingKeysRc
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const { | |
aceVimMap, | |
mapkey, | |
imap, | |
imapkey, | |
getClickableElements, | |
vmapkey, | |
map, | |
unmap, | |
unmapAllExcept, | |
vunmap, | |
cmap, | |
addSearchAlias, | |
removeSearchAlias, | |
tabOpenLink, | |
readText, | |
Clipboard, | |
Front, | |
Hints, | |
Visual, | |
RUNTIME | |
} = api; | |
// an example to replace `T` with `gt`, click `Default mappings` to see how `T` works. | |
map('j','h'); | |
map('k','l'); | |
map('h','oh'); | |
map('l', '<Ctrl-6>'); | |
map('[','[['); | |
map(']',']]'); | |
map('<Backspace>','S'); | |
map('<Delete>','D'); | |
map('-','E'); | |
map('=','R'); | |
//mapkey(',', '#0enter ephemeral PassThrough mode to temporarily suppress SurfingKeys', function() { | |
// Normal.passThrough(2000); | |
//}); | |
settings.richHintsForKeystroke = 1; | |
settings.omnibarSuggestion = true; | |
settings.omnibarSuggestionTimeout=1; | |
settings.focusFirstCandidate = true; | |
settings.smoothScroll = false; | |
settings.scrollStepSize = 1600; | |
settings.hintAlign = "left"; | |
settings.tabsThreshold = 0; | |
settings.focusAfterClosed = "left"; | |
settings.repeatThreshold = 999; | |
settings.historyMUOrder = false; | |
settings.newTabPosition = "right"; | |
settings.enableEmojiInsertion = true; | |
settings.startToShowEmoji = 4; | |
settings.cursorAtEndOfInput = false; | |
addSearchAlias('z', '知乎', 'https://www.zhihu.com/search?type=content&q=', 's'); | |
addSearchAlias('amz', 'amazon', 'https://www.amazon.com/s/ref=nb_sb_noss?url=search-alias=aps&field-keywords=', 's'); | |
addSearchAlias('r', 'reddit', 'https://old.reddit.com/r/', 's'); | |
addSearchAlias('w', 'wikipedia', 'https://en.wikipedia.org/wiki/Special:Search/', 's'); | |
addSearchAlias('t', 'translate', 'https://www.google.com/search?q=translate+', 's'); | |
// set theme | |
// ---- Hints ---- | |
// Hints have to be defined separately | |
// Uncomment to enable | |
// Tomorrow-Night | |
Hints.style('border: solid 0px #373B41; padding: 1px !important; color:#52C196; background: initial; background-color: #1D1F21;'); | |
Hints.style("border: solid 0px #373B41 !important; padding: 1px !important; color: #000000 !important; background: #ffff00 !important;", "text"); | |
Visual.style('marks', 'background-color: #52C19699;'); | |
Visual.style('cursor', 'background-color: #81A2BE;'); | |
// Nord | |
/* -- DELETE LINE TO ENABLE THEME | |
Hints.style('border: solid 0px #4C566A; color:#A3BE8C; background: initial; background-color: #3B4252;'); | |
Hints.style("border: solid 0px #4C566A !important; padding: 1px !important; color: #E5E9F0 !important; background: #3B4252 !important;", "text"); | |
Visual.style('marks', 'background-color: #A3BE8C99;'); | |
Visual.style('cursor', 'background-color: #88C0D0;'); | |
-- DELETE LINE TO ENABLE THEME */ | |
// Doom One | |
/* -- DELETE LINE TO ENABLE THEME | |
Hints.style('border: solid 1px #282C34; color:#98be65; background: initial; background-color: #2E3440;'); | |
Hints.style("border: solid 1px #282C34 !important; padding: 1px !important; color: #51AFEF !important; background: #2E3440 !important;", "text"); | |
Visual.style('marks', 'background-color: #98be6599;'); | |
Visual.style('cursor', 'background-color: #51AFEF;'); | |
-- DELETE LINE TO ENABLE THEME */ | |
// Monokai | |
/* -- DELETE LINE TO ENABLE THEME | |
Hints.style('border: solid 1px #2D2E2E; color:#F92660; background: initial; background-color: #272822;'); | |
Hints.style("border: solid 1px #2D2E2E !important; padding: 1px !important; color: #A6E22E !important; background: #272822 !important;", "text"); | |
Visual.style('marks', 'background-color: #A6E22E99;'); | |
Visual.style('cursor', 'background-color: #F92660;'); | |
-- DELETE LINE TO ENABLE THEME */ | |
settings.theme = ` | |
/* Edit these variables for easy theme making */ | |
:root { | |
/* Font */ | |
--font: 'inconsolata', Ubuntu, sans; | |
--font-size: 12; | |
--font-weight: regular; | |
/* -------------- */ | |
/* --- THEMES --- */ | |
/* -------------- */ | |
/* -------------------- */ | |
/* -- Tomorrow Night -- */ | |
/* -------------------- */ | |
--fg: #C5C8C6; | |
--bg: #282A2E; | |
--bg-dark: #1D1F21; | |
--border: #373b41; | |
--main-fg: #81A2BE; | |
--accent-fg: #52C196; | |
--info-fg: #AC7BBA; | |
--select: #585858; | |
/* Unused Alternate Colors */ | |
/* --cyan: #4CB3BC; */ | |
/* --orange: #DE935F; */ | |
/* --red: #CC6666; */ | |
/* --yellow: #CBCA77; */ | |
/* -------------------- */ | |
/* -- NORD -- */ | |
/* -------------------- */ | |
/* -- DELETE LINE TO ENABLE THEME | |
--fg: #E5E9F0; | |
--bg: #3B4252; | |
--bg-dark: #2E3440; | |
--border: #4C566A; | |
--main-fg: #88C0D0; | |
--accent-fg: #A3BE8C; | |
--info-fg: #5E81AC; | |
--select: #4C566A; | |
-- DELETE LINE TO ENABLE THEME */ | |
/* Unused Alternate Colors */ | |
/* --orange: #D08770; */ | |
/* --red: #BF616A; */ | |
/* --yellow: #EBCB8B; */ | |
/* -------------------- */ | |
/* -- DOOM ONE -- */ | |
/* -------------------- */ | |
/* -- DELETE LINE TO ENABLE THEME | |
--fg: #51AFEF; | |
--bg: #2E3440; | |
--bg-dark: #21242B; | |
--border: #282C34; | |
--main-fg: #51AFEF; | |
--accent-fg: #98be65; | |
--info-fg: #C678DD; | |
--select: #4C566A; | |
-- DELETE LINE TO ENABLE THEME */ | |
/* Unused Alternate Colors */ | |
/* --bg-dark: #21242B; */ | |
/* --main-fg-alt: #2257A0; */ | |
/* --cyan: #46D9FF; */ | |
/* --orange: #DA8548; */ | |
/* --red: #FF6C6B; */ | |
/* --yellow: #ECBE7B; */ | |
} | |
/* ---------- Generic ---------- */ | |
.sk_theme { | |
background: var(--bg); | |
color: var(--fg); | |
background-color: var(--bg); | |
border-color: var(--border); | |
font-family: var(--font); | |
font-size: var(--font-size); | |
font-weight: var(--font-weight); | |
} | |
input { | |
font-family: var(--font); | |
font-weight: var(--font-weight); | |
} | |
.sk_theme tbody { | |
color: var(--fg); | |
} | |
.sk_theme input { | |
color: var(--fg); | |
} | |
/* Hints */ | |
#sk_hints .begin { | |
color: var(--accent-fg) !important; | |
} | |
#sk_tabs .sk_tab { | |
background: var(--bg-dark); | |
border: 1px solid var(--border); | |
color: var(--fg); | |
} | |
#sk_tabs .sk_tab_hint { | |
background: var(--bg); | |
border: 1px solid var(--border); | |
color: var(--accent-fg); | |
} | |
.sk_theme #sk_frame { | |
background: var(--bg); | |
opacity: 0.2; | |
color: var(--accent-fg); | |
} | |
/* ---------- Omnibar ---------- */ | |
/* Uncomment this and use settings.omnibarPosition = 'bottom' for Pentadactyl/Tridactyl style bottom bar */ | |
/* .sk_theme#sk_omnibar { | |
width: 100%; | |
left: 0; | |
} */ | |
.sk_theme .title { | |
color: var(--accent-fg); | |
} | |
.sk_theme .url { | |
color: var(--main-fg); | |
} | |
.sk_theme .annotation { | |
color: var(--accent-fg); | |
} | |
.sk_theme .omnibar_highlight { | |
color: var(--accent-fg); | |
} | |
.sk_theme .omnibar_timestamp { | |
color: var(--info-fg); | |
} | |
.sk_theme .omnibar_visitcount { | |
color: var(--accent-fg); | |
} | |
.sk_theme #sk_omnibarSearchResult ul li:nth-child(odd) { | |
background: var(--bg-dark); | |
} | |
.sk_theme #sk_omnibarSearchResult ul li.focused { | |
background: var(--border); | |
} | |
.sk_theme #sk_omnibarSearchArea { | |
border-top-color: var(--border); | |
border-bottom-color: var(--border); | |
} | |
.sk_theme #sk_omnibarSearchArea input, | |
.sk_theme #sk_omnibarSearchArea span { | |
font-size: var(--font-size); | |
} | |
.sk_theme .separator { | |
color: var(--accent-fg); | |
} | |
/* ---------- Popup Notification Banner ---------- */ | |
#sk_banner { | |
font-family: var(--font); | |
font-size: var(--font-size); | |
font-weight: var(--font-weight); | |
background: var(--bg); | |
border-color: var(--border); | |
color: var(--fg); | |
} | |
/* ---------- Popup Keys ---------- */ | |
#sk_keystroke { | |
background-color: var(--bg); | |
} | |
.sk_theme kbd .candidates { | |
color: var(--info-fg); | |
} | |
.sk_theme span.annotation { | |
color: var(--accent-fg); | |
} | |
/* ---------- Search ---------- */ | |
#sk_status, | |
#sk_find { | |
font-size: var(--font-size); | |
} | |
.sk_theme kbd { | |
background: var(--bg-dark); | |
border-color: var(--border); | |
box-shadow: none; | |
color: var(--fg); | |
} | |
.sk_theme .feature_name span { | |
color: var(--main-fg); | |
} | |
/* ---------- ACE Editor ---------- */ | |
#sk_editor { | |
background: var(--bg-dark) !important; | |
} | |
.ace_dialog-bottom { | |
border-top: 1px solid var(--bg) !important; | |
} | |
.ace-chrome .ace_print-margin, | |
.ace_gutter, | |
.ace_gutter-cell, | |
.ace_dialog { | |
background: var(--bg) !important; | |
} | |
.ace-chrome { | |
color: var(--fg) !important; | |
} | |
.ace_gutter, | |
.ace_dialog { | |
color: var(--fg) !important; | |
} | |
.ace_cursor { | |
color: var(--fg) !important; | |
} | |
.normal-mode .ace_cursor { | |
background-color: var(--fg) !important; | |
border: var(--fg) !important; | |
} | |
.ace_marker-layer .ace_selection { | |
background: var(--select) !important; | |
} | |
.ace_editor, | |
.ace_dialog span, | |
.ace_dialog input { | |
font-family: var(--font); | |
font-size: var(--font-size); | |
font-weight: var(--font-weight); | |
} | |
`; | |
//InlineQuery cq | |
Front.registerInlineQuery({ | |
url: function(q) { | |
return `http://dict.youdao.com/w/eng/${q}/#keyfrom=dict2.index`; | |
}, | |
parseResult: function(res) { | |
var parser = new DOMParser(); | |
var doc = parser.parseFromString(res.text, "text/html"); | |
var collinsResult = doc.querySelector("#collinsResult"); | |
var authTransToggle = doc.querySelector("#authTransToggle"); | |
var examplesToggle = doc.querySelector("#examplesToggle"); | |
if (collinsResult) { | |
collinsResult.querySelectorAll("div>span.collinsOrder").forEach(function(span) { | |
span.nextElementSibling.prepend(span); | |
}); | |
collinsResult.querySelectorAll("div.examples").forEach(function(div) { | |
div.innerHTML = div.innerHTML.replace(/<p/gi, "<span").replace(/<\/p>/gi, "</span>"); | |
}); | |
var exp = collinsResult.innerHTML; | |
return exp; | |
} else if (authTransToggle) { | |
authTransToggle.querySelector("div.via.ar").remove(); | |
return authTransToggle.innerHTML; | |
} else if (examplesToggle) { | |
return examplesToggle.innerHTML; | |
} | |
} | |
}); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const { | |
aceVimMap, | |
mapkey, | |
imap, | |
imapkey, | |
getClickableElements, | |
vmapkey, | |
map, | |
unmap, | |
vunmap, | |
cmap, | |
addSearchAlias, | |
removeSearchAlias, | |
tabOpenLink, | |
readText, | |
Clipboard, | |
Front, | |
Hints, | |
Visual, | |
RUNTIME | |
} = api; | |
// an example to replace `T` with `gt`, click `Default mappings` to see how `T` works. | |
map('t', 'T'); | |
map('j','h'); | |
map('k','l'); | |
map('h','oh'); | |
map('l', '<Ctrl-6>'); | |
map('[','[['); | |
map(']',']]'); | |
map('<Backspace>','S'); | |
map('<Delete>','D'); | |
map('-','E'); | |
map('=','R'); | |
map(',', 'p'); | |
settings.startToShowEmoji = 4; | |
settings.smoothScroll = false; | |
settings.scrollStepSize = 1600; | |
settings.hintAlign = "left"; | |
settings.tabsThreshold = 0; | |
settings.tabsMRUOrder = false; | |
settings.autoSpeakOnInlineQuery = false; | |
settings.focusFirstCandidate = true; | |
addSearchAlias('z', '知乎', 'https://www.zhihu.com/search?type=content&q=', 's'); | |
addSearchAlias('amz', 'amazon', 'https://www.amazon.com/s/ref=nb_sb_noss?url=search-alias=aps&field-keywords=', 's'); | |
addSearchAlias('r', 'reddit', 'https://old.reddit.com/r/', 's'); | |
addSearchAlias('w', 'wikipedia', 'https://en.wikipedia.org/wiki/Special:Search/', 's'); | |
addSearchAlias('s', 'define', 'https://www.google.com/search?q=define+', 's'); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment