diff options
Diffstat (limited to 'overlays/patches')
-rw-r--r-- | overlays/patches/emacs-ergoemacs-mode/default.nix | 12 | ||||
-rw-r--r-- | overlays/patches/emacs-ergoemacs-mode/menu_to_hyper.patch | 350 | ||||
-rw-r--r-- | overlays/patches/htop/0001-htop-untruncated-username.patch | 136 | ||||
-rw-r--r-- | overlays/patches/htop/default.nix | 19 | ||||
-rw-r--r-- | overlays/patches/neomutt/1388.patch | 29 | ||||
-rw-r--r-- | overlays/patches/neomutt/default.nix | 13 |
6 files changed, 559 insertions, 0 deletions
diff --git a/overlays/patches/emacs-ergoemacs-mode/default.nix b/overlays/patches/emacs-ergoemacs-mode/default.nix new file mode 100644 index 00000000000..112829b9ded --- /dev/null +++ b/overlays/patches/emacs-ergoemacs-mode/default.nix @@ -0,0 +1,12 @@ +/* CUSTOM ERGOEMACS-MODE PATCH + * + * The ergonomic keybinding minor-mode I use in emacs + * (ergoemacs) uses MENU as a modifier key. Instead + * I would like to use HYPER. + */ +{ pkgs, ... }: + +with pkgs.emacsPackagesNg; +ergoemacs-mode.overrideAttrs ({ patches ? [], ... }: { + patches = patches ++ [ ./menu_to_hyper.patch ]; +}) diff --git a/overlays/patches/emacs-ergoemacs-mode/menu_to_hyper.patch b/overlays/patches/emacs-ergoemacs-mode/menu_to_hyper.patch new file mode 100644 index 00000000000..c6ab0a0db80 --- /dev/null +++ b/overlays/patches/emacs-ergoemacs-mode/menu_to_hyper.patch @@ -0,0 +1,350 @@ +From 2f9bad50132d0278c5581934c4bc54cd10244399 Mon Sep 17 00:00:00 2001 +From: Katharina Fey <kookie@spacekookie.de> +Date: Sun, 8 Sep 2019 17:19:15 +0100 +Subject: [PATCH] Switching `<menu>` to `<hyper>` + +The idea behind this change is that my X230 doesn't have easy access +to a `Menu` key. Furthermore, while it is possible for me to remap a +different key (say CAPSLOCK) to `Menu`, it also adds the problem if +stray control characters when hitting it outside of emacs. This has +shown to be a problem quite frequently, which has resulted in me not +being able to use many of the `Menu` modified combinations in +ergoemacs. + +While I experimented around replacing X input events via an external +tool [1], the easier solution to this problem is to not use `Menu` as +a modifier for ergoemacs. Unfortunately this is not a tweakable +variable that I can adjust in my emacs configuration, but instead +needed to patch (thus this patch). + +My regular emacs config [2] has no knowledge of this change, neither +will yours. Instead of using `Menu`, the `Hyper` key is introduced to +the keyboard layout. The rationale behind `Hyper` is that it is a +modifier that is otherwise not present on most keyboards, and also +doesn't add a stray control character when pressed outside of emacs. +--- + ergoemacs-mode.el | 2 +- + ergoemacs-test.el | 20 +++--- + ergoemacs-themes.el | 98 +++++++++++++++--------------- + ergoemacs-translate.el | 2 +- + kbd-ergo.html | 6 +- + o-blog-template/style/js/keymap.js | 4 +- + web.org | 6 +- + 7 files changed, 69 insertions(+), 69 deletions(-) + +diff --git a/ergoemacs-mode.el b/ergoemacs-mode.el +index 5b18155..1126414 100644 +--- a/ergoemacs-mode.el ++++ b/ergoemacs-mode.el +@@ -1189,7 +1189,7 @@ color. Otherwise this will be nil A color string as passed to + "<f10>" + "<f11>" + "<f12>" +- "<apps>" "<menu>" ++ "<apps>" "<hyper>" + "RET" "ESC" "DEL" "TAB" + "<home>" + "<next>" +diff --git a/ergoemacs-test.el b/ergoemacs-test.el +index c62330a..34b98eb 100644 +--- a/ergoemacs-test.el ++++ b/ergoemacs-test.el +@@ -988,7 +988,7 @@ Should test issue #142" + nil + (if (eq system-type 'windows-nt) + "<apps> m c" +- "<menu> m c") nil nil "<menu>") t))) ++ "<hyper> m c") nil nil "<hyper>") t))) + + (ert-deftest ergoemacs-test-global-key-set-apps-m-c-before-2 () + "Test setting <apps> m c before loading (define-key)." +@@ -999,7 +999,7 @@ Should test issue #142" + nil + (if (eq system-type 'windows-nt) + "<apps> m c" +- "<menu> m c") 'define-key nil "<menu>") t))) ++ "<hyper> m c") 'define-key nil "<hyper>") t))) + + (ert-deftest ergoemacs-test-global-key-set-m-semi-before () + "Test setting M-; before loading." +@@ -1020,7 +1020,7 @@ Should test issue #142" + nil + (if (eq system-type 'windows-nt) + "<apps>" +- "<menu>")) t))) ++ "<hyper>")) t))) + + + (ert-deftest ergoemacs-test-global-key-set-apps-before-2 () +@@ -1032,7 +1032,7 @@ Should test issue #142" + nil + (if (eq system-type 'windows-nt) + "<apps>" +- "<menu>") 'define-key) t))) ++ "<hyper>") 'define-key) t))) + + (ert-deftest ergoemacs-test-global-key-set-apps-m-before () + "Test setting <apps> m before loading." +@@ -1043,7 +1043,7 @@ Should test issue #142" + nil + (if (eq system-type 'windows-nt) + "<apps> m" +- "<menu> m") nil nil "<menu>") t))) ++ "<hyper> m") nil nil "<hyper>") t))) + + (ert-deftest ergoemacs-test-global-key-set-apps-m-before-2 () + "Test setting <apps> m before loading (define-key)." +@@ -1054,7 +1054,7 @@ Should test issue #142" + nil + (if (eq system-type 'windows-nt) + "<apps> m" +- "<menu> m") 'define-key nil "<menu>") t))) ++ "<hyper> m") 'define-key nil "<hyper>") t))) + + (ert-deftest ergoemacs-test-global-key-set-apps-m-after () + "Test setting <apps> m after loading" +@@ -1065,7 +1065,7 @@ Should test issue #142" + 'after + (if (eq system-type 'windows-nt) + "<apps> m" +- "<menu> m") nil nil "<menu>") t))) ++ "<hyper> m") nil nil "<hyper>") t))) + + + (ert-deftest ergoemacs-test-global-key-set-apps-m-after-2 () +@@ -1077,7 +1077,7 @@ Should test issue #142" + 'after + (if (eq system-type 'windows-nt) + "<apps> m" +- "<menu> m") 'define-key nil "<menu>") t))) ++ "<hyper> m") 'define-key nil "<hyper>") t))) + + (ert-deftest ergoemacs-test-global-key-set-apps-m-c-after () + "Test setting <apps> m c after loading." +@@ -1088,7 +1088,7 @@ Should test issue #142" + 'after + (if (eq system-type 'windows-nt) + "<apps> m c" +- "<menu> m c") nil nil "<menu>") t))) ++ "<hyper> m c") nil nil "<hyper>") t))) + + (ert-deftest ergoemacs-test-global-key-set-apps-m-c-after-2 () + "Test setting <apps> m c after loading (define-key)." +@@ -1099,7 +1099,7 @@ Should test issue #142" + 'after + (if (eq system-type 'windows-nt) + "<apps> m c" +- "<menu> m c") 'define-key nil "<menu>") t))) ++ "<hyper> m c") 'define-key nil "<hyper>") t))) + + + (ert-deftest ergoemacs-test-global-key-set-after-220 () +diff --git a/ergoemacs-themes.el b/ergoemacs-themes.el +index fdc7a13..6bfa074 100644 +--- a/ergoemacs-themes.el ++++ b/ergoemacs-themes.el +@@ -1138,55 +1138,55 @@ + (ergoemacs-component ergoemacs-banish-shift () + "Banish Shift Combinations with <apps> SPC" + :variable-reg "" +- (global-set-key (kbd "<menu> SPC SPC") (kbd "_")) ;low line (underscore) +- (global-set-key (kbd "<menu> SPC RET") (kbd "-")) +- (global-set-key (kbd "<menu> SPC '") (kbd "\"")) +- (global-set-key (kbd "<menu> SPC ,") (kbd "<")) +- (global-set-key (kbd "<menu> SPC -") (kbd "_")) +- (global-set-key (kbd "<menu> SPC .") (kbd ">")) +- (global-set-key (kbd "<menu> SPC /") (kbd "?")) +- (global-set-key (kbd "<menu> SPC ;") (kbd ":")) +- (global-set-key (kbd "<menu> SPC =") (kbd "+")) +- (global-set-key (kbd "<menu> SPC \\") (kbd "|")) +- (global-set-key (kbd "<menu> SPC `") (kbd "~")) +- +- (global-set-key (kbd "<menu> SPC 0") (kbd ")")) +- (global-set-key (kbd "<menu> SPC 1") (kbd "!")) +- (global-set-key (kbd "<menu> SPC 2") (kbd "@")) +- (global-set-key (kbd "<menu> SPC 3") (kbd "#")) +- (global-set-key (kbd "<menu> SPC 4") (kbd "$")) +- (global-set-key (kbd "<menu> SPC 5") (kbd "%")) +- (global-set-key (kbd "<menu> SPC 6") (kbd "^")) +- (global-set-key (kbd "<menu> SPC 7") (kbd "&")) +- (global-set-key (kbd "<menu> SPC 8") (kbd "*")) +- (global-set-key (kbd "<menu> SPC 9") (kbd "(")) +- +- (global-set-key (kbd "<menu> SPC a") (kbd "A")) +- (global-set-key (kbd "<menu> SPC b") (kbd "B")) +- (global-set-key (kbd "<menu> SPC c") (kbd "C")) +- (global-set-key (kbd "<menu> SPC d") (kbd "D")) +- (global-set-key (kbd "<menu> SPC e") (kbd "E")) +- (global-set-key (kbd "<menu> SPC f") (kbd "F")) +- (global-set-key (kbd "<menu> SPC g") (kbd "G")) +- (global-set-key (kbd "<menu> SPC h") (kbd "H")) +- (global-set-key (kbd "<menu> SPC i") (kbd "I")) +- (global-set-key (kbd "<menu> SPC j") (kbd "J")) +- (global-set-key (kbd "<menu> SPC k") (kbd "K")) +- (global-set-key (kbd "<menu> SPC l") (kbd "L")) +- (global-set-key (kbd "<menu> SPC m") (kbd "M")) +- (global-set-key (kbd "<menu> SPC n") (kbd "N")) +- (global-set-key (kbd "<menu> SPC o") (kbd "O")) +- (global-set-key (kbd "<menu> SPC p") (kbd "P")) +- (global-set-key (kbd "<menu> SPC q") (kbd "Q")) +- (global-set-key (kbd "<menu> SPC r") (kbd "R")) +- (global-set-key (kbd "<menu> SPC s") (kbd "S")) +- (global-set-key (kbd "<menu> SPC t") (kbd "T")) +- (global-set-key (kbd "<menu> SPC u") (kbd "U")) +- (global-set-key (kbd "<menu> SPC v") (kbd "V")) +- (global-set-key (kbd "<menu> SPC w") (kbd "W")) +- (global-set-key (kbd "<menu> SPC x") (kbd "X")) +- (global-set-key (kbd "<menu> SPC y") (kbd "Y")) +- (global-set-key (kbd "<menu> SPC z") (kbd "Z"))) ++ (global-set-key (kbd "<hyper> SPC SPC") (kbd "_")) ;low line (underscore) ++ (global-set-key (kbd "<hyper> SPC RET") (kbd "-")) ++ (global-set-key (kbd "<hyper> SPC '") (kbd "\"")) ++ (global-set-key (kbd "<hyper> SPC ,") (kbd "<")) ++ (global-set-key (kbd "<hyper> SPC -") (kbd "_")) ++ (global-set-key (kbd "<hyper> SPC .") (kbd ">")) ++ (global-set-key (kbd "<hyper> SPC /") (kbd "?")) ++ (global-set-key (kbd "<hyper> SPC ;") (kbd ":")) ++ (global-set-key (kbd "<hyper> SPC =") (kbd "+")) ++ (global-set-key (kbd "<hyper> SPC \\") (kbd "|")) ++ (global-set-key (kbd "<hyper> SPC `") (kbd "~")) ++ ++ (global-set-key (kbd "<hyper> SPC 0") (kbd ")")) ++ (global-set-key (kbd "<hyper> SPC 1") (kbd "!")) ++ (global-set-key (kbd "<hyper> SPC 2") (kbd "@")) ++ (global-set-key (kbd "<hyper> SPC 3") (kbd "#")) ++ (global-set-key (kbd "<hyper> SPC 4") (kbd "$")) ++ (global-set-key (kbd "<hyper> SPC 5") (kbd "%")) ++ (global-set-key (kbd "<hyper> SPC 6") (kbd "^")) ++ (global-set-key (kbd "<hyper> SPC 7") (kbd "&")) ++ (global-set-key (kbd "<hyper> SPC 8") (kbd "*")) ++ (global-set-key (kbd "<hyper> SPC 9") (kbd "(")) ++ ++ (global-set-key (kbd "<hyper> SPC a") (kbd "A")) ++ (global-set-key (kbd "<hyper> SPC b") (kbd "B")) ++ (global-set-key (kbd "<hyper> SPC c") (kbd "C")) ++ (global-set-key (kbd "<hyper> SPC d") (kbd "D")) ++ (global-set-key (kbd "<hyper> SPC e") (kbd "E")) ++ (global-set-key (kbd "<hyper> SPC f") (kbd "F")) ++ (global-set-key (kbd "<hyper> SPC g") (kbd "G")) ++ (global-set-key (kbd "<hyper> SPC h") (kbd "H")) ++ (global-set-key (kbd "<hyper> SPC i") (kbd "I")) ++ (global-set-key (kbd "<hyper> SPC j") (kbd "J")) ++ (global-set-key (kbd "<hyper> SPC k") (kbd "K")) ++ (global-set-key (kbd "<hyper> SPC l") (kbd "L")) ++ (global-set-key (kbd "<hyper> SPC m") (kbd "M")) ++ (global-set-key (kbd "<hyper> SPC n") (kbd "N")) ++ (global-set-key (kbd "<hyper> SPC o") (kbd "O")) ++ (global-set-key (kbd "<hyper> SPC p") (kbd "P")) ++ (global-set-key (kbd "<hyper> SPC q") (kbd "Q")) ++ (global-set-key (kbd "<hyper> SPC r") (kbd "R")) ++ (global-set-key (kbd "<hyper> SPC s") (kbd "S")) ++ (global-set-key (kbd "<hyper> SPC t") (kbd "T")) ++ (global-set-key (kbd "<hyper> SPC u") (kbd "U")) ++ (global-set-key (kbd "<hyper> SPC v") (kbd "V")) ++ (global-set-key (kbd "<hyper> SPC w") (kbd "W")) ++ (global-set-key (kbd "<hyper> SPC x") (kbd "X")) ++ (global-set-key (kbd "<hyper> SPC y") (kbd "Y")) ++ (global-set-key (kbd "<hyper> SPC z") (kbd "Z"))) + + (ergoemacs-component menu-bar-file () + "File menu" +diff --git a/ergoemacs-translate.el b/ergoemacs-translate.el +index a3b9f88..997325b 100644 +--- a/ergoemacs-translate.el ++++ b/ergoemacs-translate.el +@@ -313,7 +313,7 @@ variants are created using `ergoemacs-translate--apply-funs'." + (defun ergoemacs-translate--define-key (keymap key def) + "Similar to `define-key', with the following differences: + - Both the Meta and escape sequences are bound. +-- Both <apps> and <menu> key sequences are bound. ++- Both <apps> and <hyper> key sequences are bound. + - `ergoemacs-mode' advice to `define-key' is supressed. + + KEYMAP is the keymap that will be used for the definition. +diff --git a/kbd-ergo.html b/kbd-ergo.html +index faf8ee8..13adc89 100644 +--- a/kbd-ergo.html ++++ b/kbd-ergo.html +@@ -47,7 +47,7 @@ document.getElementById('canvas').innerHTML="This page is built with SVG jQuery + + } + kbd_layout = ["", "`", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-", "=", "", "", "", "q", "w", "f", "p", "g", "j", "l", "u", "y", ";", "[", "]", "\\", "", "", "a", "r", "s", "t", "d", "h", "n", "e", "i", "o", "'", "", "", "", "", "z", "x", "c", "v", "b", "k", "m", ",", ".", "\/", "", "", "", "", "~", "!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "_", "+", "", "", "", "Q", "W", "F", "P", "G", "J", "L", "U", "Y", ":", "{", "}", "|", "", "", "A", "R", "S", "T", "D", "H", "N", "E", "I", "O", "\"", "", "", "", "", "Z", "X", "C", "V", "B", "K", "M", "<", ">", "?", "", "", ""]; +-var_layout = {"M-n":"\u2190 char", "M-i":"\u2192 char", "M-u":"\u2191 line", "M-e":"\u2193 line", "M-C-n":"\u2190 word", "M-C-i":"\u2192 word", "M-C-u":"\u2191 \u00b6", "M-C-e":"\u2193 \u00b6", "M-l":"\u2190 word", "M-y":"\u2192 word", "M-L":"\u2190 \u00b6", "M-Y":"\u2192 \u00b6", "M-h":"\u2190 line\/*", "M-H":"\u2192 line\/*", "M-U":"\u2191 page", "M-E":"\u2193 page", "M-k":"\u2191 Top*", "M-K":"\u2193 Bottom*", "M-N":"\u2190 bracket", "M-I":"\u2192 bracket", "M-j":"\u2192 isearch", "M-J":"\u2190 isearch", "M-;":"recenter", "M-s":"\u232b char", "M-t":"\u2326 char", "M-f":"\u232b word", "M-p":"\u2326 word", "M-x":"\u2702 region", "M-c":"copy", "M-v":"paste", "M-V":"paste \u2191", "M-C":"copy all", "M-X":"\u2702 all", "M-Z":"\u21b7 redo", "M-z":"\u21b6 undo", "M-d":"\u2326 line", "M-D":"\u232b line", "M-S-SPC":"Mark Paragraph", "M-w":"\u2327 white", "M-'":"cmt dwim", "M-?":"tog. camel", "M-\/":"tog. case", "M-g":"\u21af compl", "M-G":"flyspell", "M-q":"fill\/unfill \u00b6", "<escape>":null, "M-SPC":"Set Mark", "M-a":"M-x", "M-A":"shell cmd", "M-r":"next pane", "M-R":"prev pane", "M-~":"prev frame", "M-`":"next frame", "M-5":"rep", "M-%":"rep reg", "M-3":"x other pane", "M-2":"x pane", "M-4":"split |", "M-$":"split \u2014", "M-8":"\u2190region\u2192", "M-*":"\u2190quote\u2192", "M-6":"Sel. Block", "M-7":"Sel. Line", "M-b":"Ace Jump", "<menu> 2":"x pane", "<menu> 3":"x other pane", "<menu> 4":"split \u2014", "<menu> 5":"rep", "<menu> <f2>":"\u2702 all", "<menu> <f3>":"copy all", "<menu> <return>":"M-x", "<menu> TAB":"indent-region", "<menu> SPC":"Set Mark", "<menu> a":"Sel All", "<menu> s":"Ctl-x", "<menu> t":"Ctl-c", "<menu> h":"Help", "<menu> h '":null, "<menu> h 1":null, "<menu> h 2":null, "<menu> h 3":null, "<menu> h 4":null, "<menu> h 5":null, "<menu> h 7":null, "<menu> h 8":null, "<menu> h 9":null, "<menu> h `":null, "<menu> h m":null, "<menu> h y":null, "<menu> h z":null, "<menu> h Z":null, "<menu> u":"Alt+Shift", "<menu> e":"Alt+mode", "<menu> m":"C-c C-c", "<menu> r":"Save", "<menu> y":"Open", "<menu> d":"C-u", "<menu> w":"Close", "<menu> x":"\u2702 region", "<menu> c":"copy", "<menu> v":"paste", "<menu> b":"\u21b7 redo", "<menu> g":"switch buf", "<menu> z":"\u21b6 undo", "<menu> k a":"agenda", "<menu> k A":"capture", "<menu> k c":"calc", "<menu> k d":"dired", "<menu> k e":"eshell", "<menu> k f":"OS Dir", "<menu> k g":"grep", "<menu> k m":"magit", "<menu> k o":"OS Open", "<menu> k r":"R", "<menu> k s":"shell", "<menu> k g":"capture", "<menu> k G":"agenda", "<menu> p":"Goto"}; ++var_layout = {"M-n":"\u2190 char", "M-i":"\u2192 char", "M-u":"\u2191 line", "M-e":"\u2193 line", "M-C-n":"\u2190 word", "M-C-i":"\u2192 word", "M-C-u":"\u2191 \u00b6", "M-C-e":"\u2193 \u00b6", "M-l":"\u2190 word", "M-y":"\u2192 word", "M-L":"\u2190 \u00b6", "M-Y":"\u2192 \u00b6", "M-h":"\u2190 line\/*", "M-H":"\u2192 line\/*", "M-U":"\u2191 page", "M-E":"\u2193 page", "M-k":"\u2191 Top*", "M-K":"\u2193 Bottom*", "M-N":"\u2190 bracket", "M-I":"\u2192 bracket", "M-j":"\u2192 isearch", "M-J":"\u2190 isearch", "M-;":"recenter", "M-s":"\u232b char", "M-t":"\u2326 char", "M-f":"\u232b word", "M-p":"\u2326 word", "M-x":"\u2702 region", "M-c":"copy", "M-v":"paste", "M-V":"paste \u2191", "M-C":"copy all", "M-X":"\u2702 all", "M-Z":"\u21b7 redo", "M-z":"\u21b6 undo", "M-d":"\u2326 line", "M-D":"\u232b line", "M-S-SPC":"Mark Paragraph", "M-w":"\u2327 white", "M-'":"cmt dwim", "M-?":"tog. camel", "M-\/":"tog. case", "M-g":"\u21af compl", "M-G":"flyspell", "M-q":"fill\/unfill \u00b6", "<escape>":null, "M-SPC":"Set Mark", "M-a":"M-x", "M-A":"shell cmd", "M-r":"next pane", "M-R":"prev pane", "M-~":"prev frame", "M-`":"next frame", "M-5":"rep", "M-%":"rep reg", "M-3":"x other pane", "M-2":"x pane", "M-4":"split |", "M-$":"split \u2014", "M-8":"\u2190region\u2192", "M-*":"\u2190quote\u2192", "M-6":"Sel. Block", "M-7":"Sel. Line", "M-b":"Ace Jump", "<hyper> 2":"x pane", "<hyper> 3":"x other pane", "<hyper> 4":"split \u2014", "<hyper> 5":"rep", "<hyper> <f2>":"\u2702 all", "<hyper> <f3>":"copy all", "<hyper> <return>":"M-x", "<hyper> TAB":"indent-region", "<hyper> SPC":"Set Mark", "<hyper> a":"Sel All", "<hyper> s":"Ctl-x", "<hyper> t":"Ctl-c", "<hyper> h":"Help", "<hyper> h '":null, "<hyper> h 1":null, "<hyper> h 2":null, "<hyper> h 3":null, "<hyper> h 4":null, "<hyper> h 5":null, "<hyper> h 7":null, "<hyper> h 8":null, "<hyper> h 9":null, "<hyper> h `":null, "<hyper> h m":null, "<hyper> h y":null, "<hyper> h z":null, "<hyper> h Z":null, "<hyper> u":"Alt+Shift", "<hyper> e":"Alt+mode", "<hyper> m":"C-c C-c", "<hyper> r":"Save", "<hyper> y":"Open", "<hyper> d":"C-u", "<hyper> w":"Close", "<hyper> x":"\u2702 region", "<hyper> c":"copy", "<hyper> v":"paste", "<hyper> b":"\u21b7 redo", "<hyper> g":"switch buf", "<hyper> z":"\u21b6 undo", "<hyper> k a":"agenda", "<hyper> k A":"capture", "<hyper> k c":"calc", "<hyper> k d":"dired", "<hyper> k e":"eshell", "<hyper> k f":"OS Dir", "<hyper> k g":"grep", "<hyper> k m":"magit", "<hyper> k o":"OS Open", "<hyper> k r":"R", "<hyper> k s":"shell", "<hyper> k g":"capture", "<hyper> k G":"agenda", "<hyper> p":"Goto"}; + fix_layout = {"<M-backspace>":"\u21b6 undo", "<f5>":"\u21b6 undo", "C-z":"\u21b6 undo", "<C-f5>":"\u21b7 redo", "<M-f5>":"\u21b7 redo", "C-Z":"\u21b7 redo", "<f8>":null, "<f8> <f8>":null, "<C-f8>":null, "<C-f9>":null, "<f8> <f9>":null, "<S-delete>":"\u2702 region", "<f2>":"\u2702 region", "C-c <timeout>":null, "C-c":"Copy", "<C-insert>":"Copy", "<C-f2>":"\u2702 all", "<C-f3>":"Copy all", "<C-f4>":"paste \u2191", "C-V":"paste \u2191", "<S-insert>":"paste", "<f4>":"paste", "C-v":"paste", "C-N":"New Frame", "<delete>":"\u2326 char", "<M-delete>":"\u2326 word", "<C-delete>":"\u2326 word", "<home>":"\u2190 line\/\u00b6", "<end>":"\u2192 line\/\u00b6", "<C-home>":"\u2191 Top", "<C-end>":"\u2193 Bottom", "<C-left>":"\u2190 word", "<C-right>":"\u2192 word", "<M-up>":"\u2192 \u00b6", "<M-down>":"\u2192 \u00b6", "M-RET":"Newline & Indent", "C-r":"Revert", "<S-f3>":"tog. case", "<M-f2>":"\u2702 all", "<M-f3>":"Copy all", "<M-f4>":"\u00d7 Frame", "<M-left>":null, "<M-right>":null, "<M-up>":null, "<S-down-mouse-1>":null, "<S-mouse-1>":null, "<f11>":"Previous", "<f12>":"Next", "<f1> '":null, "<f1> 1":null, "<f1> 2":null, "<f1> 3":null, "<f1> 4":null, "<f1> 5":null, "<f1> 7":null, "<f1> 8":null, "<f1> 9":null, "<f1> `":null, "<f1> m":null, "<f1> o":null, "<f3>":"copy", "<f6>":"Alt mode", "C-+":"+Font Size", "C--":"-Font Size", "C-.":"Quit", "C-\/":"Info", "C-0":null, "C-<next>":null, "C-<pause>":null, "C-<prior>":null, "C-=":"+Font Size", "C-?":"Info", "C-S-<next>":null, "C-S-<prior>":null, "C-C":"Copy", "C-F":"Occur", "C-O":"OS Open", "C-S":"Save As", "C-T":"Open Last", "C-W":"\u00d7 Frame", "C-X":"Cut", "C-`":"\u2194 Frame", "C-a":"Select all", "C-f":"Search", "C-h '":null, "C-h 1":null, "C-h 2":null, "C-h 3":null, "C-h 4":null, "C-h 5":null, "C-h 7":null, "C-h 8":null, "C-h 9":null, "C-h `":null, "C-h m":null, "C-h o":null, "C-l":"Goto", "C-n":"New Buffer", "C-o":"Edit File", "C-p":"Print", "C-s":"Save", "C-w":"Close Buf.", "C-x <timeout>":null, "C-x C-b":null, "C-x":"Cut", "C-y":"\u21b7 redo", "M-S-<next>":null, "M-S-<prior>":null}; + function getText(textType, textNumber){ + var ret = " "; +@@ -74,7 +74,7 @@ function getText(textType, textNumber){ + + } else { + if (textType == "AA"){ +- ret = "<menu> "; ++ ret = "<hyper> "; + } else if (textType == "CC"){ + ret = "C-"; + } else if (textType == "CS"){ +@@ -110,7 +110,7 @@ function getText(textType, textNumber){ + else if (textType == "M") + ret = "M-" + else if (textType == "A") +- ret = "<menu> " ++ ret = "<hyper> " + ret = ret + kbd_layout[textNumber]; + if (!(var_layout[ret] == undefined)){ + ret = var_layout[ret] + ' '; +diff --git a/o-blog-template/style/js/keymap.js b/o-blog-template/style/js/keymap.js +index 2f0543f..2fba777 100644 +--- a/o-blog-template/style/js/keymap.js ++++ b/o-blog-template/style/js/keymap.js +@@ -74,7 +74,7 @@ function getText(textType, textNumber){ + + } else { + if (textType == "AA"){ +- ret = "<menu> "; ++ ret = "<hyper> "; + } else if (textType == "CC"){ + ret = "C-"; + } else if (textType == "CS"){ +@@ -110,7 +110,7 @@ function getText(textType, textNumber){ + else if (textType == "M") + ret = "M-" + else if (textType == "A") +- ret = "<menu> " ++ ret = "<hyper> " + ret = ret + kbd_layout[layout][textNumber]; + if (var_layouts[theme] && !(var_layouts[theme][ret] == undefined)){ + ret = var_layouts[theme][ret] + ' '; +diff --git a/web.org b/web.org +index 6553a9d..0278968 100644 +--- a/web.org ++++ b/web.org +@@ -1729,7 +1729,7 @@ For your information, an "unchorded" filter/translation would translate: + - Press Menu again to go back to the unchorded keyboard filter.* + ** Ergoemacs Key Chord Reduction + **** Movement without key-chords +-***** Method #1 -- <menu> Movement mode ++***** Method #1 -- <hyper> Movement mode + One can enable movement without key-chords as follows: + - On QWERTY, press [Menu] [k] and then the movement key. This key is + repeatable. Therefore [Menu] [k] [k] [k] would move the cursor down +@@ -1822,7 +1822,7 @@ is done by: + ~/.emacs.d/init.el) as follows: + + #+BEGIN_SRC emacs-lisp +-(define-key key-translation-map (kbd "<f13>") (kbd "<menu>")) ++(define-key key-translation-map (kbd "<f13>") (kbd "<hyper>")) + #+END_SRC + + *** Why don't you use the standard emacs key notation? +@@ -1912,7 +1912,7 @@ Adding keys for moving around words and deleting words. + file:ergoemacs-extras/lvl2/ergoemacs-layout-us.png + + **** Level 3 +-Full ergoemacs keyset without the <apps>/<menu> unchorded keys. ++Full ergoemacs keyset without the <apps>/<hyper> unchorded keys. + #+BEGIN_SRC emacs-lisp + (setq ergoemacs-theme nil) + (ergoemacs-theme-option-off '(apps apps-apps apps-punctuation apps-swap)) +-- +2.22.0 + diff --git a/overlays/patches/htop/0001-htop-untruncated-username.patch b/overlays/patches/htop/0001-htop-untruncated-username.patch new file mode 100644 index 00000000000..1456cf04362 --- /dev/null +++ b/overlays/patches/htop/0001-htop-untruncated-username.patch @@ -0,0 +1,136 @@ +From: Alyssa Ross <hi@alyssa.is> +Subject: [PATCH v2] Make "spacekookie" fit untruncated as a user name +Date: Fri, 15 Mar 2019 18:18:22 +0000 + +--- +This version of the increases the length of the column header as well as +the values, so columns after USER don't have misaligned headers. + + Process.c | 10 +++++----- + darwin/Platform.c | 2 +- + dragonflybsd/DragonFlyBSDProcess.c | 2 +- + freebsd/FreeBSDProcess.c | 2 +- + linux/LinuxProcess.c | 2 +- + openbsd/OpenBSDProcess.c | 2 +- + solaris/SolarisProcess.c | 2 +- + unsupported/Platform.c | 2 +- + 8 files changed, 12 insertions(+), 12 deletions(-) + +diff --git a/Process.c b/Process.c +index 54c41af..41d30a3 100644 +--- a/Process.c ++++ b/Process.c +@@ -480,13 +480,13 @@ void Process_writeField(Process* this, RichString* str, ProcessField field) { + if (Process_getuid != (int) this->st_uid) + attr = CRT_colors[PROCESS_SHADOW]; + if (this->user) { +- xSnprintf(buffer, n, "%-9s ", this->user); ++ xSnprintf(buffer, n, "%-11s ", this->user); + } else { +- xSnprintf(buffer, n, "%-9d ", this->st_uid); ++ xSnprintf(buffer, n, "%-11d ", this->st_uid); + } +- if (buffer[9] != '\0') { +- buffer[9] = ' '; +- buffer[10] = '\0'; ++ if (buffer[11] != '\0') { ++ buffer[11] = ' '; ++ buffer[12] = '\0'; + } + break; + } +diff --git a/darwin/Platform.c b/darwin/Platform.c +index 1dce8b6..d603fd2 100644 +--- a/darwin/Platform.c ++++ b/darwin/Platform.c +@@ -93,7 +93,7 @@ ProcessFieldData Process_fields[] = { + [ST_UID] = { .name = "ST_UID", .title = " UID ", .description = "User ID of the process owner", .flags = 0, }, + [PERCENT_CPU] = { .name = "PERCENT_CPU", .title = "CPU% ", .description = "Percentage of the CPU time the process used in the last sampling", .flags = 0, }, + [PERCENT_MEM] = { .name = "PERCENT_MEM", .title = "MEM% ", .description = "Percentage of the memory the process is using, based on resident memory size", .flags = 0, }, +- [USER] = { .name = "USER", .title = "USER ", .description = "Username of the process owner (or user ID if name cannot be determined)", .flags = 0, }, ++ [USER] = { .name = "USER", .title = "USER ", .description = "Username of the process owner (or user ID if name cannot be determined)", .flags = 0, }, + [TIME] = { .name = "TIME", .title = " TIME+ ", .description = "Total time the process has spent in user and system time", .flags = 0, }, + [NLWP] = { .name = "NLWP", .title = "NLWP ", .description = "Number of threads in the process", .flags = 0, }, + [TGID] = { .name = "TGID", .title = " TGID ", .description = "Thread group ID (i.e. process ID)", .flags = 0, }, +diff --git a/dragonflybsd/DragonFlyBSDProcess.c b/dragonflybsd/DragonFlyBSDProcess.c +index dade106..19d075d 100644 +--- a/dragonflybsd/DragonFlyBSDProcess.c ++++ b/dragonflybsd/DragonFlyBSDProcess.c +@@ -77,7 +77,7 @@ ProcessFieldData Process_fields[] = { + [ST_UID] = { .name = "ST_UID", .title = " UID ", .description = "User ID of the process owner", .flags = 0, }, + [PERCENT_CPU] = { .name = "PERCENT_CPU", .title = "CPU% ", .description = "Percentage of the CPU time the process used in the last sampling", .flags = 0, }, + [PERCENT_MEM] = { .name = "PERCENT_MEM", .title = "MEM% ", .description = "Percentage of the memory the process is using, based on resident memory size", .flags = 0, }, +- [USER] = { .name = "USER", .title = "USER ", .description = "Username of the process owner (or user ID if name cannot be determined)", .flags = 0, }, ++ [USER] = { .name = "USER", .title = "USER ", .description = "Username of the process owner (or user ID if name cannot be determined)", .flags = 0, }, + [TIME] = { .name = "TIME", .title = " TIME+ ", .description = "Total time the process has spent in user and system time", .flags = 0, }, + [NLWP] = { .name = "NLWP", .title = "NLWP ", .description = "Number of threads in the process", .flags = 0, }, + [TGID] = { .name = "TGID", .title = " TGID ", .description = "Thread group ID (i.e. process ID)", .flags = 0, }, +diff --git a/freebsd/FreeBSDProcess.c b/freebsd/FreeBSDProcess.c +index f81fadf..1ed6c2a 100644 +--- a/freebsd/FreeBSDProcess.c ++++ b/freebsd/FreeBSDProcess.c +@@ -76,7 +76,7 @@ ProcessFieldData Process_fields[] = { + [ST_UID] = { .name = "ST_UID", .title = " UID ", .description = "User ID of the process owner", .flags = 0, }, + [PERCENT_CPU] = { .name = "PERCENT_CPU", .title = "CPU% ", .description = "Percentage of the CPU time the process used in the last sampling", .flags = 0, }, + [PERCENT_MEM] = { .name = "PERCENT_MEM", .title = "MEM% ", .description = "Percentage of the memory the process is using, based on resident memory size", .flags = 0, }, +- [USER] = { .name = "USER", .title = "USER ", .description = "Username of the process owner (or user ID if name cannot be determined)", .flags = 0, }, ++ [USER] = { .name = "USER", .title = "USER ", .description = "Username of the process owner (or user ID if name cannot be determined)", .flags = 0, }, + [TIME] = { .name = "TIME", .title = " TIME+ ", .description = "Total time the process has spent in user and system time", .flags = 0, }, + [NLWP] = { .name = "NLWP", .title = "NLWP ", .description = "Number of threads in the process", .flags = 0, }, + [TGID] = { .name = "TGID", .title = " TGID ", .description = "Thread group ID (i.e. process ID)", .flags = 0, }, +diff --git a/linux/LinuxProcess.c b/linux/LinuxProcess.c +index 5f69707..1288155 100644 +--- a/linux/LinuxProcess.c ++++ b/linux/LinuxProcess.c +@@ -206,7 +206,7 @@ ProcessFieldData Process_fields[] = { + [ST_UID] = { .name = "ST_UID", .title = " UID ", .description = "User ID of the process owner", .flags = 0, }, + [PERCENT_CPU] = { .name = "PERCENT_CPU", .title = "CPU% ", .description = "Percentage of the CPU time the process used in the last sampling", .flags = 0, }, + [PERCENT_MEM] = { .name = "PERCENT_MEM", .title = "MEM% ", .description = "Percentage of the memory the process is using, based on resident memory size", .flags = 0, }, +- [USER] = { .name = "USER", .title = "USER ", .description = "Username of the process owner (or user ID if name cannot be determined)", .flags = 0, }, ++ [USER] = { .name = "USER", .title = "USER ", .description = "Username of the process owner (or user ID if name cannot be determined)", .flags = 0, }, + [TIME] = { .name = "TIME", .title = " TIME+ ", .description = "Total time the process has spent in user and system time", .flags = 0, }, + [NLWP] = { .name = "NLWP", .title = "NLWP ", .description = "Number of threads in the process", .flags = 0, }, + [TGID] = { .name = "TGID", .title = " TGID ", .description = "Thread group ID (i.e. process ID)", .flags = 0, }, +diff --git a/openbsd/OpenBSDProcess.c b/openbsd/OpenBSDProcess.c +index 70f9653..ed90cf2 100644 +--- a/openbsd/OpenBSDProcess.c ++++ b/openbsd/OpenBSDProcess.c +@@ -150,7 +150,7 @@ ProcessFieldData Process_fields[] = { + .flags = 0, }, + [USER] = { + .name = "USER", +- .title = "USER ", ++ .title = "USER ", + .description = "Username of the process owner (or user ID if name cannot be determined)", + .flags = 0, }, + [TIME] = { +diff --git a/solaris/SolarisProcess.c b/solaris/SolarisProcess.c +index 31f488e..7452e94 100644 +--- a/solaris/SolarisProcess.c ++++ b/solaris/SolarisProcess.c +@@ -93,7 +93,7 @@ ProcessFieldData Process_fields[] = { + [ST_UID] = { .name = "ST_UID", .title = " UID ", .description = "User ID of the process owner", .flags = 0, }, + [PERCENT_CPU] = { .name = "PERCENT_CPU", .title = "CPU% ", .description = "Percentage of the CPU time the process used in the last sampling", .flags = 0, }, + [PERCENT_MEM] = { .name = "PERCENT_MEM", .title = "MEM% ", .description = "Percentage of the memory the process is using, based on resident memory size", .flags = 0, }, +- [USER] = { .name = "USER", .title = "USER ", .description = "Username of the process owner (or user ID if name cannot be determined)", .flags = 0, }, ++ [USER] = { .name = "USER", .title = "USER ", .description = "Username of the process owner (or user ID if name cannot be determined)", .flags = 0, }, + [TIME] = { .name = "TIME", .title = " TIME+ ", .description = "Total time the process has spent in user and system time", .flags = 0, }, + [NLWP] = { .name = "NLWP", .title = "NLWP ", .description = "Number of threads in the process", .flags = 0, }, + [TGID] = { .name = "TGID", .title = " TGID ", .description = "Thread group ID (i.e. process ID)", .flags = 0, }, +diff --git a/unsupported/Platform.c b/unsupported/Platform.c +index ba84419..cf5b09d 100644 +--- a/unsupported/Platform.c ++++ b/unsupported/Platform.c +@@ -53,7 +53,7 @@ ProcessFieldData Process_fields[] = { + [ST_UID] = { .name = "ST_UID", .title = " UID ", .description = "User ID of the process owner", .flags = 0, }, + [PERCENT_CPU] = { .name = "PERCENT_CPU", .title = "CPU% ", .description = "Percentage of the CPU time the process used in the last sampling", .flags = 0, }, + [PERCENT_MEM] = { .name = "PERCENT_MEM", .title = "MEM% ", .description = "Percentage of the memory the process is using, based on resident memory size", .flags = 0, }, +- [USER] = { .name = "USER", .title = "USER ", .description = "Username of the process owner (or user ID if name cannot be determined)", .flags = 0, }, ++ [USER] = { .name = "USER", .title = "USER ", .description = "Username of the process owner (or user ID if name cannot be determined)", .flags = 0, }, + [TIME] = { .name = "TIME", .title = " TIME+ ", .description = "Total time the process has spent in user and system time", .flags = 0, }, + [NLWP] = { .name = "NLWP", .title = "NLWP ", .description = "Number of threads in the process", .flags = 0, }, + [TGID] = { .name = "TGID", .title = " TGID ", .description = "Thread group ID (i.e. process ID)", .flags = 0, }, +-- +2.19.2 + + diff --git a/overlays/patches/htop/default.nix b/overlays/patches/htop/default.nix new file mode 100644 index 00000000000..2b785545da8 --- /dev/null +++ b/overlays/patches/htop/default.nix @@ -0,0 +1,19 @@ +/* HTOP CUSTOM COLUMN LENGTHS + * + * My nick (spacekookie) is too long to be displayed + * in an htop column. This custom patches fixes this + * + * (<3) + */ +{ pkgs, ... }: + +pkgs.htop.overrideAttrs ({ src, patches ? [], nativeBuildInputs ? [], ... }: { + src = pkgs.fetchFromGitHub { + repo = "htop"; + owner = "hishamhm"; + rev = "402e46bb82964366746b86d77eb5afa69c279539"; + sha256 = "0akyspxl80h2kgp6nhbhnz9v5265pi6d57i6l90pf50l92z61sw7"; + }; + nativeBuildInputs = nativeBuildInputs ++ [ pkgs.autoreconfHook ]; + patches = patches ++ [ ./0001-htop-untruncated-username.patch ]; +}) diff --git a/overlays/patches/neomutt/1388.patch b/overlays/patches/neomutt/1388.patch new file mode 100644 index 00000000000..581c4e2b4af --- /dev/null +++ b/overlays/patches/neomutt/1388.patch @@ -0,0 +1,29 @@ +From aaee4ae3272416ad0d66a4984f3398552df13cef Mon Sep 17 00:00:00 2001 +From: Alyssa Ross <hi@alyssa.is> +Date: Sun, 4 Nov 2018 17:01:05 +0000 +Subject: [PATCH] Work around mutt_expando_format buffer overflow + +This doesn't actually fix the overflow, but at least makes it less +likely to be encountered. + +See https://github.com/neomutt/neomutt/issues/1388. +--- + muttlib.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/muttlib.c b/muttlib.c +index 431d759b9..1498c5a45 100644 +--- a/muttlib.c ++++ b/muttlib.c +@@ -773,7 +773,7 @@ void mutt_expando_format(char *buf, size_t buflen, size_t col, int cols, const c + FILE *filter = NULL; + char *recycler = NULL; + +- char src2[STRING]; ++ char src2[LONG_STRING]; + mutt_str_strfcpy(src2, src, mutt_str_strlen(src) + 1); + src = src2; + +-- +2.19.1 + diff --git a/overlays/patches/neomutt/default.nix b/overlays/patches/neomutt/default.nix new file mode 100644 index 00000000000..d4776e49e1c --- /dev/null +++ b/overlays/patches/neomutt/default.nix @@ -0,0 +1,13 @@ +/* LONGER NEOMUTT PARAMETER LISTS PATCH + * + * Because of how my neomutt config handles GPG + * encryption, neomutt needs to be patched to + * allow for a longer argument buffer. + * Luckily someone had already written a patch + * for this, so I didn't have to :) + */ +{ pkgs, ... }: + +pkgs.neomutt.overrideAttrs ({ patches ? [], ... }: { + patches = patches ++ [ ./1388.patch ]; +}) |