From b35a2376ce6f17468a3502313f931bdc40b536b8 Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Sat, 26 Aug 2023 16:18:39 +1000 Subject: Add vim-vixen with custom keybinding --- firefox/extensions/custom-vim-vixen.patch | 166 ++++++++++++++++++++++++++++++ firefox/extensions/vim-vixen | 1 + firefox/policies.json | 2 +- 3 files changed, 168 insertions(+), 1 deletion(-) create mode 100644 firefox/extensions/custom-vim-vixen.patch create mode 160000 firefox/extensions/vim-vixen (limited to 'firefox') 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 +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 }, + "": { "type": "scroll.pages", "count": -0.5 }, + "": { "type": "scroll.pages", "count": 0.5 }, +- "": { "type": "scroll.pages", "count": -1 }, +- "": { "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" }, ++ "": { "type": "scroll.pages", "count": -1 }, ++ "": { "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" }, + "": { "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 }, ++ "": { "type": "find.start" }, ++ "s": { "type": "find.next" }, ++ "S": { "type": "find.prev" }, ++ "z": { "type": "repeat.last" }, + "": { "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 index 0000000..bf2ce3f --- /dev/null +++ b/firefox/extensions/vim-vixen @@ -0,0 +1 @@ +Subproject commit bf2ce3f574ed673134b29ec431f1b783d7f56bef 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": { -- cgit v1.2.3