Skip to content

The list

A view has a kind. A board puts the tasks in columns; a list puts them in rows — one row for each task, in the one order every view in the project shares. Same tasks, same filters, same card view. Only the drawing differs.

Make one from the + in the view strip, or change a view’s kind in Settings → Views. See Views.

Three things a board cannot do.

  1. It shows the card order. Every view in a project shares one order — a task has a single position — and a board only ever draws part of it, one column at a time. Nobody could see the order they were all sharing. A list is that screen, and its drag is the only place you can move a task without also changing one of its properties.
  2. It puts a property under itself. A card stacks one task’s values; forty cards are forty stacks. A list puts Priority under Priority, which is how you find the three urgent things nobody is assigned to.
  3. It is dense and it counts honestly. A board grouped by Status buries two hundred backlog items under one column while four sit half empty. A list is one scroll, and “12 of 40 tasks” finally describes what you can actually see.

The card view. A list row is the card read across instead of down: the same rows, in the same order, drawn by the same chips. Arrange it in Settings → Card view and both drawings follow.

  • A row that is off the card is off the list.
  • The edge stripe stays a stripe down the side of the row. It is not a column.
  • The description joins the title, one line and ellipsed, because a row is one line.
  • The key and the title open every row — a table is read from the left, and the name of the task is what you are looking for. They also stay put when a wide list is scrolled sideways.
  • The other columns follow the order of the properties, so dragging a property in Settings → Properties moves its column too.
  • A task with no value for a column draws nothing there. Empty is empty, exactly as on a card.

One deliberate difference: a property the card draws as a bare colour gets its name back in a list. On a card the title above it says what it belongs to and space is scarce; a column’s heading names the property, never the value, so a row of unlabelled squares under PRIORITY would only tell you that the task has one.

The rows are in position order, top to bottom — until you ask a heading for another order. Drag one and it writes exactly one rank — the same write a card drag makes, minus the property value, because there is no column to say anything about.

That order is shared. Move a row in a list and the card moves on every board in the project. This is not a new hazard; it is the existing one, running the other way. A board drag has always reordered the list.

Under a filter the rows are a subsequence, so a drag puts the row beside the row you can see, and the hidden tasks between them stay where they are.

Press a heading. Once for one way, again for the other, and a third time for the order the board itself keeps. The heading you pressed carries an arrow, and a chip above the list names the column and the way, so you can see at a glance that the list is not in its own order.

The two ways are named by what the column holds, and the board’s Sort button uses the same words:

Column First press Second press
Title, text, person, link A→Z Z→A
Date Earliest first Latest first
Select, multi-select Option order Reverse order
Number Smallest first Largest first
Key Oldest first Newest first
Checklist Least done first Most done first
Comments Fewest first Most first
Checkbox Ticked first Not ticked first

A select runs in the order its options stand in Settings, so Urgent comes before Low. An empty value goes last both ways. A checkbox has no empty value: a box nobody ticked is not ticked.

A board asks for the same order from its Sort button, because it has no heading to press, and everything below holds there too — each column is drawn in the order. See The board.

A sort writes nothing. The rank each task carries is untouched, so every board goes on showing exactly what it showed before. The order is yours, the way a filter you add is: it is remembered for you on that view, nobody else’s list moves, and Save for everyone puts it on the view. See Filters.

How each kind of column orders:

Column Orders by
select its own option order — Urgent above Low, not alphabetically between High and Medium
multi-select its highest option, so a task labelled bug and docs sorts with the bugs
person the member’s name
date the day it names
number its size, so 9 comes before 10
text, title the words
link the words of its first link, as the chip reads — acme/shop#12
checkbox ticked before not ticked; a box nobody ticked is not ticked, so it never holds nothing
Task ID the number
Checklist how far along it is — three of four is further than three of ten
Comments how many

A task that holds nothing for that column goes last, whichever way the order runs. Turning a sort around asks a question about the tasks that have an answer; “nothing yet” is not a small value, and a list that opened on a page of blanks would be answering a question nobody asked.

Two tasks that compare the same keep the rank they already had, so a sorted list never shuffles under you and always agrees with the board underneath.

A list selects exactly as a board does, with the same bar and the same one write. Hover a row and a check appears in the gutter before the key; press it and the row is selected. Once anything is selected every row shows its check, so the way out is where the way in was.

How What it selects
The check in the gutter That row, or deselects it.
Shift + click a row Every row from the last one you selected to this one. A list is one column of rows, so the range is a real range of the whole list — there is no second column to stop at.
x The row the cursor is on, or deselects it.

A plain click still opens the task, and a selected row wears a border and nothing more. The bar in the top bar then reads 3 selected, with Set…, Archive and ✕ — all of it described under Selecting several cards.

The check is not a column. The columns of a list are the rows of the card view and nothing else, so a check that was never on a card has no business being one; it sits in the gutter the colour stripe already uses, and the headings are the same whether anything is selected or not.

One composer, at the end of the list: + Add a task. Enter adds it, Shift+Enter is a newline, Escape cancels, and clicking away commits anything you typed.

Under a filter it says what it is about to write — “sets Priority Urgent” — and then writes it, so the row you add is never hidden by the filter you added it under. A board leaves the grouping property to the column; a list has no column, so the filter answers for that one too.

The new row lands after the last row you can see, and the task panel opens on it.

The list has exactly one tab stop, and it is the row the cursor is on.

Key What it does
Tab reaches the list, once, at the cursor row
↑ ↓ move the cursor. Nothing wraps
Home End first row, last row
Enter open the task in the panel
Space pick the row up, and put it down again. Not while the list is sorted
↑ ↓ while held move the row
x select the row for a bulk change, or deselect it
Escape cancel the lift, or close the panel

← and → do nothing, so a wide list still scrolls sideways with them.

The row names the agent, in the small mono face, and its bottom hairline scans while the run reports. It stops when the run is paused or has gone silent. Everything else the card’s strip shows — the step, the age — is in the row’s tooltip, and the plan, the log and Pause / Stop / Take over are in the Agent tab of the panel.

A card can afford three fields along its bottom edge. Forty rows each running a ticker cannot, which is the same reason the card refused one.

Dragging a row an agent holds takes the task over, exactly as dragging its card does.