Skip to content

Releases: marbris/tutor

v11.1.1

Choose a tag to compare

@marbris marbris released this 25 Oct 04:37

A fix for the editing list's cursor.

  • Moving focus back and forth between the editing list and another panel no longer moves the editing list's highlighted card. It used to move on by two cards each time, when the list was sorted by where else its cards are.
  • e and E no longer move the highlighted card either.
  • Adding a card still moves the cursor on to the next one, so a run of adds still works down the list.

v11.1.0

Choose a tag to compare

@marbris marbris released this 24 Oct 23:34

Tutor in several terminals at once, and a few things it now remembers.

Several Tutors on the same lists

  • An edit made in one Tutor shows in the others within a tenth of a second, and so does an edit made in a text editor.
  • Two Tutors editing the same list no longer write over each other: their edits are merged card by card. If both changed the same card, the later edit wins.
  • u only takes back your own edits, not the other Tutor's.
  • When one Tutor downloads the card data or rulings again, the others read in the new files instead of showing the wrong card text.

Link windows (settings, space c)

  • On, every Tutor you have open edits the same list: e or E in any of them moves the editing list in all of them. A list another window doesn't have open opens there in a panel of its own.
  • Only the window you're typing in shows its focused panel. The others keep a plain grey bar on the card under the cursor, so you can still see which card their card and statistics columns describe.
  • Off, each Tutor has its own editing list and shows its own focus.

The editing list

  • Every panel showing the editing list gets its border, and its editing keys show under each one.
  • e and E step through lists, not panels: a list open in two panels is one step.
  • The same list in two panels, one filtered, marks in the other the cards its filter picks out.

Sessions

  • Tutor comes back with each list's cursor on the card it was on, and with the statistics open as you left them.
  • Focus no longer comes back one panel off when a panel before it wasn't saved.

Updates

  • The settings panel shows the version. enter on it checks for a newer release, and enter again installs it, as ttr upgrade does.

Text

  • Long text in narrow columns wraps instead of being cut off, and one-line rows are cut clean, without a trailing "…".

v11.0.0

Choose a tag to compare

@marbris marbris released this 24 Oct 20:58

A major version: the statistics move beside the card, and their keys change.

Statistics

  • s and S open the statistics as a column of their own, left of the card, so the card stays in view. gx and gv only change the card column. On a terminal too narrow for both, the statistics get the one column.
  • They open with every group folded to its heading, row on row. enter on a heading opens or folds it, and Tutor remembers which are open. A folded heading says how many of its rows are in the filter.
  • New keys: ctrl+j ctrl+k walk the rows and go round from one end to the other. J K scroll the card, as they do with the statistics closed.
  • Filtering moves from alt to ctrl: ctrl+a AND, ctrl+o OR, ctrl+n NOT, ctrl+x take out, ctrl+b clear, ctrl+p odds, ctrl+t show a Tagger tag with your tags. There is no key to step the odds back any more; ctrl+p goes round to the counts.
  • Tags sorted by count now count the cards the filtered list shows, so filtering can reorder them.
  • A long filter wraps onto more lines instead of being cut off.
  • The statistics show their keys only with ? on.

Filter by a tag of the card

  • F highlights the tags of the card under the cursor in the card view: your own, the global tags and Scryfall Tagger's. h l move along them, a o n filter the list by the highlighted one with AND, OR or NOT (the same key again takes it out), and esc finishes. It's the statistics' filter, so they show it too.
  • While picking, the card column has the focus border and shows the picker's keys, and the other panels hide keys that don't work until you're done.

Hints

  • s stats now sits under the list you're on, and S stats under the deck you're editing.

If you rebound statistics keys in keys.json, check them: the turn-group keys and the odds-back key are gone.

v10.6.0

Choose a tag to compare

@marbris marbris released this 23 Oct 21:50

A minor version: Tutor can upgrade itself.

  • ttr upgrade downloads the newest release for your machine from GitHub, checks it against the release's SHA256SUMS, and installs it in place of the ttr you ran. ttr update does the same.
  • It works on Linux, macOS and Windows. If ttr is in a folder you can't write to (like /usr/local/bin), it tells you to run sudo ttr upgrade. A copy installed by a package manager is left to that package manager.
  • ttr upgrade -f reinstalls even when you're on the newest version, and replaces a build from source.

10.5.0 and earlier don't have the command, so get this one by hand. From here on, ttr upgrade does it.

v10.5.0

Choose a tag to compare

@marbris marbris released this 23 Oct 21:40

A minor version: tags get a rename and a way out to Moxfield, and space n copies a panel.

Tags

  • T r renames a tag on every card of the editing deck. Type old/new; tab completes either name. A card that already has the new tag just loses the old one, and u undoes the whole rename.
  • The t bar shows that it takes several tags at once (ramp draw, -draw takes one off), and the notice names the tags it put on.

Moxfield

  • gm copies a deck to the clipboard as Moxfield import text: commander, deck, sideboard and maybeboard, with #tags and pinned printings. It works from the decks panel or an open deck. It uses pbcopy on macOS, wl-copy or xclip on Linux, the clipboard on Windows, and OSC 52 when none is there.

Panels

  • space n copies the panel you're in, beside it: cards, sorts, filters and cursor. The blank panel it used to open is gone; tab in a search bar still switches between cards, decks and rules.
  • Two panels on the same deck show the same edits and undo, so neither can write older cards over the other.
  • A list marks only the cards another list shows: filter one list, and the markers for the cards it hides come off the lists beside it.

