1{ pkgs, ... }: 2{ 3 global = { 4 "<C-p>" = ":prev-tab<Enter>"; 5 "<C-PgUp>" = ":prev-tab<Enter>"; 6 "<C-n>" = ":next-tab<Enter>"; 7 "<C-PgDn>" = ":next-tab<Enter>"; 8 "<C-t>" = ":term<Enter>"; 9 "?" = ":help keys<Enter>"; 10 "<C-c>" = ":prompt 'Quit?' quit<Enter>"; 11 }; 12 13 messages = { 14 "q" = ":quit<Enter>"; 15 "j" = ":next<Enter>"; 16 "<Down>" = ":next<Enter>"; 17 "<C-d>" = ":next 50%<Enter>"; 18 "<C-f>" = ":next 100%<Enter>"; 19 "<PgDn>" = ":next 100%<Enter>"; 20 "k" = ":prev<Enter>"; 21 "<Up>" = ":prev<Enter>"; 22 "<C-u>" = ":prev 50%<Enter>"; 23 "<C-b>" = ":prev 100%<Enter>"; 24 "<PgUp>" = ":prev 100%<Enter>"; 25 "gg" = ":select 0<Enter>"; 26 "G" = ":select -1<Enter>"; 27 "gi" = ":cf Inbox<Enter>"; 28 "gs" = ":cf Sent<Enter>"; 29 "gd" = ":cf Drafts<Enter>"; 30 "ga" = ":cf Archive<Enter>"; 31 "gS" = ":cf Spam<Enter>"; 32 "gb" = ":cf Bin<Enter>"; 33 "Mi" = ":move Inbox<Enter>"; 34 "Ms" = ":move Sent<Enter>"; 35 "Md" = ":move Drafts<Enter>"; 36 "Ma" = ":move Archive<Enter>"; 37 "MS" = ":move Spam<Enter>"; 38 "Mb" = ":move Bin<Enter>"; 39 "J" = ":next-folder<Enter>"; 40 "<C-j>" = ":next-folder<Enter>"; 41 "<C-Down>" = ":next-folder<Enter>"; 42 "K" = ":prev-folder<Enter>"; 43 "<C-k>" = ":prev-folder<Enter>"; 44 "<C-Up>" = ":prev-folder<Enter>"; 45 "H" = ":collapse-folder<Enter>"; 46 "<C-h>" = ":collapse-folder<Enter>"; 47 "<C-Left>" = ":collapse-folder<Enter>"; 48 "L" = ":expand-folder<Enter>"; 49 "<C-l>" = ":expand-folder<Enter>"; 50 "<C-Right>" = ":expand-folder<Enter>"; 51 "v" = ":mark -t<Enter>"; 52 "<Space>" = ":mark -t<Enter>:next<Enter>"; 53 "V" = ":mark -v<Enter>"; 54 "m" = ":read -t<Enter>"; 55 "," = ":read<Enter>"; 56 "." = ":unread<Enter>"; 57 "t" = ":toggle-threads<Enter>"; 58 "T" = ":toggle-thread-context<Enter>"; 59 "zc" = ":fold<Enter>"; 60 "zo" = ":unfold<Enter>"; 61 "za" = ":fold -t<Enter>"; 62 "zM" = ":fold -a<Enter>"; 63 "zR" = ":unfold -a<Enter>"; 64 "<Enter>" = ":view<Enter>"; 65 "d" = ":read<Enter>:move Bin<Enter>"; 66 "D" = ":prompt 'Really delete this message?' 'delete-message'<Enter>"; 67 "<C-s>" = ":read<Enter>:move Spam<Enter>"; 68 "a" = ":read<Enter>:archive flat<Enter>"; 69 "A" = ":unmark -a<Enter>:mark -T<Enter>:read<Enter>:archive flat<Enter>"; 70 "c" = ":compose<Enter>"; 71 "rr" = ":reply -a<Enter>"; 72 "rq" = ":reply -aq<Enter>"; 73 "Rr" = ":reply<Enter>"; 74 "Rq" = ":reply -q<Enter>"; 75 "f" = ":cf"; 76 "$" = ":term<space>"; 77 "!" = ":term<space>"; 78 "|" = ":pipe<space>"; 79 "/" = ":search<space>"; 80 "\\" = ":filter<space>"; 81 "n" = ":next-result<Enter>"; 82 "N" = ":prev-result<Enter>"; 83 "<Esc>" = ":clear<Enter>"; 84 "<C-r>" = ":check-mail<Enter>"; 85 "<C-a>" = ":mark -a<Enter>"; 86 "e" = ":envelope<Enter>"; 87 "E" = ":envelope -h<Enter>"; 88 "s" = ":exec mu find --clearlinks --format=links --linksdir=~/mail/search/results<space>"; 89 }; 90 91 "messages:folder=Drafts" = { 92 "<Enter>" = ":recall<Enter>"; 93 }; 94 95 view = { 96 "/" = ":toggle-key-passthrough<Enter>/"; 97 "q" = ":close<Enter>"; 98 "O" = ":open<Enter>"; 99 "o" = ":open<Enter>"; 100 "c" = ":pipe khal import --batch"; 101 "C" = 102 ":open ${pkgs.libsForQt5.kitinerary}/libexec/kf5/kitinerary-extractor -o ical {} | khal import --batch"; 103 "S" = ":save<space>"; 104 "|" = ":pipe<space>"; 105 "d" = ":read<Enter>:move Bin<Enter>"; 106 "D" = ":prompt 'Really delete this message?' 'delete-message'<Enter>"; 107 "<C-s>" = ":read<Enter>:move Spam<Enter>"; 108 "a" = ":read<Enter>:archive flat<Enter>"; 109 "A" = ":unmark -a<Enter>:mark -T<Enter>:read<Enter>:archive flat<Enter>"; 110 "<C-l>" = ":open-link <space>"; 111 "f" = ":forward<Enter>"; 112 "rr" = ":reply -a<Enter>"; 113 "rq" = ":reply -aq<Enter>"; 114 "Rr" = ":reply<Enter>"; 115 "Rq" = ":reply -q<Enter>"; 116 "H" = ":toggle-headers<Enter>"; 117 "<C-k>" = ":prev-part<Enter>"; 118 "<C-Up>" = ":prev-part<Enter>"; 119 "<C-j>" = ":next-part<Enter>"; 120 "<C-Down>" = ":next-part<Enter>"; 121 "J" = ":next<Enter>"; 122 "<C-Right>" = ":next<Enter>"; 123 "K" = ":prev<Enter>"; 124 "<C-Left>" = ":prev<Enter>"; 125 "e" = ":envelope<Enter>"; 126 "E" = ":envelope -h<Enter>"; 127 }; 128 129 "view::passthrough" = { 130 "$noinherit" = "true"; 131 "$ex" = "<C-x>"; 132 "<Esc>" = ":toggle-key-passthrough<Enter>"; 133 }; 134 135 compose = { 136 "$noinherit" = "true"; 137 "$ex" = "<C-x>"; 138 "<C-c>" = ":cc"; 139 "<C-b>" = ":bcc"; 140 "<C-k>" = ":prev-field<Enter>"; 141 "<C-Up>" = ":prev-field<Enter>"; 142 "<C-j>" = ":next-field<Enter>"; 143 "<C-Down>" = ":next-field<Enter>"; 144 "<C-h>" = ":switch-account -p<Enter>"; 145 "<C-Left>" = ":switch-account -p<Enter>"; 146 "<C-l>" = ":switch-account -n<Enter>"; 147 "<C-Right>" = ":switch-account -n<Enter>"; 148 "<C-p>" = ":prev-tab<Enter>"; 149 "<C-PgUp>" = ":prev-tab<Enter>"; 150 "<C-n>" = ":next-tab<Enter>"; 151 "<C-PgDn>" = ":next-tab<Enter>"; 152 "<tab>" = ":next-field<Enter>"; 153 "<backtab>" = ":prev-field<Enter>"; 154 "<C-a>" = ":attach -m<Enter>"; 155 "<C-q>" = ":abort<Enter>"; 156 }; 157 158 "compose::editor" = { 159 "$noinherit" = "true"; 160 "$ex" = "<exit>"; 161 "<C-k>" = ":prev-field<Enter>"; 162 "<C-Up>" = ":prev-field<Enter>"; 163 "<C-j>" = ":next-field<Enter>"; 164 "<C-Down>" = ":next-field<Enter>"; 165 "<C-h>" = ":switch-account -p<Enter>"; 166 "<C-l>" = ":switch-account -n<Enter>"; 167 "<C-p>" = ":prev-tab<Enter>"; 168 "<C-PgUp>" = ":prev-tab<Enter>"; 169 "<C-n>" = ":next-tab<Enter>"; 170 "<C-PgDn>" = ":next-tab<Enter>"; 171 "<C-a>" = ":attach -m<Enter>"; 172 "<C-q>" = ":abort<Enter>"; 173 }; 174 175 "compose::review" = { 176 "y" = ":send<Enter>"; 177 "Y" = ":send -a flat<Enter>"; 178 "q" = ":abort<Enter>"; 179 "v" = ":preview<Enter>"; 180 "p" = ":postpone<Enter>"; 181 "e" = ":edit<Enter>"; 182 "a" = ":attach -m<space>"; 183 "d" = ":detach<space>"; 184 }; 185 186 "compose::review:folder=Inbox" = { 187 "y" = ":send -a flat<Enter>"; 188 "Y" = ":send<Enter>"; 189 }; 190 191 terminal = { 192 "$noinherit" = "true"; 193 "$ex" = "<C-x>"; 194 "<C-p>" = ":prev-tab<Enter>"; 195 "<C-n>" = ":next-tab<Enter>"; 196 "<C-PgUp>" = ":prev-tab<Enter>"; 197 "<C-PgDn>" = ":next-tab<Enter>"; 198 }; 199 200 "messages:account=ryangibb321@gmail.com" = { 201 "ga" = ":cf [Gmail]/'All Mail'<Enter>"; 202 "gs" = ":cf [Gmail]/'Sent Mail'<Enter>"; 203 "Ma" = ":move [Gmail]/'All Mail'<Enter>"; 204 "Ms" = ":move [Gmail]/'Sent Mail'<Enter>"; 205 }; 206}