File explorer GUI
- Shell 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| examples | ||
| scripts | ||
| .gitignore | ||
| files.talc | ||
| README | ||
| VERSION | ||
files: a window on the file system -- the directory's path across the
top with Back and Up beside it, what the directory holds in a list
below, each entry with the icon for what it is, and a status bar along
the bottom. The shape of PCManFM cut down to exploring: no bookmarks,
no side pane, no tabs, nothing copied, moved or renamed. A program in a
repository of its own, built against the libraries beside it --
../canvas for drawing, ../look for the theme and the icons, ../toolkit
for the parts and the run loop -- the way any program with a window is
meant to be.
files.talc the program: Back, Up and the path field in a
row, the list in a frame, the status bar; what
a press and the keys do
examples/tree/ a small file system the regress explores: bin/
with an executable, etc/ with a file, home/bryan
with a talc file, a text file and a hidden
directory
examples/drive.talc what the regress plays at it: home and bryan
entered, a file pressed for its details, hidden
files shown, Up, Back, a relative path typed
examples/drive-classic.talc one step again, in the classic look
examples/*.ppm the pictures expected at each step
scripts/build.sh builds files.talc into bin/files
scripts/regress.sh runs it under ../screen with no card on a copy of
examples/tree, twice (the built-in look, the
classic one), and compares the pictures
Build:
scripts/build.sh
scripts/regress.sh
which need the installed toolchain (compiler on PATH), ../canvas built
(its fonts), ../look (its example themes and its icons), ../toolkit,
and for the regress ../screen built. Start it from the launcher
(`files`) or the screen's -run; ../vm/scripts/build.sh puts it at
/bin/files in the machine.
files [-font <name>] [path]
Shows / with no path, else the directory given; a path that is not a
directory is an error on the error stream and exit 2. The list is
drawn in the theme's font unless -font names another. The window
begins at 48 by 20 cells of the theme's font and follows the screen
from then on.
THE WINDOW. A row across the top: Back, which returns to the directory
left last; Up, which goes to the parent; and the path, in a field that
takes the rest of the row and can be typed into. Under it the list in
a frame, taking the height: the directories first, then the files, as
the system sorts them, each with the icon for what it is -- a folder,
a talc file, a file that may be run, any other file -- from the pack
the theme names ((look icons), ../look/README), when the screen was
started with an icons directory. Along the bottom the status bar: how
many items there are, and how many names beginning with a dot were
left out, until ctrl+h shows them.
A PRESS on a directory (or return, with the focus in the list, which
has it when the window opens) enters it. A press on a file puts its
details in the status bar -- its size, when it changed, what it holds
when it is a link -- and a press on the file the status bar already
shows opens it in the editor (`editor <path>`, by name on PATH, with
this program's environment, so it comes up on the same screen); when
the editor cannot be started the status bar says so. So press-press
opens a file, as does press-return, and one press tells you about it.
A directory that refuses to be read is said in the status bar and the
list stays where it was.
THE KEYS. Backspace in the list goes up one directory; alt+left goes
back; ctrl+l puts the cursor in the path field with its text selected,
and return there goes to the directory typed, relative to the one
shown when it does not begin with a slash (".." and "." are taken
into the path, so the field shows where one is); a path that is not a
directory is said in the status bar and the field put back; ctrl+h
shows the names beginning with a dot, and hides them again; F5 reads
the directory again (nothing watches it); tab moves the focus round
the buttons, the field and the list. The icons are taken again when
the look changes.
Exit codes: 0 the window was closed; 1 the screen or the font refused
something; 2 the arguments were wrong.
NOT HERE: forward, a home button, bookmarks and a places pane; an icon
view, columns for size and date, sorting by them; a context menu,
copying, moving, renaming, deleting, making a directory; opening a
file with anything but the editor.