// https://github.com/brookhong/Surfingkeys/wiki/Migrate-your-settings-from-0.9.74-to-1.0 const { aceVimMap, mapkey, imap, imapkey, getClickableElements, vmapkey, map, unmap, vunmap, cmap, addSearchAlias, removeSearchAlias, tabOpenLink, readText, Clipboard, Front, Hints, Visual, RUNTIME, iunmap, } = api; // old example config, may not work. also, I change ctrl-y to Ctrl-y // an example to create a new mapping `ctrl-y` //mapkey('', 'Show me the money', function() { // Front.showPopup('a well-known phrase uttered by characters in the 1996 film Jerry Maguire (Escape to close).'); //}); // an example to replace `T` with `gt`, click `Default mappings` to see how `T` works. //map('gt', 'T'); // I choose to use , , or

instead. I prefer

//settings.blacklistPattern = /.*youtube\.com.*|.*mail\.google\.com.*/i; //unmap(''); map(';h',''); unmap(''); // alt-s not working, seems because arkenfox user.js enabled resist finger printing // more see /home/xyz/.mozilla/firefox/xxxxxxxx.fly/user.js "1222285 & 1433592", seems related to firefox bugzilla https://bugzilla.mozilla.org/show_bug.cgi?id=1222285 and https://bugzilla.mozilla.org/show_bug.cgi?id=1433592 , user.js worte that RFP spoof alt and shift keys, I guess maybe this causes alt-s not working // alt-s much map to one keystroke, so map to ;s does not work, see https://github.com/brookhong/Surfingkeys?tab=readme-ov-file#hotkey-to-toggle-surfingkeys: "hotkey must be one keystroke with/without modifier, it can not be a sequence of keystrokes like `gg`." // note I map to Ctrl-e because it is the only ctrl-alphabet hotkey firefox does not has a hotkey for, note it used to be firenvim default hotkey but I changed to ctrl-, map('',''); //unmap(''); map(';i',''); // I need firefox default ctrl-i hotkey, and surfingkeys ctrl-i hotkey doesn't seem to work anyway unmap(''); // on firefox, firenvim default Ctrl-e will be overwirted by github issue hotkey, see: // https://github.com/glacambre/firenvim/issues/1046 // https://bugzilla.mozilla.org/show_bug.cgi?id=1713794 // currently seems no good solution but to use another hotkey, I choose Ctrl+, // current surfingkeys version 0.9.74 is outdated and doesn't contain firenvim integration, wait for author to update // I tried to run the source code as temp extension in about:debugging or with web-ext cli tool but no luck // update: surfingkeys 1.0 is out, but it integrate neovim in another way, and firefox is not supported? // https://github.com/brookhong/Surfingkeys/issues/1542#:~:text=side%20is%20not-,necessary,-now%2C%20please%20help // some more links: // https://github.com/brookhong/Surfingkeys/tree/master/src/nvim/server // but now it seems surfingkeys neovim integration for firefox will not happen in the near future, so I'm not set it to true anymore //settings.useNeovim = true; // disable all insert mode hotkeys except Ctrl-i for future neovim integration // but now it seems surfingkeys neovim integration for firefox will not happen in the near future, so I re-disable it iunmap(''); iunmap(''); iunmap(''); iunmap(''); iunmap(''); iunmap(""); iunmap(''); iunmap(''); iunmap(''); // following code of map n to nzz not working in 1.0 // I guess it may because Visual.next and Visual.feedkeys is not supported in new api, see below source code permalink // https://github.com/brookhong/Surfingkeys/blob/3d1de8cab8584209cc6fec3ed7025e8ebab476d8/src/content_scripts/common/api.js#L774-L776 //mapkey('n','Find next then center cursor', function(){ // Visual.next(false); // Visual.feedkeys('zz'); //}); //mapkey('N','Find previous then center cursor', function(){ // Visual.next(true); // Visual.feedkeys('zz'); //}); // with firefox RFP enabled in user.js, smooth scroll and gg/G do not work, firefox RFP's feature settings.smoothScroll = false; // set theme settings.theme = ` .sk_theme { font-family: Input Sans Condensed, Charcoal, sans-serif; font-size: 10pt; background: #24272e; color: #abb2bf; } .sk_theme tbody { color: #fff; } .sk_theme input { color: #d0d0d0; } .sk_theme .url { color: #61afef; } .sk_theme .annotation { color: #56b6c2; } .sk_theme .omnibar_highlight { color: #528bff; } .sk_theme .omnibar_timestamp { color: #e5c07b; } .sk_theme .omnibar_visitcount { color: #98c379; } .sk_theme #sk_omnibarSearchResult ul li:nth-child(odd) { background: #303030; } .sk_theme #sk_omnibarSearchResult ul li.focused { background: #3e4452; } #sk_status, #sk_find { font-size: 16pt; }`; // click `Save` button to make above settings to take effect.