Repository navigation
Rail v0.8.0
Key presets: start from the keys you know. keymap chooses rail, vim, mutt, emacs,
gmail or outlook; :keymap switches and asks whether to keep the new keys, and the setup
wizard offers them on the first run (#153).
Added
- Key presets.
keymapunder[general]chooses the keys every action starts from, and
[keys]goes over it.:keymaplists the presets and switches at once, then asks Keep these
keys?:ysaves them, andn,Escor 15 s without an answer go back to the keys before.
A switch that[keys]clashes with is refused and the keys stay. The first preset besides
railisvim:h/lgo out and in,uundoes,Umarks read or unread,Zsnoozes,
Llabels,Dtrashes without asking andCtrl-f/Ctrl-bpage (#153). Prompted by
@coko7's request for bash's editing keys in text fields (#152). - The
muttpreset (keymap = "mutt"):smoves,Fstars,Nmarks read or unread,
tselects,lfilters,greplies to everyone,mwrites,$syncs anduundoes;d
still asks andDtrashes without asking. Top and bottom are=and*, the linksCtrl-o
andCtrl-b, select all or by senderT aandT f; in the readerhshows the headers,
igoes back,vlists the attachments andPloads the pictures. Rail's own keys are
unchanged (#153). - The
emacspreset (keymap = "emacs") adds emacs's keys beside Rail's own:Ctrl-n/
Ctrl-pmove,Ctrl-v/Alt-vpage,Alt-</Alt->go to the top and bottom,Ctrl-s
filters,Ctrl-gbacks out andAlt-xopens the palette;Ctrl-x uundoes andCtrl-x o
moves between the sidebar and the list. In the composerCtrl-x Ctrl-ssaves to Drafts,
Ctrl-x iattaches andCtrl-x kdiscards.n/pmove through the list (#153). - The
gmailpreset (keymap = "gmail") follows Gmail's web shortcuts:oopens,u
goes back to the list,I/Umark read and unread,#trashes without asking,vmoves,
bsnoozes,xselects,* nclears the selection,areplies to everyone,Nsyncs,g i
goes to the inbox andCtrl-ssaves the draft. The sidebar moves toB, a range toV, the
attachments toAand trusting a sender's pictures toT(#153). - The
outlookpreset (keymap = "outlook") follows Outlook for Windows and on the web:
Deletetrashes without asking,Backspacearchives,Insertstars,Ctrl-q/Ctrl-umark
read and unread,Ctrl-zundoes,Ctrl-nwrites,Ctrl-rreplies,Ctrl-fforwards,v
moves,Ctrl-efilters,Ctrl-aselects all andF9syncs;Alt-ssends andCtrl-ssaves
a draft. A range moves toV(#153). - The setup wizard's first run ends with Choose your keys: Rail's own keys or any preset,
saved askeymap(#153). A preset that the config's[keys]clash with is refused, and the
wizard still finishes, saying:keymapcan choose the keys later. F2opens the palette in every preset, whatever[keys]says, so switching presets never
hides the way back.list.trash_now: move to the trash without asking, still undoable and still asked about for a
large selection (bulk_confirm) and in Drafts. It has no key in therailpreset:Dinvim
andmutt,#ingmail,Deleteinoutlook.list.mark_readandlist.mark_unread: mark read, or mark unread, whatever the threads show,
whereutoggles. Neither has a key in therailpreset:I/Uin
gmail,Ctrl-q/Ctrl-uinoutlook(#153).delete,backspaceandinsertare key names for[keys], shown asDel,Bkspand
Insin help. No default key uses them.
Changed
- The README is now a short overview, and the full documentation lives in
docs/: account
setup, reading, acting on and writing mail, keys, configuration, commands, MCP, security and
troubleshooting, withdocs/README.mdas the index. Release archives carrydocs/too. - Messages that pointed to the README now name the page: the Microsoft 365 consent error says
see "Work or school accounts and admin consent" in docs/accounts.md, and an unknown[keys]
action says(docs/keys.md lists them). - Updated
async-executorto 1.14.1: 1.14.0, whichkeyring's Linux Secret Service client
pulls in, was yanked.
Fixed
- Keys reach the mail screen when the terminal never answers Rail's picture query, as in a tmux
session with no client attached or a pseudo-terminal nothing reads. The unanswered query left
a reader behind that took every key and later turned raw mode off, so keys echoed and the
screen ignored them. Rail now asks only a terminal that answers, and only a tmux session with
a client attached; any other gets half-block pictures (#155).
Upgrading
- A
[keys]entry that bindsF2to another action now stops Rail from starting; move that
action to another key. - An older Rail refuses a
config.tomlthat containskeymap; remove it before going back.
It also refuses[keys]entries namingdelete,backspaceorinsert.
Downloads
| Archive | For |
|---|---|
rail-v0.8.0-x86_64-unknown-linux-gnu.tar.gz |
Linux x86_64, glibc 2.36 or newer |
rail-v0.8.0-aarch64-unknown-linux-gnu.tar.gz |
Linux ARM64, glibc 2.36 or newer |
rail-v0.8.0-aarch64-apple-darwin.tar.gz |
macOS 11 or newer on Apple Silicon |
rail-v0.8.0-x86_64-apple-darwin.tar.gz |
macOS 11 or newer on Intel |
Each archive holds the rail binary, the README and docs/, the changelog, the licences and
BUILD-INFO.txt. Extract it and put rail in a directory on your PATH.
Check an archive against SHA256SUMS, and check where it was built:
sha256sum -c --ignore-missing SHA256SUMS # macOS: shasum -a 256 -c --ignore-missing SHA256SUMS
gh attestation verify rail-v0.8.0-<target>.tar.gz --repo vitosans/railOn other systems, build from the tag with Rust 1.88 or newer:
git clone --branch v0.8.0 --depth 1 https://github.com/vitosans/rail.git
cd rail
cargo install --locked --path crates/rail