v10.4.0

Choose a tag to compare

@marbris marbris released this 21 Oct 15:57

A minor version: search runs locally over every card on disk, and gx remembers the printing you pick. This also covers 10.2.1, 10.2.2 and 10.3.0, which were never released on their own.

Local card data and search

  • Tutor downloads every card and English printing once a week and keeps them on disk. The first download shows its progress on screen.
  • Searches run over the cards on disk without asking Scryfall. alt+enter sends the search to Scryfall instead, and the notice offers this for any word Tutor can't search locally.
  • The / filter learns is:commander and !exact names. The same language now searches every card.
  • Decks, gx's printings, adding a card by name and ttr <card> read the cards on disk. Scryfall is only needed for pictures and brand-new cards.

Printings and Tagger statistics

  • The printing you leave gx on is remembered. That card opens on that printing from then on, in every list and session.
  • alt+t on a Scryfall Tagger tag in the statistics shows it with the card's tags, in Tagger's color. It stays there across sessions.
  • The Tagger statistics sort by what they count and hide rows that count nothing, except rows in the filter.

Memory and speed

  • ttr keeps only the last few dozen card pictures in memory, so gX and long sessions no longer climb past a gigabyte.
  • Each key press sends about 40% less to the terminal.
  • Holding a key in a big list, or an arrow after gx has shown pictures, no longer leaves the cursor running on after you let go.

Fixes and layout

  • ttr no longer crashes at start when a restored otag: search and the statistics read the Tagger tags at the same time.
  • Long card tags, deck names, search queries and type lines wrap instead of being cut off. This covers the info panels, list headers and ttr <card>.
  • The settings panel stays level with the others in a narrow window. A long git remote is shortened instead of running off the bottom.
  • The README explains local search, alt+enter and is:commander, and has new memory and disk numbers.

v10.2.0

Choose a tag to compare

@marbris marbris released this 11 Oct 03:42

A minor version: Tutor uses far less memory with big tag lists.

Memory and speed

  • Opening the decks panel, and committing a list with it open, no longer pushes memory past a gigabyte. Every list in the panel used to read the whole card cache from disk at once. Now it's read once and kept: with twelve tag lists of 21,000 cards pinned, the highest point drops from about 1.4 GB to about 130 MB.
  • Editing a list no longer reads every pinned tag list from disk again, which made each edit about 30 ms slower.
  • The README's size and speed numbers are measured again with a dozen pinned tag lists.

v10.1.0

Choose a tag to compare

@marbris marbris released this 08 Oct 01:34

A minor version: one query can now filter every list at once.

Filter

  • ctrl+/ opens the / prompt for every card list at once. Search results and decks all narrow by what you type. It starts from the current list's filter. enter keeps it, and esc puts back each list's own filter from before. The decks, rules and versions panels keep their own filters.
  • If ctrl+/ does nothing in your terminal, rebind filter-all in keys.json. A terminal sends ctrl+/ as ctrl+_, and that is the name the keymap uses.

v10.0.0

Choose a tag to compare

@marbris marbris released this 08 Oct 01:05

A major version. The default theme is now your terminal's own colors, and alt+a alt+o alt+n in the statistics do something new on a row that's already in the filter.

Clear tags

  • T X takes every tag off the editing list's copies of the cards in front of you. That's the cards picked with v, or else every card showing, so / and the statistics filter narrow it. There's no question first. u puts the tags back.

Statistics filter

  • On a row that's already in the filter, alt+a, alt+o and alt+n switch it to that join, and the row keeps its place. The same key twice takes the row out, so alt+a alt+a always clears it.
  • On the first row in the filter, AND and OR mean the same thing, so either one takes the row out.

Themes

  • The default theme is now terminal: your terminal's own colors and background. If you never chose a theme, Tutor now looks like your terminal. ttr theme gruvbox brings back the old look.
  • Any theme that paints its own background now sets the terminal's background to match while Tutor runs, and puts it back when you quit. In kitty, the strips at the window's top and bottom now match the theme. Before, they stayed the terminal's color.

9.2.0

Choose a tag to compare

@marbris marbris released this 06 Oct 17:11

A minor version: no keys changed. Choose a theme from the settings, start Tutor from your desktop, and remove it cleanly.

Theme from the settings

  • space c has an appearance group with a theme row. enter opens a list of every theme, each marked light or dark. Each one goes on as you move to it and is saved. enter keeps it, and esc puts back the one you started with.

Application launcher

  • The first time it runs, ttr adds Tutor to your desktop's application launcher. The launcher opens a terminal running ttr.
    • Linux: a .desktop file in ~/.local/share/applications (only when there's a desktop, not over ssh).
    • macOS: Tutor.app in ~/Applications, opened in Terminal.
    • Windows: a Tutor shortcut in the Start menu.
  • It has no icon yet. ttr launcher remove takes it out, and it stays out. ttr launcher puts it back. If you move the binary, the launcher follows it.
  • The macOS and Windows launchers haven't been tried on those systems yet. Reports are welcome.

ttr uninstall

  • Removes the program, its launcher, the downloads and the session after one yes. Then it asks, separately, whether to remove your settings and your lists. Both answers are no unless you type yes. For your lists, it says whether they're pushed anywhere.

Fixes

  • A picture fetched again right after r in the settings no longer counts as out of date a second time.