Files

Tacit's file manager, made from the kit. This page shows what it is built from, with renders of the real app on both palettes.

The file manager window on the wallpaper: a rail of places on the left with Downloads current, a header reading Home, Downloads with a search field, a view bar under it, and a list of files with their sizes and days.

Files is the first app rebuilt on Tacit.Kit. It keeps its own logic (history, selection, drag and drop, renaming) and draws with the kit's parts and tokens. The images on this page are renders of that app, made headless with tools/files-run.sh.

The parts

The Files window with numbered callouts on the rail, the page header, the search field, the view bar, a list row, and a rail row.
The parts of the window.
  1. RailThe rail with its heading, Places, and a Trash row at its foot. Its rows fold to symbols, and the folded rows show a tooltip.
  2. Page headerThe page header: back and forward, the path as the title, and a hairline under it.
  3. Search fieldThe search field, in the header.
  4. View barThe view bar under the header: the count, Filter, the order menu and the views.
  5. List rowA list row for each file: its kind, name, size and day, in fixed columns.
  6. Rail rowA rail row for each place, the current one with a wash and the accent bar.

Other parts the app uses, out of this window's sight: the docked panel for a selected file, slabs and word actions in it, a page state for an empty or unreadable folder, tabs and fields in a panel, a rename done in the row itself (asking), and Glide in the preview (scrolling).

The list

A folder opens as a list. Names are the folder's own; sizes and days sit in the columns every list row has. The rows' selection, keys and pointer are those of the list row and the row list.

Pictures

A folder of pictures opens as justified rows by day, each picture at its own shape.

The window showing the Pictures folder: fourteen pictures in rows of different widths, with Pictures current in the rail.
A folder of pictures.

The cells are drawn by the app, not by the kit; see what the kit did not cover.

The view controls

Files has the kit's view bar under the header. On the left is the count of items, or, when a filter is on, its fields. On the right are Filter, the order menu, and the four views as words, with the current one underlined.

The Downloads folder in the List view. Under the header, a bar with 9 items on the left and Filter, Newest first, List, Grid, Gallery and Columns on the right, List underlined. Below it the list, under the headings Yesterday, Friday and Thursday.
The view bar at rest.
The same bar with the filter open: the fields Kind, Modified and Size in place of the count, and the Kind menu open with Folders, Pictures, Documents, Music, Videos, Archives, Code and Other, each with its count, Pictures and Documents ticked, and Any kind at the foot.
A filter opened: its fields take the left of the bar.
The filter in use: Kind Pictures, Documents; Modified Last 7 days; Size Any; then 4 of 9 and Clear. The list below shows the files that match under Yesterday, Friday and Thursday.
A filter in use, with the count of what is shown.
The order menu open under Newest first, with the headings Sort by (Name, Kind, Date modified, Size), Order (Newest first, Oldest first) and Group by (None, Date, Kind), and Show hidden files with Ctrl+H.
The order menu.
The Columns view of Home, Documents, Taxes 2026: three columns, from Desktop through Documents and Taxes 2026 to Declaration.pdf, the bar showing 3 items.
The Columns view.

What the kit did not cover

Code

Files imports the kit qualified, since it also has its own names, and sets the tokens once.

import Tacit.Kit as K

K.PageHeader {
    crumbs: ["Home"]
    here: "Downloads"
    canGoBack: win.canGoBack
    onBack: win.back()
    K.SearchField { scope: "Downloads" }
}

Experimental, in Tacit.Kit 0.1.