aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuchen Pei <id@ypei.org>2023-08-26 16:18:39 +1000
committerYuchen Pei <id@ypei.org>2023-08-26 16:18:39 +1000
commitb35a2376ce6f17468a3502313f931bdc40b536b8 (patch)
tree0a5e19a904dae68699a8be6049f39acbe813710a
parent77ec7cd051ed54a4775f2db37751ed9cb2ddecee (diff)
Add vim-vixen with custom keybinding
-rw-r--r--.gitmodules3
-rw-r--r--firefox/extensions/custom-vim-vixen.patch166
m---------firefox/extensions/vim-vixen0
-rw-r--r--firefox/policies.json2
4 files changed, 170 insertions, 1 deletions
diff --git a/.gitmodules b/.gitmodules
index 824edad..3ed1301 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -94,3 +94,6 @@
[submodule "firefox/extensions/Redirector"]
path = firefox/extensions/Redirector
url = https://g.ypei.me/Redirector.git
+[submodule "firefox/extensions/vim-vixen"]
+ path = firefox/extensions/vim-vixen
+ url = https://github.com/ueokande/vim-vixen
diff --git a/firefox/extensions/custom-vim-vixen.patch b/firefox/extensions/custom-vim-vixen.patch
new file mode 100644
index 0000000..bd7939f
--- /dev/null
+++ b/firefox/extensions/custom-vim-vixen.patch
@@ -0,0 +1,166 @@
+From 2da59841701287118618cfe68059733df51fd951 Mon Sep 17 00:00:00 2001
+From: Yuchen Pei <id@ypei.org>
+Date: Sat, 26 Aug 2023 15:55:04 +1000
+Subject: [PATCH] Add custom keybindings to vim-vixen
+
+---
+ manifest.json | 2 +-
+ src/shared/settings/Settings.ts | 114 ++++++++++++++++----------------
+ 2 files changed, 57 insertions(+), 59 deletions(-)
+
+diff --git a/manifest.json b/manifest.json
+index 987a1ca..4ba333c 100644
+--- a/manifest.json
++++ b/manifest.json
+@@ -2,7 +2,7 @@
+ "manifest_version": 2,
+ "name": "Vim Vixen",
+ "description": "Vim Vixen",
+- "version": "1.2.4",
++ "version": "1.2.4-custom",
+ "icons": {
+ "48": "resources/icon_48x48.png",
+ "96": "resources/icon_96x96.png"
+diff --git a/src/shared/settings/Settings.ts b/src/shared/settings/Settings.ts
+index 2294c67..819af20 100644
+--- a/src/shared/settings/Settings.ts
++++ b/src/shared/settings/Settings.ts
+@@ -79,79 +79,77 @@ export default class Settings {
+
+ export const DefaultSettingJSONText = `{
+ "keymaps": {
+- "0": { "type": "scroll.home" },
+- ":": { "type": "command.show" },
++ "a": { "type": "scroll.home" },
++ "x": { "type": "command.show" },
+ "o": { "type": "command.show.open", "alter": false },
+ "O": { "type": "command.show.open", "alter": true },
+ "t": { "type": "command.show.tabopen", "alter": false },
+ "T": { "type": "command.show.tabopen", "alter": true },
+- "w": { "type": "command.show.winopen", "alter": false },
+- "W": { "type": "command.show.winopen", "alter": true },
+- "b": { "type": "command.show.buffer" },
+- "a": { "type": "command.show.addbookmark", "alter": true },
+- "k": { "type": "scroll.vertically", "count": -1 },
+- "j": { "type": "scroll.vertically", "count": 1 },
+- "h": { "type": "scroll.horizonally", "count": -1 },
+- "l": { "type": "scroll.horizonally", "count": 1 },
++ "Z": { "type": "command.show.buffer" },
++ "p": { "type": "scroll.vertically", "count": -1 },
++ "n": { "type": "scroll.vertically", "count": 1 },
++ "b": { "type": "scroll.horizonally", "count": -1 },
++ "f": { "type": "scroll.horizonally", "count": 1 },
+ "<C-U>": { "type": "scroll.pages", "count": -0.5 },
+ "<C-D>": { "type": "scroll.pages", "count": 0.5 },
+- "<C-B>": { "type": "scroll.pages", "count": -1 },
+- "<C-F>": { "type": "scroll.pages", "count": 1 },
+- "gg": { "type": "scroll.top" },
+- "G": { "type": "scroll.bottom" },
+- "$": { "type": "scroll.end" },
+- "d": { "type": "tabs.close" },
+- "D": { "type": "tabs.close", "select": "left" },
+- "x$": { "type": "tabs.close.right" },
+- "!d": { "type": "tabs.close.force" },
+- "u": { "type": "tabs.reopen" },
+- "K": { "type": "tabs.prev" },
+- "J": { "type": "tabs.next" },
+- "gT": { "type": "tabs.prev" },
+- "gt": { "type": "tabs.next" },
+- "g0": { "type": "tabs.first" },
+- "g$": { "type": "tabs.last" },
++ "<A-V>": { "type": "scroll.pages", "count": -1 },
++ "<C-V>": { "type": "scroll.pages", "count": 1 },
++ "<": { "type": "scroll.top" },
++ ">": { "type": "scroll.bottom" },
++ "e": { "type": "scroll.end" },
++ "k": { "type": "tabs.close" },
++ "K": { "type": "tabs.close", "select": "left" },
++ "/": { "type": "tabs.reopen" },
++ "B": { "type": "tabs.prev" },
++ "F": { "type": "tabs.next" },
++ "A": { "type": "tabs.first" },
++ "E": { "type": "tabs.last" },
+ "<C-6>": { "type": "tabs.prevsel" },
+- "r": { "type": "tabs.reload", "cache": false },
+- "R": { "type": "tabs.reload", "cache": true },
+- "zp": { "type": "tabs.pin.toggle" },
+- "zd": { "type": "tabs.duplicate" },
+- "zi": { "type": "zoom.in" },
+- "zo": { "type": "zoom.out" },
+- "zz": { "type": "zoom.neutral" },
+- "f": { "type": "follow.start", "newTab": false },
+- "F": { "type": "follow.start", "newTab": true, "background": false },
++ "g": { "type": "tabs.reload", "cache": false },
++ "G": { "type": "tabs.reload", "cache": true },
++ "j": { "type": "follow.start", "newTab": false },
++ "J": { "type": "follow.start", "newTab": true, "background": false },
+ "m": { "type": "mark.set.prefix" },
+ "'": { "type": "mark.jump.prefix" },
+- "H": { "type": "navigate.history.prev" },
+- "L": { "type": "navigate.history.next" },
++ "l": { "type": "navigate.history.prev" },
++ "r": { "type": "navigate.history.next" },
+ "[[": { "type": "navigate.link.prev" },
+ "]]": { "type": "navigate.link.next" },
+- "gu": { "type": "navigate.parent" },
+- "gU": { "type": "navigate.root" },
+- "gi": { "type": "focus.input" },
+- "gf": { "type": "page.source" },
+- "gh": { "type": "page.home" },
+- "gH": { "type": "page.home", "newTab": true },
+- "gr": { "type": "tabs.reader.toggle" },
+- "y": { "type": "urls.yank" },
+- "p": { "type": "urls.paste", "newTab": false },
+- "P": { "type": "urls.paste", "newTab": true },
+- "/": { "type": "find.start" },
+- "n": { "type": "find.next" },
+- "N": { "type": "find.prev" },
+- ".": { "type": "repeat.last" },
++ "u": { "type": "navigate.parent" },
++ "U": { "type": "navigate.root" },
++ ".": { "type": "page.source" },
++ "R": { "type": "tabs.reader.toggle" },
++ "w": { "type": "urls.yank" },
++ "y": { "type": "urls.paste", "newTab": false },
++ "Y": { "type": "urls.paste", "newTab": true },
++ "<C-S>": { "type": "find.start" },
++ "s": { "type": "find.next" },
++ "S": { "type": "find.prev" },
++ "z": { "type": "repeat.last" },
+ "<S-Esc>": { "type": "addon.toggle.enabled" }
+ },
+ "search": {
+- "default": "google",
++ "default": "d",
+ "engines": {
+- "google": "https://google.com/search?q={}",
+- "yahoo": "https://search.yahoo.com/search?p={}",
+- "bing": "https://www.bing.com/search?q={}",
+- "duckduckgo": "https://duckduckgo.com/?q={}",
+- "twitter": "https://twitter.com/search?q={}",
+- "wikipedia": "https://en.wikipedia.org/w/index.php?search={}"
++ "a": "https://wiki.archlinux.org/index.php?search={}",
++ "aa": "https://aur.archlinux.org/packages?K={}",
++ "ap": "https://archlinux.org/packages/?q={}",
++ "d": "https://html.duckduckgo.com/html?q={}",
++ "db": "https://packages.debian.org/search?keywords={}",
++ "f": "https://search.f-droid.org/?q={}",
++ "fs": "https://directory.fsf.org/w/index.php?search={}",
++ "g": "https://github.com/search?q={}",
++ "hoog": "https://hoogle.haskell.org/?hoogle={}",
++ "i": "https://imdb.com/find?q={}",
++ "o": "https://openlibrary.org/search?q={}",
++ "p": "https://ptv.libreau.org/?q={}",
++ "r": "https://reddit.com/r/all/search?q={}",
++ "t": "https://twitter.com/search?q={}",
++ "w": "https://en.wikipedia.org/w/index.php?search={}",
++ "wt": "https://wiktionary.org/w/index.php?search={}",
++ "wy": "https://wikivoyage.org/w/index.php?search={}",
++ "wz": "https://zh.wikipedia.org/w/index.php?search={}",
++ "y": "https://youtube.com/search?q={}"
+ }
+ },
+ "properties": {
+--
+2.41.0
+
diff --git a/firefox/extensions/vim-vixen b/firefox/extensions/vim-vixen
new file mode 160000
+Subproject bf2ce3f574ed673134b29ec431f1b783d7f56be
diff --git a/firefox/policies.json b/firefox/policies.json
index 45558d6..a6a7726 100644
--- a/firefox/policies.json
+++ b/firefox/policies.json
@@ -59,7 +59,7 @@
},
"vim-vixen@i-beam.org": {
"installation_mode": "normal_installed",
- "install_url": "https://addons.mozilla.org/firefox/downloads/latest/vim-vixen/latest.xpi"
+ "install_url": "file:///usr/lib/firefox-developer-edition/distribution/extensions/vim-vixen.xpi"
}
},
"FirefoxHome": {