summaryrefslogtreecommitdiff
path: root/home/xyz/.config/myconf/surfingkeys_config.js
blob: b53da7a8eff152a480fd023f4b8f6c91ebe7f572 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
// 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('<Ctrl-y>', '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 <Alt-i>, <Alt-s>, or <p> instead. I prefer <p>
//settings.blacklistPattern = /.*youtube\.com.*|.*mail\.google\.com.*/i;

//unmap('<Ctrl-j>');
map(';h','<Ctrl-h>');
unmap('<Ctrl-h>');
// alt-s not working, seems because arkenfox user.js enabled resist finger printing
// remap alt-s also not working, see issue in github
//map(';s','<Alt-s>');
//unmap('<Alt-s>');

// 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
settings.useNeovim = true;

// disable all insert mode hotkeys except Ctrl-i for future neovim integration
//iunmap('<Ctrl-i>');
iunmap('<Alt-b>');
iunmap('<Alt-d>');
iunmap('<Alt-f>');
iunmap('<Alt-w>');
iunmap("<Ctrl-'>");
iunmap('<Ctrl-e>');
iunmap('<Ctrl-f>');
iunmap('<Ctrl-u>');

// 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.</ctrl-i></ctrl-y>