diff --git a/.config/browser/extensions/surfingkeys.js b/.config/browser/extensions/surfingkeys.js index d05182d2..96cbf3cc 100644 --- a/.config/browser/extensions/surfingkeys.js +++ b/.config/browser/extensions/surfingkeys.js @@ -94,7 +94,7 @@
${e.txt??""}
- `}))},qe.bb={alias:"bs",name:"brave-search",search:"https://search.brave.com/search?q=",compl:"https://search.brave.com/api/suggest?q="},qe.bb.callback=e=>JSON.parse(e.text)[1],qe.bi={alias:"bi",name:"brave-images",search:"https://search.brave.com/images?q=",compl:"https://search.brave.com/api/suggest?q="},qe.bi.callback=e=>JSON.parse(e.text)[1],qe.bn={alias:"bn",name:"brave-news",search:"https://search.brave.com/news?q=",compl:"https://search.brave.com/api/suggest?q="},qe.bn.callback=e=>JSON.parse(e.text)[1],qe.bv={alias:"bv",name:"brave-videos",search:"https://search.brave.com/videos?q=",compl:"https://search.brave.com/api/suggest?q="},qe.bv.callback=e=>JSON.parse(e.text)[1],qe.gg=De({alias:"gg",name:"golang",domain:"golang.org"}),qe.ci={alias:"ci",name:"caniuse",search:"https://caniuse.com/?search=",compl:"https://caniuse.com/process/query.php?search=",favicon:"https://caniuse.com/img/favicon-128.png"},qe.ci.getData=async()=>{const e="completions.ci.data",t=await Ee.get(e);if(t)return JSON.parse(t);const a=JSON.parse(await Ne("https://caniuse.com/data.json"));return Ee.set(e,JSON.stringify(a)),a},qe.ci.callback=async e=>{const{featureIds:t}=JSON.parse(e.text),a=await qe.ci.getData();return t.map((e=>{const t=a.data[e];return t?Te({url:`https://caniuse.com/${e}`})` + `}))},qe.bs={alias:"bs",name:"brave-search",search:"https://search.brave.com/search?q=",compl:"https://search.brave.com/api/suggest?q="},qe.bs.callback=e=>JSON.parse(e.text)[1],qe.bi={alias:"bi",name:"brave-images",search:"https://search.brave.com/images?q=",compl:"https://search.brave.com/api/suggest?q="},qe.bi.callback=e=>JSON.parse(e.text)[1],qe.bn={alias:"bn",name:"brave-news",search:"https://search.brave.com/news?q=",compl:"https://search.brave.com/api/suggest?q="},qe.bn.callback=e=>JSON.parse(e.text)[1],qe.bv={alias:"bv",name:"brave-videos",search:"https://search.brave.com/videos?q=",compl:"https://search.brave.com/api/suggest?q="},qe.bv.callback=e=>JSON.parse(e.text)[1],qe.gg=De({alias:"gg",name:"golang",domain:"golang.org"}),qe.ci={alias:"ci",name:"caniuse",search:"https://caniuse.com/?search=",compl:"https://caniuse.com/process/query.php?search=",favicon:"https://caniuse.com/img/favicon-128.png"},qe.ci.getData=async()=>{const e="completions.ci.data",t=await Ee.get(e);if(t)return JSON.parse(t);const a=JSON.parse(await Ne("https://caniuse.com/data.json"));return Ee.set(e,JSON.stringify(a)),a},qe.ci.callback=async e=>{const{featureIds:t}=JSON.parse(e.text),a=await qe.ci.getData();return t.map((e=>{const t=a.data[e];return t?Te({url:`https://caniuse.com/${e}`})`
${t.title}
${t.description}
@@ -183,4 +183,4 @@
${e.id}
dataset
- `))]},qe.ay={alias:"ay",name:"aoty",search:"https://www.albumoftheyear.org/search/?q="},qe.gn={alias:"gn",name:"genius",search:"https://genius.com/search?q="},qe.lf={alias:"lf",name:"lastfm",search:"https://www.last.fm/search?q="},qe.ym={alias:"ym",name:"youtube-music",search:"https://music.youtube.com/search?q="},qe.st={alias:"sp",name:"spotify",search:"https://open.spotify.com/search/"},qe.td={alias:"td",name:"tidal",search:"https://listen.tidal.com/search?q="},qe.st={alias:"st",name:"steam",search:"https://store.steampowered.com/search/?term="},qe.gd={alias:"gd",name:"ggdeals",search:"https://gg.deals/search/?title="},qe.hl={alias:"hl",name:"howlongtobeat",search:"https://www.howlongtobeat.com/?q="},qe.up={alias:"up",name:"unsplash",search:"https://unsplash.com/s/photos/"},qe.pi={alias:"pi",name:"pinterest",search:"https://www.pinterest.com/search/pins/?q="},qe.px={alias:"px",name:"pixiv",search:"https://www.pixiv.net/tags/"};const Ue={settings:{hintAlign:"left",hintCharacters:"qwertasdfgzxcvb",omnibarSuggestionTimeout:500,richHintsForKeystroke:1,defaultSearchEngine:"bb",stealFocusOnLoad:!1,theme:"\n:root {\n /* Font */\n --font: 'JetBrainsMono Nerd Font';\n --font-size: 13px;\n --font-weight: bold;\n\n --fg: #cad3f5;\n --bg: #24273a;\n --bg-dark: #1e2030;\n --border: #6e738d;\n --main-fg: #cad3f5;\n --accent-fg: #b7bdf8;\n --info-fg: #ed8796;\n --select: #494d64;\n}\n\n/* ---------- Generic ---------- */\n.sk_theme {\nbackground: var(--bg);\ncolor: var(--fg);\n background-color: var(--bg);\n border-color: var(--border);\n font-family: var(--font);\n font-size: var(--font-size);\n font-weight: var(--font-weight);\n}\n\ninput {\n font-family: var(--font);\n font-weight: var(--font-weight);\n}\n\n.sk_theme tbody {\n color: var(--fg);\n}\n\n.sk_theme input {\n color: var(--fg);\n}\n\n#sk_tabs .sk_tab {\n background: var(--bg-dark);\n border: 1px solid var(--border);\n}\n\n#sk_tabs .sk_tab_title {\n color: var(--fg);\n}\n\n#sk_tabs .sk_tab_url {\n color: var(--main-fg);\n}\n\n#sk_tabs .sk_tab_hint {\n background: var(--bg);\n border: 1px solid var(--border);\n color: var(--accent-fg);\n}\n\n.sk_theme #sk_frame {\n background: var(--bg);\n opacity: 0.2;\n color: var(--accent-fg);\n}\n\n/* ---------- Omnibar ---------- */\n/* Uncomment this and use settings.omnibarPosition = 'bottom' for Pentadactyl/Tridactyl style bottom bar */\n/* .sk_theme#sk_omnibar {\n width: 100%;\n left: 0;\n} */\n\n.sk_theme .title {\n color: var(--accent-fg);\n}\n\n.sk_theme .url {\n color: var(--main-fg);\n}\n\n.sk_theme .annotation {\n color: var(--accent-fg);\n}\n\n.sk_theme .omnibar_highlight {\n color: var(--accent-fg);\n}\n\n.sk_theme .omnibar_timestamp {\n color: var(--info-fg);\n}\n\n.sk_theme .omnibar_visitcount {\n color: var(--accent-fg);\n}\n\n.sk_theme #sk_omnibarSearchResult ul li:nth-child(odd) {\n background: var(--bg-dark);\n}\n\n.sk_theme #sk_omnibarSearchResult ul li.focused {\n background: var(--border);\n}\n\n.sk_theme #sk_omnibarSearchArea {\n border-top-color: var(--border);\n border-bottom-color: var(--border);\n}\n\n.sk_theme #sk_omnibarSearchArea input,\n.sk_theme #sk_omnibarSearchArea span {\n font-size: var(--font-size);\n}\n\n.sk_theme .separator {\n color: var(--accent-fg);\n}\n\n/* ---------- Popup Notification Banner ---------- */\n#sk_banner {\n font-family: var(--font);\n font-size: var(--font-size);\n font-weight: var(--font-weight);\n background: var(--bg);\n border-color: var(--border);\n color: var(--fg);\n opacity: 0.9;\n}\n\n/* ---------- Popup Keys ---------- */\n#sk_keystroke {\n background-color: var(--bg);\n}\n\n.sk_theme kbd .candidates {\n color: var(--info-fg);\n}\n\n.sk_theme span.annotation {\n color: var(--accent-fg);\n}\n\n/* ---------- Popup Translation Bubble ---------- */\n#sk_bubble {\n background-color: var(--bg) !important;\n color: var(--fg) !important;\n border-color: var(--border) !important;\n}\n\n#sk_bubble * {\n color: var(--fg) !important;\n}\n\n#sk_bubble div.sk_arrow div:nth-of-type(1) {\n border-top-color: var(--border) !important;\n border-bottom-color: var(--border) !important;\n}\n\n#sk_bubble div.sk_arrow div:nth-of-type(2) {\n border-top-color: var(--bg) !important;\n border-bottom-color: var(--bg) !important;\n}\n\n/* ---------- Search ---------- */\n#sk_status,\n#sk_find {\n font-size: var(--font-size);\n border-color: var(--border);\n}\n\n.sk_theme kbd {\n background: var(--bg-dark);\n border-color: var(--border);\n box-shadow: none;\n color: var(--fg);\n}\n\n.sk_theme .feature_name span {\n color: var(--main-fg);\n}\n\n/* ---------- ACE Editor ---------- */\n#sk_editor {\n background: var(--bg-dark) !important;\n height: 50% !important;\n /* Remove this to restore the default editor size */\n}\n\n.ace_dialog-bottom {\n border-top: 1px solid var(--bg) !important;\n}\n\n.ace-chrome .ace_print-margin,\n.ace_gutter,\n.ace_gutter-cell,\n.ace_dialog {\n background: var(--bg) !important;\n}\n\n.ace-chrome {\n color: var(--fg) !important;\n}\n\n.ace_gutter,\n.ace_dialog {\n color: var(--fg) !important;\n}\n\n.ace_cursor {\n color: var(--fg) !important;\n}\n\n.normal-mode .ace_cursor {\n background-color: var(--fg) !important;\n border: var(--fg) !important;\n opacity: 0.7 !important;\n}\n\n.ace_marker-layer .ace_selection {\n background: var(--select) !important;\n}\n\n.ace_editor,\n.ace_dialog span,\n.ace_dialog input {\n font-family: var(--font);\n font-size: var(--font-size);\n font-weight: var(--font-weight);\n}\n"},keys:xe,searchEngines:qe,siteleader:"a",searchleader:"s",logLevels:["error"]},{categories:He}=ue,{mapkey:Me,map:je,unmap:ze,unmapAllExcept:Fe,Clipboard:Ve,Front:Be,removeSearchAlias:Ge,addSearchAlias:Je}=t,We=(e,t,a)=>{const n=Object.entries(t).flatMap((([t,a])=>a.flatMap((a=>({[a]:e[t]}))))),r=Object.assign({},e,...n);Object.entries(r).forEach((([e,t])=>t.forEach((t=>((e,t,a)=>{const{alias:n,callback:r,leader:o=("global"===e?"":a),category:i=He.misc,description:s="",path:c="(/.*)?"}=t,l={},p=`${o}${n}`;if("global"!==e){const t=e.replace(".","\\.");l.domain=new RegExp(`^http(s)?://(([a-zA-Z0-9-_]+\\.)*)(${t})${c}`)}const d=`#${i} ${s}`;void 0!==t.map?je(n,t.map):Me(p,d,r,l)})(e,t,a)))))},Ye=async()=>{if(window.surfingKeys=t,Ue.settings&&Object.assign(settings,"function"==typeof Ue.settings?Ue.settings():Ue.settings),Ue.logLevels&&await chrome.storage.local.set({logLevels:Ue.logLevels}),Ue.keys&&Ue.keys.unmaps){const{unmaps:e}=Ue.keys;e.mappings&&e.mappings.forEach((e=>ze(e))),e.searchAliases&&Object.entries(e.searchAliases).forEach((([e,t])=>{t.forEach((t=>Ge(t,e)))})),e.pages&&e.pages.forEach((e=>Fe(e.maps,e.url)))}var e,a;if(Ue.searchEngines&&(e=Ue.searchEngines,a=Ue.searchleader??"o",Object.values(e).forEach((e=>{const t={favicon_url:e.favicon,skipMaps:!0};Je(e.alias,e.name,e.search,"",e.compl,e.callback,void 0,t),Me(`${a}${e.alias}`,`#8Search ${e.name}`,(()=>Be.openOmnibar({type:"SearchEngine",extra:e.alias}))),Me(`c${a}${e.alias}`,`#8Search ${e.name} with clipboard contents`,(()=>{Ve.read((t=>{Be.openOmnibar({type:"SearchEngine",pref:t.data,extra:e.alias})}))}))}))),Ue.keys&&Ue.keys.maps){const{keys:e}=Ue,{maps:t,aliases:a={}}=e;We(t,a,Ue.siteleader)}};"undefined"!=typeof window&&Ye()})()})(); \ No newline at end of file + `))]},qe.ay={alias:"ay",name:"aoty",search:"https://www.albumoftheyear.org/search/?q="},qe.gn={alias:"gn",name:"genius",search:"https://genius.com/search?q="},qe.lf={alias:"lf",name:"lastfm",search:"https://www.last.fm/search?q="},qe.ym={alias:"ym",name:"youtube-music",search:"https://music.youtube.com/search?q="},qe.st={alias:"sp",name:"spotify",search:"https://open.spotify.com/search/"},qe.td={alias:"td",name:"tidal",search:"https://listen.tidal.com/search?q="},qe.st={alias:"st",name:"steam",search:"https://store.steampowered.com/search/?term="},qe.gd={alias:"gd",name:"ggdeals",search:"https://gg.deals/search/?title="},qe.hl={alias:"hl",name:"howlongtobeat",search:"https://www.howlongtobeat.com/?q="},qe.up={alias:"up",name:"unsplash",search:"https://unsplash.com/s/photos/"},qe.pi={alias:"pi",name:"pinterest",search:"https://www.pinterest.com/search/pins/?q="},qe.px={alias:"px",name:"pixiv",search:"https://www.pixiv.net/tags/"};const Ue={settings:{hintAlign:"left",hintCharacters:"qwertasdfgzxcvb",omnibarSuggestionTimeout:500,richHintsForKeystroke:1,defaultSearchEngine:"bs",stealFocusOnLoad:!1,theme:"\n:root {\n /* Font */\n --font: 'JetBrainsMono Nerd Font';\n --font-size: 13px;\n --font-weight: bold;\n\n --fg: #cad3f5;\n --bg: #24273a;\n --bg-dark: #1e2030;\n --border: #6e738d;\n --main-fg: #cad3f5;\n --accent-fg: #b7bdf8;\n --info-fg: #ed8796;\n --select: #494d64;\n}\n\n/* ---------- Generic ---------- */\n.sk_theme {\nbackground: var(--bg);\ncolor: var(--fg);\n background-color: var(--bg);\n border-color: var(--border);\n font-family: var(--font);\n font-size: var(--font-size);\n font-weight: var(--font-weight);\n}\n\ninput {\n font-family: var(--font);\n font-weight: var(--font-weight);\n}\n\n.sk_theme tbody {\n color: var(--fg);\n}\n\n.sk_theme input {\n color: var(--fg);\n}\n\n#sk_tabs .sk_tab {\n background: var(--bg-dark);\n border: 1px solid var(--border);\n}\n\n#sk_tabs .sk_tab_title {\n color: var(--fg);\n}\n\n#sk_tabs .sk_tab_url {\n color: var(--main-fg);\n}\n\n#sk_tabs .sk_tab_hint {\n background: var(--bg);\n border: 1px solid var(--border);\n color: var(--accent-fg);\n}\n\n.sk_theme #sk_frame {\n background: var(--bg);\n opacity: 0.2;\n color: var(--accent-fg);\n}\n\n/* ---------- Omnibar ---------- */\n/* Uncomment this and use settings.omnibarPosition = 'bottom' for Pentadactyl/Tridactyl style bottom bar */\n/* .sk_theme#sk_omnibar {\n width: 100%;\n left: 0;\n} */\n\n.sk_theme .title {\n color: var(--accent-fg);\n}\n\n.sk_theme .url {\n color: var(--main-fg);\n}\n\n.sk_theme .annotation {\n color: var(--accent-fg);\n}\n\n.sk_theme .omnibar_highlight {\n color: var(--accent-fg);\n}\n\n.sk_theme .omnibar_timestamp {\n color: var(--info-fg);\n}\n\n.sk_theme .omnibar_visitcount {\n color: var(--accent-fg);\n}\n\n.sk_theme #sk_omnibarSearchResult ul li:nth-child(odd) {\n background: var(--bg-dark);\n}\n\n.sk_theme #sk_omnibarSearchResult ul li.focused {\n background: var(--border);\n}\n\n.sk_theme #sk_omnibarSearchArea {\n border-top-color: var(--border);\n border-bottom-color: var(--border);\n}\n\n.sk_theme #sk_omnibarSearchArea input,\n.sk_theme #sk_omnibarSearchArea span {\n font-size: var(--font-size);\n}\n\n.sk_theme .separator {\n color: var(--accent-fg);\n}\n\n/* ---------- Popup Notification Banner ---------- */\n#sk_banner {\n font-family: var(--font);\n font-size: var(--font-size);\n font-weight: var(--font-weight);\n background: var(--bg);\n border-color: var(--border);\n color: var(--fg);\n opacity: 0.9;\n}\n\n/* ---------- Popup Keys ---------- */\n#sk_keystroke {\n background-color: var(--bg);\n}\n\n.sk_theme kbd .candidates {\n color: var(--info-fg);\n}\n\n.sk_theme span.annotation {\n color: var(--accent-fg);\n}\n\n/* ---------- Popup Translation Bubble ---------- */\n#sk_bubble {\n background-color: var(--bg) !important;\n color: var(--fg) !important;\n border-color: var(--border) !important;\n}\n\n#sk_bubble * {\n color: var(--fg) !important;\n}\n\n#sk_bubble div.sk_arrow div:nth-of-type(1) {\n border-top-color: var(--border) !important;\n border-bottom-color: var(--border) !important;\n}\n\n#sk_bubble div.sk_arrow div:nth-of-type(2) {\n border-top-color: var(--bg) !important;\n border-bottom-color: var(--bg) !important;\n}\n\n/* ---------- Search ---------- */\n#sk_status,\n#sk_find {\n font-size: var(--font-size);\n border-color: var(--border);\n}\n\n.sk_theme kbd {\n background: var(--bg-dark);\n border-color: var(--border);\n box-shadow: none;\n color: var(--fg);\n}\n\n.sk_theme .feature_name span {\n color: var(--main-fg);\n}\n\n/* ---------- ACE Editor ---------- */\n#sk_editor {\n background: var(--bg-dark) !important;\n height: 50% !important;\n /* Remove this to restore the default editor size */\n}\n\n.ace_dialog-bottom {\n border-top: 1px solid var(--bg) !important;\n}\n\n.ace-chrome .ace_print-margin,\n.ace_gutter,\n.ace_gutter-cell,\n.ace_dialog {\n background: var(--bg) !important;\n}\n\n.ace-chrome {\n color: var(--fg) !important;\n}\n\n.ace_gutter,\n.ace_dialog {\n color: var(--fg) !important;\n}\n\n.ace_cursor {\n color: var(--fg) !important;\n}\n\n.normal-mode .ace_cursor {\n background-color: var(--fg) !important;\n border: var(--fg) !important;\n opacity: 0.7 !important;\n}\n\n.ace_marker-layer .ace_selection {\n background: var(--select) !important;\n}\n\n.ace_editor,\n.ace_dialog span,\n.ace_dialog input {\n font-family: var(--font);\n font-size: var(--font-size);\n font-weight: var(--font-weight);\n}\n"},keys:xe,searchEngines:qe,siteleader:"a",searchleader:"s",logLevels:["error"]},{categories:He}=ue,{mapkey:Me,map:je,unmap:ze,unmapAllExcept:Fe,Clipboard:Ve,Front:Be,removeSearchAlias:Ge,addSearchAlias:Je}=t,We=(e,t,a)=>{const n=Object.entries(t).flatMap((([t,a])=>a.flatMap((a=>({[a]:e[t]}))))),r=Object.assign({},e,...n);Object.entries(r).forEach((([e,t])=>t.forEach((t=>((e,t,a)=>{const{alias:n,callback:r,leader:o=("global"===e?"":a),category:i=He.misc,description:s="",path:c="(/.*)?"}=t,l={},p=`${o}${n}`;if("global"!==e){const t=e.replace(".","\\.");l.domain=new RegExp(`^http(s)?://(([a-zA-Z0-9-_]+\\.)*)(${t})${c}`)}const d=`#${i} ${s}`;void 0!==t.map?je(n,t.map):Me(p,d,r,l)})(e,t,a)))))},Ye=async()=>{if(window.surfingKeys=t,Ue.settings&&Object.assign(settings,"function"==typeof Ue.settings?Ue.settings():Ue.settings),Ue.logLevels&&await chrome.storage.local.set({logLevels:Ue.logLevels}),Ue.keys&&Ue.keys.unmaps){const{unmaps:e}=Ue.keys;e.mappings&&e.mappings.forEach((e=>ze(e))),e.searchAliases&&Object.entries(e.searchAliases).forEach((([e,t])=>{t.forEach((t=>Ge(t,e)))})),e.pages&&e.pages.forEach((e=>Fe(e.maps,e.url)))}var e,a;if(Ue.searchEngines&&(e=Ue.searchEngines,a=Ue.searchleader??"o",Object.values(e).forEach((e=>{const t={favicon_url:e.favicon,skipMaps:!0};Je(e.alias,e.name,e.search,"",e.compl,e.callback,void 0,t),Me(`${a}${e.alias}`,`#8Search ${e.name}`,(()=>Be.openOmnibar({type:"SearchEngine",extra:e.alias}))),Me(`c${a}${e.alias}`,`#8Search ${e.name} with clipboard contents`,(()=>{Ve.read((t=>{Be.openOmnibar({type:"SearchEngine",pref:t.data,extra:e.alias})}))}))}))),Ue.keys&&Ue.keys.maps){const{keys:e}=Ue,{maps:t,aliases:a={}}=e;We(t,a,Ue.siteleader)}};"undefined"!=typeof window&&Ye()})()})(); \ No newline at end of file diff --git a/.config/browser/extensions/violentmonkey.zip b/.config/browser/extensions/violentmonkey.zip index 5f3d2381..b166117e 100644 Binary files a/.config/browser/extensions/violentmonkey.zip and b/.config/browser/extensions/violentmonkey.zip differ