Rastinis — the file manager
The Finder, the desktop, and how an application declares the documents it opens.
Rastinis is the file manager, styled after the Snow Leopard Finder. It is also
the desktop: run with --desktop it draws your Desktop folder on the wallpaper.
Every copy, move, trash and undo runs in the background through the file-operation engine, in a child process, so a window never stops drawing while files move.
Context menus
Right-click, click with two fingers on a trackpad, or Control-click.
| On | Items |
|---|---|
| An item | Open, Open With, Move to Trash, Get Info, Rename, Compress, Duplicate, Make Alias, Show Original, Quick Look, Copy, Copy as Pathname |
| Several items | The same, counted — "Compress 3 Items" |
| An item in the Trash | Put Back, Delete Immediately, Get Info, Quick Look, Copy |
| A search result | Adds Show in Enclosing Folder |
| The background | New Folder, Get Info, View, Sort By, Show View Options, Paste Item; Empty Trash inside the Trash |
A right-click on an item that is not selected selects it alone; on one that is selected it keeps the whole selection. So the menu always acts on what is highlighted.
Keyboard
| Keys | Action |
|---|---|
| Cmd-N / Cmd-T / Cmd-W | New Window / New Tab / Close Tab |
| Cmd-Shift-N | New Folder, and start typing its name |
| Return | Rename |
| Cmd-O, Cmd-Down | Open |
| Space, Cmd-Y | Quick Look |
| Cmd-I | Get Info |
| Cmd-D / Cmd-L | Duplicate / Make Alias |
| Cmd-Delete | Move to Trash — Put Back inside the Trash |
| Cmd-Shift-Delete | Empty Trash |
| Cmd-C / Cmd-X / Cmd-V | Copy / Cut / Paste — the pasteboard remembers which |
| Cmd-Opt-V | Move Item Here |
| Cmd-Opt-C | Copy as Pathname |
| Cmd-Z / Cmd-Shift-Z | Undo / Redo |
| Cmd-A, Cmd-F | Select All, Find |
| Cmd-1 / Cmd-2 / Cmd-3 | As Icons / as List / as Columns |
| Cmd-J | Show View Options |
| Cmd-[ / Cmd-] / Cmd-Up | Back / Forward / Enclosing Folder |
| Cmd-Shift-G | Go to Folder — type a path; ~ is home |
| Cmd-K | Connect to Server |
| Cmd-Shift-. | Show Hidden Files — everywhere |
| Letters | Select the first item whose name starts with them |
Select by clicking, Cmd-click to add or remove, Shift-click for a range, or drag a rubber band over empty space.
Drag items onto a folder, a sidebar place, another window or the desktop: on the same volume they move, across volumes they copy. Hold Option to force a copy, Command to force a move.
Views
- Icons, with the size in View Options.
- List — click Name, Date Modified, Size or Kind to sort, again to reverse. The triangle beside a folder shows its contents inline.
- Columns — choosing a folder opens it in the next column; Left and Right move between them.
- A path bar above the status bar; click a component to go there.
- The sidebar: Favorites, Devices (every mounted volume), and Places.
Hidden files, and the presented root
Shift-Cmd-period shows and hides hidden files everywhere at once. It is one system setting, not a per-window switch: pressing it in a Finder window also reveals them in every open and save dialog in every application, and a dialog opened afterwards already agrees. It works inside a dialog too. The setting is remembered across restarts.
Hiding is the default, and it means two things:
- a name beginning with a dot is hidden, as everywhere else;
- at the root of the system disk only
Applications,UsersandSystemare shown./etc,/usr,/binand the rest are all there, and Shift-Cmd-period reveals them — but the root reads as a volume rather than as a raw Unix tree.
An individual item can also be hidden by attribute, from the item menu's Hide. That is a fact about the file and is independent of the dot rule; Shift-Cmd-period reveals both.
View options
View → Show View Options holds icon size, sort order, show hidden files, show path bar, and two more below. All of them are remembered, so a choice survives quitting.
Calculate all sizes
Off by default, and list view only — that is the only view with a Size
column. With it off a folder's size reads --, exactly as the Finder does.
With it on, the folders you are looking at are measured in the background and each row fills in when its own answer arrives. Nothing is measured for a row you are not looking at, scrolling away cancels work that has not started, and navigating away abandons a walk already running: a deep tree on a slow disk is the expected case, not the edge case.
Sizes are re-measured after any copy, move or trash, because a file written three levels down does not change the folder's own timestamp.
Sorting by size while folders are still being measured puts the measured ones in size order and groups the rest after them by name — in both directions, so rows still being computed do not jump across the window when you flip the sort.
Show icon preview
Off by default. A PNG, JPEG or KVI file draws its own picture instead of the generic image icon, in every view.
Anything else — and a picture whose thumbnail has not been made yet, and one that fails to decode — keeps its type icon, so a file always has an icon.
Thumbnails are produced off the interface thread and cached; the interface never waits for one. Only files on screen are decoded, and very large ones are skipped.
Conflicts, progress and Undo
Copying or moving onto an existing name asks: Keep Both (the new item becomes "name 2"), Replace (the existing item goes to the Trash — Rastinis never deletes on Replace), Skip or Stop, with Apply to All for the rest of the operation.
An operation still running after half a second shows a progress panel with a stop button, and stopping removes the half-copied item.
Undo reverses the last move, rename, trash, copy, duplicate, alias or new folder — an undone copy goes to the Trash rather than being deleted. Redo reverses the Undo.
Get Info, Quick Look and search
Get Info shows kind, size (a folder is measured in the background), location, modification date, an alias's original, where a trashed item came from, Locked, Open With — choosing an application there makes it the default for that file type — and read/write permissions for owner, group and everyone.
Quick Look previews text, PNG and JPEG. Anything else shows its name, kind, size and date; there is no PDF renderer yet.
Search filters the folder as you type, and the scope bar switches to "and subfolders", which lists matches anywhere below with where each one lives.
For application developers: declaring document types
An application says which files it opens in its bundle's Contents/Info:
Name=AEdit
Exec=aedit
Icon=aedit.kvi
Documents=txt,md,c,h,sh
Documents= is a comma-separated list of extensions, or * for anything.
Rastinis lists every declaring application under Open With, uses the default on a double-click, and passes the file as the application's first argument. The user's per-type default is remembered in their own profile, so choosing "always open with" does not modify your bundle.
More documentation
- Booting the live image
- Installing to disk
- Packages and the filesystem
- How it boots
- The syscall ABI
- Hardware support
- ACPI
- UEFI boot entries
- NetBooting a Mac
- The AO toolkit
- Grafika — the graphics API
- The display protocol
- Desktop effects
- The level bezel
- Notifications
- File operations
- Audio — Garsas
- Hardware video decode
- Networking — Tinklas
- Network shares — SMB and NFS
- Remote control
- The Win32 subsystem
- DirectX and OpenGL for Win32 programs
- Ports and packaging