Releases: lulu-loopp/folio-terminal
Release list
Folio 0.4.6
Folio 0.4.6
Download: zip (Windows 10 1809+ / 11, 64-bit) · dmg (macOS 14+, Apple silicon)
下载: 上方 zip 与 dmg 即为完整下载,其余为校验和、物料清单与源码。中文版发布说明
Highlights
- Folio updates itself on Windows: when a new release is out, a card offers
it, downloads it and restarts Folio into it, and if the new version does
not start, the previous one comes back. - The same self-update works on a Mac.
- A reboot or a logout saves your layout the way quitting does, pinned tabs
and their panes included. - Pasting into the find bar, a settings field or the Git panel's search and
branch prompt puts the text there, not into the terminal behind it. - The Chinese interface is complete, and its settings read as a settings
page, with one word for each thing on every page.
Changes
Added
- Windows: Folio can update itself from the update card; Settings ▸ General
has a Restart to update row that brings the card back. - macOS: Folio can update itself the same way.
- A copy installed with scoop or winget is shown its package manager's
command to copy instead of updating itself. - A copy installed with Homebrew is shown its command the same way.
- If an update cannot finish, the installed Folio reopens with an "Update
incomplete" card; CHANGELOG says what happens when an update is cut off. - An update downloaded but not installed — closed with Later, or cut off by
a power loss — is offered again at the next start, ready to restart.
Changed
- The Chinese settings descriptions are written statements and use one word
for each thing across every page. - The update card, the update row, the shortcut panel's zoom actions, the
profile editor's login switch and the shutdown screen are translated into
Chinese. - When the settings gear shows its update dot, clicking it opens Settings at
the update row; the About page names the newer version. - The right-click menu is on by default only in installs that can remove it
again.
Fixed
- A reboot or logout saves your layout like a quit; pinned tabs come back
with their panes. - A web address right after Chinese text, a colon or an
=is a link, and
one followed by an opening bracket ends before the bracket. - Pasting with a text field focused — the find bar, the Git graph's search,
the branch prompt, a settings field — puts the text into that field. - Renaming a file to a name that differs only in capitals no longer replaces
a different file in a folder that tells capitals apart. - Opening Folio from Explorer's right-click menu, or running
folio --versionwhile another Folio starts, no longer leaves the new
window unable to save its settings and tabs. - Pasting a picture works with every kind of bitmap the clipboard can hold,
including browser copies and long screenshots. - A web pane survives the browser engine updating itself underneath it.
- A redraw that arrives in several pieces no longer shows a formula's source
for a frame. - macOS: the shipped shells start as login shells, so Homebrew's tools are
found; a profile can turn login on or off. - macOS: a shell that reports its folder the way fish does gives the pane
that folder. - Markdown preview:
file:///Users/…links open on macOS, and links with
%20for a space find the file on both platforms. - macOS: uninstall cleanup with
--purgeremoves the clipboard staging
folder and the panic log. - A trace file that cannot be opened no longer stalls tracing.
Known issues
- Ctrl+Enter and Shift+Enter still reach programs as Enter; the kitty
keyboard protocol that tells them apart comes in 0.4.7
(#13). - If another program keeps Folio's update record open for minutes right
after an update, the new version runs without saving its changes, and the
next start puts the previous version back. - macOS: the first self-update makes macOS show its "…software was added
that can run in the background" notice for Folio's login item; it is
the updater's recovery entry and is removed once the update finishes.
Install notes (SmartScreen, Gatekeeper, checksums)
Windows
| asset | what it is |
|---|---|
folio-0.4.6-windows-x64.zip |
the ten files that belong together, in one folder — sha256:1370d289e7a6a79a3e30cf14443f135ca0a5e150e3db2c457dfd1441772c354b |
folio-windows-x64.zip |
the same archive under a name that does not change from one release to the next — the same sha256 |
SHA256SUMS.txt |
the hash of the archive under each of its two names and of the bill of materials, in the format sha256sum -c reads |
folio-0.4.6.cdx.json |
the CycloneDX bill of materials for what is in the build |
Unpack the zip wherever you keep programs and run folio.exe. There is no
installer; keep the extracted files together in one folder, and unpacking over an
older folder keeps your settings. Needs Windows 10 1809 or newer, or Windows
11, 64-bit. The web preview needs the WebView2 Runtime, which Windows 11
has and Windows 10 usually does.
Or, with Scoop:
scoop bucket add folio https://github.com/lulu-loopp/scoop-folio
scoop install foliofolio.exe and folio.msix are signed by Weiyi Shi, as they have been since
0.2.0, but a signature is not a reputation, so SmartScreen can still raise
"Windows protected your PC" on the first run: More info names Weiyi
Shi as the publisher, and Run anyway is the way through.
To check the download, with the zip and SHA256SUMS.txt in the same folder:
Get-FileHash folio-0.4.6-windows-x64.zip -Algorithm SHA256or, where sha256sum is available — Git Bash, WSL, Linux:
sha256sum -c SHA256SUMS.txtmacOS
| asset | what it is |
|---|---|
Folio-0.4.6-macos-arm64.dmg |
the application, signed and notarized — sha256:61bed11ca1946fb14878c1066db7eb4b581b30fe1251776be4ed82d3004dba70 |
Folio-macos-arm64.dmg |
the same image under a name that does not change from one release to the next — the same sha256 |
SHA256SUMS-macos.txt |
the hash of the image under each of its two names, in the format shasum -c reads |
Open the image and drag Folio to Applications. Needs an Apple silicon Mac
running macOS 14 or newer; there is no Intel build in this preview. Or, with
Homebrew:
brew install --cask lulu-loopp/folio/folioThe image and the application in it are signed with a Developer ID and notarized
by Apple. The first open puts up one panel naming the developer, with Open in
it; if it opens without offering Open, right-click the application and choose
Open instead, and it asks once and not again. A panel saying the developer
cannot be verified, or that Folio is damaged and can't be opened, means
what you have is not what was published — check it against the checksum file and
take it from the releases page again.
To check the download, with the image and SHA256SUMS-macos.txt in the same
folder:
shasum -c SHA256SUMS-macos.txtFolio has no telemetry, no analytics and no crash reporting. Two things reach
the network: a page you open in the web preview, and the update check with the
updates it downloads, which Settings ▸ General ▸ Update check switches off.
Full changelog: CHANGELOG.md · v0.4.5-preview…v0.4.6-preview
Folio 0.4.5-preview
Folio 0.4.5
Download: zip (Windows 10 1809+ / 11, 64-bit) · dmg (macOS 14+, Apple silicon)
下载: 上方 zip 与 dmg 即为完整下载,其余为校验和、物料清单与源码。中文版发布说明
Highlights
- Typing stays quick: the window no longer stops to ask Windows where it is
or about the taskbar, to pass on a changing title, to list every font or to
move the input method's candidate window, and once you have used web pages
in Folio, the first one after launch can appear in a fraction of a second. - Each terminal pane can have its own text size: Ctrl+= and Ctrl+- (⌘ on a
Mac) or Ctrl+wheel over the pane, and Ctrl+0 to reset. - Bold text in a terminal font with no bold style is drawn heavier in that
same font, and bold Chinese text no longer leaves single characters at
regular weight. - Tooltips, cards, menus and other fading surfaces fade as one piece.
- Unsaved edits are safe: closing a window while it asks about unsaved
changes no longer discards them, and keys, pastes and clicks no longer
reach what is under the "reopen your other tabs" card.
Changes
Added
- Each terminal pane can have its own text size: Ctrl+= and Ctrl+- (⌘ on a
Mac) or Ctrl+wheel over the pane, Ctrl+0 to reset. The pane shows the size
while it is not 100 %; it resets when Folio restarts.
Changed
- The first web page you open after launch can appear in a fraction of a
second: once you have opened web pages in Folio, it gets one ready while
idle. - Tooltips, cards, menus and other fading surfaces fade as one piece; their
edges and text no longer arrive before their plates. - Bold text in a terminal font with no bold style is drawn heavier in that
same font. - Search, video controls, notices, toasts, tab previews, restore lists and
close buttons use the same text sizes, spacing and corners as the rest of
the window. - The download notice looks like the other dialogs and floating notices.
- Right-click and drop-down menus use the same icon-to-label spacing as
Settings. - The first-run card uses the same edge spacing and title line height as
other dialogs. - Command palette rows use the same corners and icon spacing as other lists.
- Pane heads, files bars and floating windows share the standard spacing,
captions, icons and controls. - Settings key caps, profile badges, navigation spacing, bottom padding and
menu-button corners match their counterparts elsewhere. - The Git panel and graph match the rest of the window in spacing, corners,
captions, badges and icons. - The glance card's head, the drag tag and the peek tag match the other
floating tags. - A web pane on Windows uses the system's overlay scrollbars.
- When a web page opening holds Folio for half a second or more,
diagnostics.lognames the step that took the time. - On upgrade, Folio updates the PSReadLine copy it installed earlier by
itself; copies you installed are left alone.
Fixed
- Typing with an input method no longer pauses while Folio moves the
candidate window. - Folio no longer pauses to ask Windows about the taskbar while you type.
- Typing no longer pauses while Folio asks Windows where its window is; it
asks once a turn. - A program that keeps changing its window title no longer slows typing.
- Typing in the find box stays quick in a pane with a long history; matches
further back fill in over the next few frames. - A launch with a chosen terminal font no longer waits for Folio to list
every font on the machine. - A font installed while Folio is running shows up in the font lists the next
time Settings opens. - A terminal font with no bold style no longer switches to another font's
bold for bold text. - Bold Chinese text no longer leaves single characters at regular weight.
- Keys, pastes, clicks and the wheel no longer reach what is under the
"reopen your other tabs" card; Esc puts the card away, and the next launch
asks again. - The wheel no longer scrolls a pane under the other dialogs.
- Closing a window while it is still asking about unsaved changes no longer
discards them.
Known issues
- When the GPU or the display driver stalls, the picture can freeze for a
moment while you type; the input itself keeps up, and the frozen picture
catches up at once. - In a profile that has never opened a web page, the first web page still
takes a couple of seconds to appear; after that, and in profiles that have
used web pages, it is warm.
Install notes (SmartScreen, Gatekeeper, checksums)
Windows
| asset | what it is |
|---|---|
folio-0.4.5-windows-x64.zip |
the ten files that belong together, in one folder — sha256:91c1a8bf5e0c09500c44aea2a78fe51258377486084b62027896ef45ceed2c98 |
folio-windows-x64.zip |
the same archive under a name that does not change from one release to the next — the same sha256 |
SHA256SUMS.txt |
the hash of the archive under each of its two names and of the bill of materials, in the format sha256sum -c reads |
folio-0.4.5.cdx.json |
the CycloneDX bill of materials for what is in the build |
Unpack the zip wherever you keep programs and run folio.exe. There is no
installer; keep the extracted files together in one folder, and unpacking over an
older folder keeps your settings. Needs Windows 10 1809 or newer, or Windows
11, 64-bit. The web preview needs the WebView2 Runtime, which Windows 11
has and Windows 10 usually does.
Or, with Scoop:
scoop bucket add folio https://github.com/lulu-loopp/scoop-folio
scoop install foliofolio.exe and folio.msix are signed by Weiyi Shi, as they have been since
0.2.0, but a signature is not a reputation, so SmartScreen can still raise
"Windows protected your PC" on the first run: More info names Weiyi
Shi as the publisher, and Run anyway is the way through.
To check the download, with the zip and SHA256SUMS.txt in the same folder:
Get-FileHash folio-0.4.5-windows-x64.zip -Algorithm SHA256or, where sha256sum is available — Git Bash, WSL, Linux:
sha256sum -c SHA256SUMS.txtmacOS
| asset | what it is |
|---|---|
Folio-0.4.5-macos-arm64.dmg |
the application, signed and notarized — sha256:7052892ef8343085e4c7be8b46392089abc55956ade37458c9ad686e2ef79b53 |
Folio-macos-arm64.dmg |
the same image under a name that does not change from one release to the next — the same sha256 |
SHA256SUMS-macos.txt |
the hash of the image under each of its two names, in the format shasum -c reads |
Open the image and drag Folio to Applications. Needs an Apple silicon Mac
running macOS 14 or newer; there is no Intel build in this preview. Or, with
Homebrew:
brew install --cask lulu-loopp/folio/folioThe image and the application in it are signed with a Developer ID and notarized
by Apple. The first open puts up one panel naming the developer, with Open in
it; if it opens without offering Open, right-click the application and choose
Open instead, and it asks once and not again. A panel saying the developer
cannot be verified, or that Folio is damaged and can't be opened, means
what you have is not what was published — check it against the checksum file and
take it from the releases page again.
To check the download, with the image and SHA256SUMS-macos.txt in the same
folder:
shasum -c SHA256SUMS-macos.txtFolio has no telemetry, no analytics and no crash reporting. Two things reach
the network: a page you open in the web preview, and the update check, which
Settings ▸ General ▸ Update check switches off.
Full changelog: CHANGELOG.md · v0.4.4-preview…v0.4.5-preview
Folio 0.4.4-preview
Folio 0.4.4
Download: zip (Windows 10 1809+ / 11, 64-bit) · dmg (macOS 14+, Apple silicon)
下载: 上方 zip 与 dmg 即为完整下载,其余为校验和、物料清单与源码。中文版发布说明
Highlights
- Pasting several lines no longer runs them before you have looked: in
PowerShell they wait on the input line for Enter, and in cmd a small card
asks whether to run them line by line or join them into one. - Ctrl+click on a network-share path, or on a
mailto:,vscode:or other
link, hands it to Windows or macOS, and handing a file over no longer holds
the window while Windows starts the program. - Settings export to one file and import on another machine, from
Settings ▸ About, beside a button that opens the settings folder. - A finger slid over a pane scrolls it, with the system's own flick.
- Web panes follow Folio's light or dark theme.
Changes
Multi-line paste
- A multi-line paste into PowerShell lands on the input line and waits there
for Enter. - In a shell that would run the lines one by one, such as cmd, a card asks
first: Run line by line, Join, or cancel. A setting under
Terminal turns the question off. - The card works like any two-button dialog: Tab and Shift+Tab move between
the buttons, Enter presses the highlighted one, Esc cancels. - When the block is one command wrapped across lines — each line but the last
ending in^in cmd, a backtick in PowerShell or\in a Unix shell —
Enter joins it into one line and drops those marks. - The card's title no longer runs under its × button, and a very long
profile name is shortened with an ellipsis.
Links and hand-offs
- Ctrl+click on a network-share path, or on a
mailto:,vscode:or other
link, hands it to Windows or macOS. Links inside a previewed document do
the same. - Ctrl+click no longer freezes the window while Windows opens the file, and
Explorer comes to the front. - The ↗ on a web pane showing an
httporhttpspage opens that page in
your browser; it used to do nothing. - A local HTML page in the preview can load its stylesheets, scripts and
fonts from the web. - A printed path with spaces in it is a link when the file is there, quoted
or not. - A relative path followed by a full-width colon, comma or stop
(plot.png:…,notes.md。18 items) is a link again when the file is there. - A folder printed with a slash on the end (
models/) is a link, and
clicking it shows the folder.
Touch
- Sliding a finger over a pane scrolls it, with the system's own flick; a
one-finger slide no longer selects text. - A touch screen, or a remote-desktop tool that sends touch, reaches Folio the
way it reaches other Windows programs: a tap is a click, and press-and-hold
opens the menu.
Glance card and ⌄ menus
- The glance card's bottom line is the file's folder, lit under the pointer:
click it to find the file in the files column, Ctrl+click to show it in
Explorer. - A ⌄ menu you click stays open until you press Esc, click elsewhere or click
the ⌄ again; resting on it still shows it only while the pointer is there.
Settings
- Settings ▸ About has Export…, Import… and the settings folder; every
link on that page is now a button, all of one size. - A shortcut can use Ctrl with a letter; the row notes that the key no longer
reaches the shell. - The Cards setting named the wrong shortcut on macOS and after a rebind.
Web panes
- Web panes follow Folio's light or dark theme, and a setting can pin either.
- A site's icon that would disappear into the bar it sits on gets a small
round plate.
Terminal and preview
- The command marks down a pane's right edge keep a column of their own and no
longer cover the last column of text. - In a Markdown preview you are editing, every block a selection touches shows
its Markdown; a table the selection only passes through stays rendered. The
blocks change when you let go of the mouse, not while you drag, and a
selection across the block being edited highlights it too. - A zoomed picture in a floating window can be dragged to pan it, and a
double-click zooms it in or out, as in a pane. - While a divider is dragged, the pane under the pointer keeps its rounded
top-right corner. - Heads, menus, the command palette, the Git page and Settings share one set
of sizes, so their titles, rows and buttons line up across the window.
macOS
- The Git page finds git.
- The Dark scheme row no longer names a Windows folder.
- The Option key row in Settings ▸ General explains itself in two lines.
Stability
- On a slow disk, turning on PowerShell integration from the welcome card no
longer reports a lock error when everything was written.
Known issues
- Typing can stall for 1–2 seconds while the GPU is busy. A fix is scheduled.
- Opening a web page holds the window for a few seconds the first time. A fix
is scheduled.
Install notes (SmartScreen, Gatekeeper, checksums)
Windows
| asset | what it is |
|---|---|
folio-0.4.4-windows-x64.zip |
the ten files that belong together, in one folder — sha256:4896c85c823d92ab99088820ebc16bcbb43e3c7f112be581255b8491ec9fc359 |
folio-windows-x64.zip |
the same archive under a name that does not change from one release to the next — the same sha256 |
SHA256SUMS.txt |
the hash of the archive under each of its two names and of the bill of materials, in the format sha256sum -c reads |
folio-0.4.4.cdx.json |
the CycloneDX bill of materials for what is in the build |
Unpack the zip wherever you keep programs and run folio.exe. There is no
installer; keep the extracted files together in one folder, and unpacking over an
older folder keeps your settings. Needs Windows 10 1809 or newer, or Windows
11, 64-bit. The web preview needs the WebView2 Runtime, which Windows 11
has and Windows 10 usually does.
Or, with Scoop:
scoop bucket add folio https://github.com/lulu-loopp/scoop-folio
scoop install foliofolio.exe and folio.msix are signed by Weiyi Shi, as they have been since
0.2.0, but a signature is not a reputation, so SmartScreen can still raise
"Windows protected your PC" on the first run: More info names Weiyi
Shi as the publisher, and Run anyway is the way through.
To check the download, with the zip and SHA256SUMS.txt in the same folder:
Get-FileHash folio-0.4.4-windows-x64.zip -Algorithm SHA256or, where sha256sum is available — Git Bash, WSL, Linux:
sha256sum -c SHA256SUMS.txtmacOS
| asset | what it is |
|---|---|
Folio-0.4.4-macos-arm64.dmg |
the application, signed and notarized — sha256:ac51d0ec08e54855db1e0dd4eefe5d64fd9def924c3f9507c4f54f275d65716e |
Folio-macos-arm64.dmg |
the same image under a name that does not change from one release to the next — the same sha256 |
SHA256SUMS-macos.txt |
the hash of the image under each of its two names, in the format shasum -c reads |
Open the image and drag Folio to Applications. Needs an Apple silicon Mac
running macOS 14 or newer; there is no Intel build in this preview. Or, with
Homebrew:
brew install --cask lulu-loopp/folio/folioThe image and the application in it are signed with a Developer ID and notarized
by Apple. The first open puts up one panel naming the developer, with Open in
it; if it opens without offering Open, right-click the application and choose
Open instead, and it asks once and not again. A panel saying the developer
cannot be verified, or that Folio is damaged and can't be opened, means
what you have is not what was published — check it against the checksum file and
take it from the releases page again.
To check the download, with the image and SHA256SUMS-macos.txt in the same
folder:
shasum -c SHA256SUMS-macos.txtFolio has no telemetry, no analytics and no crash reporting. Two things reach
the network: a page you open in the web preview, and the update check, which
Settings ▸ General ▸ Update check switches off.
Full changelog: CHANGELOG.md · v0.4.3-preview…v0.4.4-preview
Folio 0.4.3
Folio 0.4.3
Download: zip (Windows 10 1809+ / 11, 64-bit) · dmg (macOS 14+, Apple silicon)
下载: 上方 zip 与 dmg 即为完整下载,其余为校验和、物料清单与源码。中文版发布说明
Highlights
- Folio no longer reads its own PowerShell module off the disk for the whole of
a session — 0.4.2 does it too, and restarting was the only way to stop it. - Chinese in the terminal is drawn in a family you choose, and on Windows the
one Folio now asks for by name is NSimSun. - One command takes everything Folio wrote outside its own folder back off the
machine, and on Windows a double-click does the same. - Saving a document in the preview editor keeps what the file was carrying — a
download's mark, its permissions, its times — as well as replacing its bytes. - A page or a PDF under a path with Chinese in it opens in the preview instead
of being turned away.
Changes
Added
folio --uninstall-cleanupundoes what Folio wrote outside its own
folder — the$PROFILEline, the agent hooks, the Explorer entries, the
PSReadLine module — without opening a window, and reports each result;
--purgealso deletes settings, sessions and browser data.uninstall.cmd, besidefolio.exein the Windows archive, is that same
command by double-click.- Settings ▸ Terminal ▸ Chinese font: Automatic, or any installed Chinese,
Japanese or Korean family, without changing the monospace face used for ASCII. folio --remove-shell-integrationtakes Folio's line out of your PowerShell
$PROFILE, without a window.folio --remove-explorer-menutakes Folio out of Explorer's right-click menu,
both entries, without a window.- A repair for the row breaks a coding agent's own redraw eats, so a matrix
arrives as a matrix; it never changes what copying the formula gives you. docs/recovery-after-deleting-folio.md, for anyone who deleted an older Folio
by hand.
Changed
- A save in the preview editor keeps the file's streams, permissions,
attributes and times; content is guaranteed and the rest is best effort, and
the changelog states each limit — a hard-linked file's second name still reads
the old bytes, and a crash between the two halves of the replacement can leave
the old document beside the new one. - Folio installs its PSReadLine module only where the place is empty or its own,
and removes only the files it wrote. 0.4.2 and every version before it could
write over a PSReadLine you had installed yourself; the changelog says how to
tell whether that happened to you, and what to do about it. - Folio's
$PROFILEline is one guarded form, silent when the script is
missing, and existing installs are rewritten at start-up. - An agent hook is owned by the
folio.exeit names: Folio touches its own and
dead ones, leaves another live copy's alone, and asks before taking one over.
Updating hooks may reformat that agent's JSON settings; a dated backup is kept. - The offer to switch the PowerShell integration on asks whether you already
have it, not whether Folio wrote it. - On Windows the terminal's Chinese family is NSimSun by default and never
changes with the weight asked for; proportional text keeps its own chain and
names it. - The window thread never asks a filesystem about a path a program printed.
- A stall line names the call that took the time and carries the window thread's
own CPU time beside the wall time. diagnostics.lognames the GPU Folio asked for beside the one it got, and
BT_GPU_PREFERENCE=lowasks a two-GPU laptop for the integrated adapter for
one run.- Three diagnostics lines are always on — a window that has shown no new picture
for over a second, a minute of heavy reading with no input from you, and a
broken input-method composition — and none of them carries anything you typed. BT_IME_TRACEno longer records composed or committed text at all; older
builds did.
Fixed
- Folio no longer re-reads its installed PSReadLine module on every turn of the
event loop once a PowerShell pane has reported its version or the Terminal
settings page has been opened. Present in 0.4.2, where restarting was the
only relief; the changelog has the whole account. - A frame a program held inside a synchronized update is no longer lost when the
window is resized, and ending such a block keeps the escape sequence it
interrupted. - The key that redraws your prompt is sent only to a prompt the shell opened in
order, so output carrying the marks a shell prints is no longer typed into
whatever was really running. - Hovering or clicking a printed path makes no filesystem call on the window
thread, so a path on a slow or disconnected share no longer freezes the
window; a name that is gone says "not found"; a name the disk refused is asked
about again when the program prints it again; and a link under a resting
pointer answers the first click. - The Settings page is laid out when its content changes, not when the pointer
moves. - A formula's two marks are placed from the frame being drawn, and stop moving
when the block lands. - A focused pane is no longer sent an opening focus report, which arrived at the
prompt as^[[I. - A waiting card's halo keeps its whole outset at the edge of the list, and the
dot on it pulses. - A zoomed pane's name no longer sits under the zoom mark, and a preview pane too
narrow for its switcher neither draws it nor takes the keyboard. - A bold Chinese cell keeps the chosen family; an italic request on an
upright-only family stays italic. - Chinese terminal text is named rather than found: on Windows the terminal asks
for NSimSun, and proportional text no longer falls through to SimSun at a
medium weight (#10). - A row end inside
\text{…}, a line end inside\begin{equation}and a nested
\begin{array}{cc}are repaired correctly. - A local
file:address is read as the file it names, so a page or PDF under a
path holding Chinese opens (#7). - Pasting a screenshot copies one shape of the picture instead of all of them,
and a clipboard picture's shape is checked before it is decoded. - macOS: a second Folio started at the same instant no longer keeps a window
whose session is discarded, and a preview goes to the last address it was
given. - An idle window lets the event loop sleep.
- A PowerShell script is highlighted in the preview.
diagnostics.logalways opens with the line naming the build that wrote it.
Known issues
- Some Chinese input methods can lose a word mid-composition when the machine
hitches; the cause is identified, it is not fixed in this release, and
diagnostics.lognow names the moment it happens. - When the desktop compositor stalls, typing stalls with it for as long as the
compositor takes. Not fixed in this release. - Windows: handing a file to its default program with Ctrl+click holds the
window for about a second while Windows starts it. - A printed path with a space in it is a link only when the program quoted it.
- Bold Chinese in the terminal is drawn at regular weight when the chosen family
has no bold cut — NSimSun, the Windows default, has none. - A drawn table comes down when its header row sits just above the viewport;
scroll the heading back into view and it is drawn again. - The note the web preview shows after answering a page's message box is hidden
behind the page, which is answered and goes on running. - A window saved on a monitor that enumerates late comes back on the primary
display. - Windows: Folio cannot be a panel inside Visual Studio Code;
folio-here.cmd
in the archive makes it the external terminal VS Code opens instead. - Windows:
.webmneeds the VP9 or AV1 Video Extension from the Microsoft
Store; without one there is no still and no playback. - macOS: a run that ends in a crash leaves its report where the system puts every
one, and the next Folio names the file in its own log rather than copying it
anywhere.
Install notes (SmartScreen, Gatekeeper, checksums)
Windows
| asset | what it is |
|---|---|
folio-0.4.3-windows-x64.zip |
the ten files that belong together, in one folder — sha256:3ed45c648304be9734ad6130a5075c3a63ede8d6dd5cbb487774fe85cb45cf19 |
folio-windows-x64.zip |
the same archive under a name that does not change from one release to the next — the same sha256 |
SHA256SUMS.txt |
the hash of the archive under each of its two names and of the bill of materials, in the format sha256sum -c reads |
folio-0.4.3.cdx.json |
the CycloneDX bill of materials for what is in the build |
Unpack the zip wherever you keep programs and run folio.exe. There is no
installer; keep the extracted files together in one folder, and unpacking over an
older folder keeps your settings. Needs Windows 10 1809 or newer, or Windows
11, 64-bit. The web preview needs the WebView2 Runtime, which Windows 11
has and Windows 10 usually does.
Or, with Scoop — asked for as issue #9:
scoop bucket add folio https://github.com/lulu-loopp/scoop-folio
scoop install foliofolio.exe and folio.msix are signed by Weiyi Shi, as they have been since
0.2.0, but a signature is not a reputation, so SmartScreen can still raise
"Windows protected your PC" on the first run: More info names Weiyi
Shi as the publisher, and Run anyway is the way through.
To check the download, with the zip and SHA256SUMS.txt in the same folder:
Get-FileHash folio-0.4.3-windows-x64.zip -Algorithm SHA256or, where sha256sum is available — Git Bash, WSL, Linux:
Folio 0.4.2
Folio 0.4.2
Download: zip (Windows 10 1809+ / 11, 64-bit) · dmg (macOS 14+, Apple silicon)
下载: 上方 zip 与 dmg 即为完整下载,其余为校验和、物料清单与源码。中文版发布说明
Highlights
- Drop a file onto a split, or paste a screenshot you have just taken, and its
path arrives on the command line, quoted for the shell running there; a file
dragged out of the files column into the middle of a terminal does the same,
and its edges still open a pane. - A typeset formula stays typeset: it no longer flashes back to its
$$…$$
source while a program repaints the screen, and an older one no longer comes
back as plain text when you resize the window. An inline formula is typeset
even when its picture is ready after the prompt has come back — the first
catof a fresh window included — and your prompt is never typeset, whatever
it says. - A formula a program prints cannot harm the window it is printed in: one nested
too deeply or asking for too large a table is refused and left as text, a
formula cannot run a program, and one that cannot be drawn no longer takes the
whole window with it. - Typing and the pointer stay responsive: a picture that has not changed is not
drawn again, a wheel notch that moves nothing no longer publishes a frame, and
resizing no longer copies every pane's whole history twice before it draws. - Reordering or deleting a profile no longer closes the window or starts the
wrong shell, and an agent's configuration file Folio cannot read is left
exactly as you wrote it instead of being written over. - Losing the graphics device — a power cut that puts a laptop on battery, a
driver updating itself — no longer closes Folio and every shell in it; the
window asks for the device again and draws on the new one. - On a Mac, a tab can be dragged to reorder it or out into its own window again,
and Shift+wheel reads the rows a formula pushed above the pane; on both
systems, quitting no longer waits for ever on a disk that has stopped
answering.
Changes
Added
- Dropping a file onto Folio puts its path on the command line — on the
split you dropped it on, spelled for the shell running there, several files on
one line. - A picture on the clipboard pastes as the path of a file Folio writes for
it, so a screenshot can be handed straight to a command. - Dragging a file from the files column into the middle of a terminal pastes
its path; the box under the hand says so before you let go, and the edges
still open the file as a pane.
Changed
- Folio's own log now names the kind of event a window was answering when it
stopped answering, so a report about a freeze says where the time went.
Fixed
- Formulas no longer flash back to their source while you scroll inside a
full-screen program, and a window dragged back to the size it started at no
longer leaves its formulas untypeset. - Motion in a window is drawn once per display frame, so a formula turning
over and the two marks beside it move evenly instead of in bursts — on Windows
most of all — and a formula's highlight leaves as soon as the pointer does. - An inline formula in a command's output is typeset even when its picture is
ready after the prompt has come back, and a wrapped one stays typeset when
the window's width changes. - Your prompt is never typeset as mathematics, whatever it says and wherever
on the screen it is redrawn. - Formulas printed after a full-screen program exits are typeset again.
- A formula is no longer taken down by its neighbour's result, and a
screenful of formulas all at once no longer leaves the first few as source. - Dragging a window edge no longer lets a formula swallow the line under it.
- Two lines with the same formulas in them no longer show each other's
picture. - A formula block that had partly scrolled into the history is no longer cut
off by the line after it. - Clicking a command's mark beside the scroll bar goes to that command every
time, also when a formula is on screen. - Right-clicking a formula copies that formula, not one from the pane you
were typing in. - A formula nested past what Folio can draw, or a table of mathematics too big
to draw, is refused and left as text rather than ending the program. - A formula cannot run a program, and one formula that cannot be drawn no
longer takes the whole window with it. - The keyboard follows a dropped path: the terminal that receives it takes
the keyboard, a file from another program brings Folio to the front, and a
drop under a dialog, or on nothing that is a terminal, is typed nowhere. - Text being composed in an input method is never committed into a different
pane from the one it was begun in. - Losing the graphics device no longer closes Folio. The half-prepared
picture is dropped, the device is asked for again, and the window draws
everything it was saying on the new one. - A dropped file lands in the terminal you dropped it on, even when Folio
is busy or you were last hovering somewhere else: the position is read at the
instant the file is released. - Closing a pane or a tab no longer pauses the window while the program in
it is being shut down. - On a Mac, Shift+wheel scrolls the rows a typeset formula pushed above the
pane, and scrolls sideways the way it has always gone on Windows. - Closing Folio no longer waits for ever on a disk that has stopped
answering. - Closing a pane whose reader is stuck no longer hangs the window.
- An agent configuration file Folio cannot read is left exactly as it is
instead of being written over. - A picture that has not changed is no longer drawn again.
- Reordering or deleting a profile no longer closes the window, and no
longer leaves a pane running a profile you did not choose. - On a Mac, a second Folio started from a terminal hands over instead of
becoming a second writer of your settings and your saved session. - On a Mac, a keyboard shortcut that is not Folio's own is left to whoever was
waiting for it. - On a Mac, a video left playing no longer builds up memory for as long as
it is open. - A Markdown file too big to edit now shows the file's current first screen
whenever the file is written. - A formula broken across two lines by a program that wraps its own text is
now typeset. - An inline formula in earlier output stays typeset when the window is
resized. - A typeset formula no longer flashes back to its source while a program
repaints the screen. - Maximising or resizing a window no longer pauses when a pane has a long
history behind it. - The tinted block behind a formula's source now stops where the text does.
- On a Mac, a tab can be dragged to reorder it or out into its own window;
the window moves when the empty part of the header is dragged. - A Markdown line beginning with an angle bracket and carrying non-ASCII text
no longer crashes the preview. - Showing a formula's source applies to that one formula on the screen, and
not to every copy of the same text afterwards. - A wheel notch at the end of a pane no longer asks for a frame that would be
the same one. - A traced run no longer pauses when whatever is reading the trace falls
behind.
Install notes (SmartScreen, Gatekeeper, checksums)
Windows
| asset | what it is |
|---|---|
folio-0.4.2-windows-x64.zip |
the nine files that belong together, in one folder — sha256:7e8dc605cc9c2a0a2718e2ddceedca8eacdc531460714d5cb516840546d3e079 |
folio-windows-x64.zip |
the same archive under a name that does not change from one release to the next — the same sha256 |
SHA256SUMS.txt |
the hash of the archive under each of its two names and of the bill of materials, in the format sha256sum -c reads |
folio-0.4.2.cdx.json |
the CycloneDX bill of materials for what is in the build |
Unpack the zip wherever you keep programs and run folio.exe. There is no
installer; keep the extracted files together in one folder, and unpacking over an
older folder keeps your settings. Needs Windows 10 1809 or newer, or Windows
11, 64-bit. The web preview needs the WebView2 Runtime, which Windows 11
has and Windows 10 usually does.
folio.exe and folio.msix are signed by Weiyi Shi, as they have been since
0.2.0, but a signature is not a reputation, so SmartScreen can still raise
"Windows protected your PC" on the first run: More info names Weiyi
Shi as the publisher, and Run anyway is the way through.
To check the download, with the zip and SHA256SUMS.txt in the same folder:
Get-FileHash folio-0.4.2-windows-x64.zip -Algorithm SHA256or, where sha256sum is available — Git Bash, WSL, Linux:
sha256sum -c SHA256SUMS.txtmacOS
| asset | what it is |
|---|---|
Folio-0.4.2-macos-arm64.dmg |
the application, signed and notarized — sha256:cf39c61430e36a1c80d8744fec9fb0eaa8b68df91c1780cb737e4e425a750dd9 |
Folio-macos-arm64.dmg |
the same image under a name that does not change from one release to the next — the same sha256 |
SHA256SUMS-macos.txt |
the hash of the image under each of its two names, in the format shasum -c reads |
Open the image and drag Folio to Applications. Needs an Apple silicon Mac
running macOS 14 or newer; there is no Intel build in this preview. Or, with
Homebrew:
brew install --cask lulu-loopp/folio/folioThe image and the application in it are signed with a Develope...
Folio 0.4.1
Folio 0.4.1
Download: zip (Windows 10 1809+ / 11, 64-bit) · dmg (macOS 14+, Apple silicon)
下载: 上方 zip 与 dmg 即为完整下载,其余为校验和、物料清单与源码。中文版发布说明
Highlights
- Paste a file you copied in Explorer or Finder and it arrives as one quoted
argument, spelled the way the shell in that pane spells a path. - Text that arrives with no keystroke behind it — from a phone keyboard, from
dictation, from a program that types on your behalf — now lands wherever you
are typing. - Typing stays responsive while a pane prints a lot, searching while it prints
no longer pauses, and Settings opens the moment you click the gear, however
many fonts are installed. A new About page says which Folio this is and where
to read the notes, report a defect or read the licences. - A typeset formula now stands in a block with room around it, and turning it
between the picture and its source grows or shrinks into place instead of
jumping. - On a Mac, an idle window no longer burns a core, Folio quits from an empty desk, a shortcut in the files column opens
what it points at instead of running it, and a previewed page is only called
guarded when it really is.
Changes
Added
- Settings has an About page, carrying the version and the build this copy
came from, the system it was made for, and rows that open the release notes,
the place a defect is filed, and the licences of everything Folio is made of. - A copied file or path pastes as one quoted argument, spelled the way the
shell in that pane spells one.
Changed
- A typeset formula sits in a block with room around it — blank lines above
and below, a clear column on each side, and its two marks inside it at the
right edge. - Switching a formula between its typeset and source forms animates instead
of jumping, and still happens in a single frame if you have asked your system
to reduce motion. - The release page also carries each download under a fixed name, so a link
to the latest build never goes stale. - Both checksum files can be checked in the folder you downloaded into,
without anything being edited first. - Two files moved out of the top of the repository; a fork that names one by
path updates the path. - The gates that compile now all compile the same thing, so a script run
after a green gate has nothing left to build.
Fixed
- Typing stays responsive while a pane prints a lot. A build log or a long
answer scrolling past no longer holds the window for seconds at a time. - With the search box open, typing while a pane is printing no longer pauses
while the whole history is searched again. - On a Mac, an idle window no longer keeps a processor core busy.
- On a Mac, a covered or hidden window no longer keeps drawing at full speed,
and the pictures it prepared while hidden no longer pile up on the GPU. - Text sent from a phone keyboard, or by a program that types for you, now
reaches the terminal, and lands wherever you are typing. - Opening Settings no longer freezes the window on a machine with a lot of
fonts installed. - Copying a formula no longer leaves the window busy for as long as it stays
open. - Turning a formula into its source no longer hesitates when there is a long
history behind you. - A formula whose macros expand without end is refused instead of exhausting
memory. - A formula's two marks stay with the formula when you switch tabs, close a
pane, or point at a pane that is not the focused one. - Inner products and bra-kets written with angle brackets now typeset.
- Aiming a card's window with the wheel keeps up with the hand over a pane
with a long history. - On a Mac, Folio can be quit with no window open.
- On a Mac, opening a shortcut from the files column opens what it points at,
and refuses one that leads to a program. - On a Mac, a previewed page is only reported as guarded when its own rules
are on it. - On a Mac, Folio carries the two licences, the third-party notices and the
trademark notice inside the application.
Install notes (SmartScreen, Gatekeeper, checksums)
Windows
| asset | what it is |
|---|---|
folio-0.4.1-windows-x64.zip |
the nine files that belong together, in one folder — sha256:00e1cdce977cd80176e63b73b64bb72105352ebed7bf065402a7b65fe31f90fd |
folio-windows-x64.zip |
the same archive under a name that does not change from one release to the next — the same sha256 |
SHA256SUMS.txt |
the hash of the archive under each of its two names and of the bill of materials, in the format sha256sum -c reads |
folio-0.4.1.cdx.json |
the CycloneDX bill of materials for what is in the build |
Unpack the zip wherever you keep programs and run folio.exe. There is no
installer; keep the extracted files together in one folder, and unpacking over an
older folder keeps your settings. Needs Windows 10 1809 or newer, or Windows
11, 64-bit. The web preview needs the WebView2 Runtime, which Windows 11
has and Windows 10 usually does.
folio.exe and folio.msix are signed by Weiyi Shi, as they have been since
0.2.0, but a signature is not a reputation, so SmartScreen can still raise
"Windows protected your PC" on the first run: More info names Weiyi
Shi as the publisher, and Run anyway is the way through.
To check the download, with the zip and SHA256SUMS.txt in the same folder:
Get-FileHash folio-0.4.1-windows-x64.zip -Algorithm SHA256or, where sha256sum is available — Git Bash, WSL, Linux:
sha256sum -c SHA256SUMS.txtmacOS
| asset | what it is |
|---|---|
Folio-0.4.1-macos-arm64.dmg |
the application, signed and notarized — sha256:5e01fca25218abb30ec94f04a915edfa01c3c8754cc62ecf806f9806e03db20d |
Folio-macos-arm64.dmg |
the same image under a name that does not change from one release to the next — the same sha256 |
SHA256SUMS-macos.txt |
the hash of the image under each of its two names, in the format shasum -c reads |
Open the image and drag Folio to Applications. Needs an Apple silicon Mac
running macOS 14 or newer; there is no Intel build in this preview. Or, with
Homebrew:
brew install --cask lulu-loopp/folio/folioThe image and the application in it are signed with a Developer ID and notarized
by Apple. The first open puts up one panel naming the developer, with Open in
it; if it opens without offering Open, right-click the application and choose
Open instead, and it asks once and not again. A panel saying the developer
cannot be verified, or that Folio is damaged and can't be opened, means
what you have is not what was published — check it against the checksum file and
take it from the releases page again.
To check the download, with the image and SHA256SUMS-macos.txt in the same
folder:
shasum -c SHA256SUMS-macos.txtFolio has no telemetry, no analytics and no crash reporting. Two things reach
the network: a page you open in the web preview, and the update check, which
Settings ▸ General ▸ Update check switches off.
Full changelog: CHANGELOG.md · v0.4.0-preview…v0.4.1-preview
Folio 0.4.0
Folio 0.4.0-preview
Download: zip (Windows 10 1809+ / 11, 64-bit) · dmg (macOS 14+, Apple silicon)
下载: 上方 zip 与 dmg 即为完整下载,其余为校验和、物料清单与源码。中文版发布说明
0.4 is the first release for two systems. Folio runs on macOS: the same program,
built for Apple silicon, asking for macOS 14 or newer, with the panes, the files
column, the Git page and the preview that were already there — and where the two
systems differ it follows the one it is on, so the chords are Command chords, the
menu bar is a real one, the window wears the three buttons macOS draws, a key
summons the terminal from any application, and a settings file written on either
machine is read by both. The other half is the Markdown preview under a very
large document. A file now opens complete and can be typed into at once, up to
the 8 MB editing ceiling — the Read-only · 64 KB head that made an editable
file look read-only is gone — and neither opening it nor typing in it waits on
the whole document any longer: a three-megabyte file that took about 3.4 seconds
to show its first block shows it in a tenth of a second, and a caret move inside
a paragraph, which used to rescan every line in the file, is no longer
measurable.
What changed
Added
- Folio runs on macOS, built for Apple silicon and asking for macOS 14 or
newer: the same panes, files column, Git page and preview pane, several
windows coming back where they were left, and an agent that still says when it
has finished — with Command chords on the Shortcuts page, the window buttons
macOS draws, a real menu bar, and one settings file both machines read. - On a Mac, a key summons the terminal from anywhere.
Ctrland the
backtick key brings the quick terminal down over any application and puts it
away again; it is an ordinary row on the Shortcuts page, it needs no
permission from macOS, and Windows keepsWinand the backtick unchanged. - On a Mac, Folio's Dock icon offers a new window and a new tab. Press and
hold the icon, or right-click it, and both stand above the rows macOS puts
there — they work from another application and with every window closed.
Changed
- On a Mac, the Appearance page no longer offers Acrylic. Folio does not
blur what sits behind a window on macOS, so the row is gone rather than greyed
atOff; Windows is unchanged, and a settings file shared between the two
keeps the value either way. - A Markdown file opens complete, and is editable at once. The whole file is
read on the first open, up to the 8 MB editing ceiling, so the document
scrolls to its end and the caret can go in immediately; theRead-only · 64 KB
badge is gone, a file over the ceiling keeps a head on screen and the badge
says its real size, and text, CSV and diffs keep their bounded first read. - Opening a very large Markdown document is immediate. Only the blocks near
the viewport are measured and the rest estimated from their line counts, each
estimate corrected as it scrolls into view, with an anchor holding the text
under your eye still while the heights above it settle: on a three-megabyte
file the open went from about 3.4 seconds to a tenth of one. - Moving the caret and typing in a very large Markdown document no longer
waits on the whole document. The document is shared rather than copied on
every keystroke, undo is derived from the edit itself, and the line index and
widths are kept up to date incrementally; on that same file a keystroke went
from 143 to 66 milliseconds and a caret move inside a paragraph to nothing
measurable. - Badges in a Markdown preview stand in a row instead of one under another. A
web picture written in a line with anything else on it is now a small chip
carrying its alt text, wrapping like a word among the words, so four badges at
the top of a README no longer become four full-width cards; a picture alone in
its own paragraph still gets the card, and pictures on your disk are unchanged. - A changed file in the Git page says what happened to it in words. Every
status git can report now has a phrase —Modified,Added, staged,
Conflict (both modified)— with git's own two letters beside it, on a row and
on the files under an expanded commit. - The card that appears when you rest on a file now fades in, over the same
ninety milliseconds the small labels elsewhere take, without moving or growing;
the wait before it is unchanged, and reduced motion still gets it instantly. - The top bar takes the hand anywhere it is not a button. The space between
two tabs, the strip above them and the gaps around the settings button now pick
the window up, and double-clicking still does what it did. - A quit keeps every tab a window was holding. A page still closing down can
no longer write the session out again on the way out with the tabs that had
already gone missing from it. - The preview's bottom line appears only when it has something to say. The
page runs to the bottom of what is showing it;Saved,Revealedand a file
changed on disk float over it for as long as they have something to say, a file
you cannot edit shows a padlock at the end of the path row that says why when
you click into the page, and what a picture is has moved up to that same row. - A file the preview cannot show offers to open it in the default app, in the
card an unknown file type has always worn — a picture with too many pixels, a
file too large to read, a pane too small to draw one in, a recording this
machine cannot play, in a pane or in a torn-off window alike.
Fixed
- On a Mac,
Edit ▸ CopyandEdit ▸ Pasteact on the pane you are looking
at. Over a terminal they did nothing at all; they now copy the terminal's
selection or the text selected in a file being edited, and paste into whichever
has the keyboard.⌘Cand⌘Vare unchanged. - On a Mac, tabs take the whole width of the title bar. The strip was setting
aside room for four window buttons on a window that carries one, hiding the tab
names behind a wide empty band; seven tabs in a 934-point window now stand 91
points wide with their names showing. - On a Mac, a pane started from the Dock or Finder can read what you type in
your own language. A shell started that way is handed no language setting by
macOS, so天下为公came back as bytes and filenames outside ASCII as question
marks; where the machine has no matching locale installed, Folio now says what
it does know — that this window reads UTF-8 — and still never picks a country
for you or overwrites a setting you already have. - A preview reuses the Markdown prose it has already measured across caret
moves and edits, and a block's scroll offset is reset when the document is
parsed again. - A table on a focus card lines up again. A card's rows are laid out column by
column, as the pane's own grid is, so a box-drawing table holding Chinese text
puts every border in the same place on every row. - A focus card keeps the same content when the window is resized, and
Alt+wheel answers at once when it is reversed at the oldest content. REMOTESon the Git page no longer sits under a highlight nobody put
there. Group headers are dim at rest and brighten under the pointer, with no
block at any time; the whole row is still what you press.- Every picker in Settings that offers profiles shows their marks, in the
marks and at the size the new-tab⌄menu draws, and keeps showing one once
the picker is closed.Default profileborrows nobody's mark. - While you type pinyin, the caret stands at the end of what you have typed.
Composing over a Chinese character already on screen left half of it behind and
the caret read it as a wide character it stood in the middle of. - A menu closes when you press the button that opened it — the preview's
Open ⌄pill, the…that stands in for folders a narrow row cannot show, and
the commit graph's branch list inside a torn-off window. - A formula that took a moment to typeset appears when it is ready, rather
than waiting for a scroll, a resize or another file to be opened. - A letter your keyboard layout makes reaches the shell.
ü,ä,ö,ß
and every other letter a layout composes outside ASCII sent nothing at all;
they are sent now, as the bytes they are. - The command marks along a pane's right edge keep up with the shell. A tick,
or a red mark where a command failed, is drawn on the turn the shell reports it
instead of waiting for the next keystroke or pointer move. - A chord held with the Windows key no longer types its letter into a box.
Win+Ctyped acinto the command palette, the search box, a name being
edited, the branch prompt, the commit graph's search and a document being
edited.
The full list is in CHANGELOG.md in the repository.
Download and verify
Windows
| asset | what it is |
|---|---|
folio-0.4.0-windows-x64.zip |
the nine files that belong together, in one folder — sha256:66da4ce336f90b032ce6900dda17197f0b865ca7080a65c35f3995cf0997f512 |
SHA256SUMS.txt |
the hash of the archive and of the bill of materials, in the format sha256sum -c reads |
folio-0.4.0.cdx.json |
the CycloneDX bill of materials for what is in the build |
Unpack the zip wherever you keep programs and run folio.exe. There is no
installer; keep the extracted files together in one folder, and unpacking over an
older folder keeps your settings. Needs Windows 10 1809 or newer, or Windows
11, 64-bit. The web preview n...
Folio 0.3.0
Folio 0.3.0-preview
Download: zip (Windows 10 1809+ / 11, 64-bit). Unpack, run folio.exe.
下载: 上方 zip 即为完整下载,其余为校验和、物料清单与源码。
0.3 is about writing on the page you were reading. A .md file in a preview
pane — headings, tables, code and formulas typeset beside the prompt — is now
something to type into, and nothing has to be turned back into source first:
click into a paragraph and that paragraph shows the file's own characters, marks
and all, in the typeface and at the size you were reading it in, while the rest
of the page goes on reading as a page. Ctrl+S writes the file, Ctrl+Z takes
the last change back, Esc gives you the page again. Around that: the files
column can make a file or a folder and send either to the Recycle Bin, starting
Folio again gives you another window of the Folio already running rather than a
second copy, and a page full of large screenshots no longer freezes the window.
The page you are reading is the page you write on
- A paragraph, heading, list or quote you click into keeps the reading
typeface and shows its marks — the#of a heading, the**around a bold
phrase, the-in front of an item — where the file spells them. Only a code
block, a table or a formula turns to monospace source, because there the way
the characters line up is part of what they say. - There is no mode to enter and none to leave. The caret moves between
blocks the way it moves between lines, and a block is rendered again the
moment the caret leaves it.Esc, a click on the empty space beside the text
and a click away from the pane all put the page back to reading as a page. - What you select is what you copy, with the marks, so what you paste back
is what was there.
What a save writes
- A save changes the part you edited and leaves the rest identical, down to
the byte. Some files begin with a few bytes naming their own encoding — what
Windows PowerShell writes is the common case — and those bytes used to be read
and then thrown away, so editing one line rewrote the whole file in another
encoding without a word about it. The encoding now travels with the text from
the read to the write. Ctrl+ZandCtrl+Yundo and redo. A run of typing comes back in one
press, the history belongs to the file rather than to the pane, and the
unsaved dot goes out when you undo back to your last save.- A file larger than the pane's first look can be edited, up to 8 MB. Past
that, and where bytes will not read as text, a file opens and reads as before
but is read-only, and the foot of the pane says why.
Making a file, and starting Folio
New file…andNew folder…put the name field in the tree where the new
row will appear, so the name is typed where the name is going to be.Enter
creates,Esccancels, and a name the folder will not take turns red in the
field.Deletesends a file, or a whole folder, to the Recycle Bin and
asks nothing first, because that is where it goes.- Right-clicking the empty space in a column opens the menu of the folder the
column is standing in, empty folders included — which is where you most want
to make the first file.Ctrl+Shift+Pfinds a file under that folder, and
Enteropens it in the preview pane, ready to be typed into. - Starting Folio again opens another window of the one that is running: one
program, one set of settings, one place your tabs are remembered.
Settings > General > Opening Folio again turns that into a tab in the
window you used last. Explorer's "Open in Folio" andfolio-here.cmd— what
VS Code's external terminal runs — always open a tab, because they ask for a
terminal in a folder, not for another Folio.
Read before it shipped
The work that became 0.3 — nineteen merges, about seventeen thousand lines —
was read back against what it claimed to do before this release was built, in
four passes: the editor, the picture and animation work, the handover between a
running Folio and a newly started one, and the files column's new verbs. Every
finding was then checked a second time, line by line, by a reader who had not
made it and who owned the verdict.
Thirty-six defects came out of that, and every one of them was real. The ones
that could have cost you a file or frozen the window are fixed in 0.3 — the save
that changed a file's encoding, the save that threw your undo away, the caret
that stood beside the Chinese character it was editing rather than on it.
What is left is written down and public in the repository, and it is the first
work after this release.
What changed
Added
- Markdown edited where it is shown: the block under the caret is its own
source, the rest of the page stays as it reads,Ctrl+Ssaves,Escleaves. - The files column's menu makes a file or a folder in place and sends either to
the Recycle Bin; the empty space in a column opens the folder it stands in. - Undo and redo in a preview, on
Ctrl+ZandCtrl+Y, one history per file,
and an unsaved dot that goes out when you undo back to your last save.
Changed
- A block you click into keeps the reading typeface and shows its marks; only
code blocks, tables and formulas turn monospace. - Starting Folio again opens a window of the running Folio rather than a second
copy, with a row in Settings to make it a tab instead, and a relative folder on
the command line is resolved where you typed it. - A text or Markdown file larger than the pane's first look can be edited, up to
8 MB. - The preview's
Openmenu opens on hover, and a window that stops answering is
named in Folio's log by what it was doing.
Fixed
- A save keeps the file's encoding and keeps what you can undo, and a read
arriving while you type no longer replaces what you typed. A file that will
not fully read as text is read-only rather than quietly rewritten. - The caret sits on the character it edits on Chinese text; an empty new file can
be typed into; the end of a file with no last line break is reachable. - Letters being composed are drawn in the page they are going into, and a
composition left in the quick search or a name field no longer floats. - A page of large screenshots, a pane of large pictures and a page of many
formulas settle instead of redrawing for ever, and a zoomed picture neither
vanishes nor sticks to one axis. - A long or large animated
.gifplays, from its first frame, and switching
between two shows the right one at once. - A floating window takes the pointer and the menu over its whole face, so the
row hidden underneath no longer lights up or answers for it. - The name field takes a long pasted line without freezing, and refuses a name
the folder will not take whatever its capitalisation.
The full list is in CHANGELOG.md in the repository.
Known issues
- A drawn table comes down when its header row sits just above the viewport.
Scroll the heading back into view and the table is drawn again. - A space dropped at a program's line break inside a table cell is not always
put back — a break beside punctuation, a number or a CJK character is
rejoined without it. - The note the web preview shows after answering a page's message box is
hidden behind the page. The page is answered and goes on running. - Folio cannot be a panel inside Visual Studio Code;
folio-here.cmdmakes
it the external terminal VS Code opens instead. - A window saved on a monitor that enumerates late comes back on the primary
display. The displays are counted once, before the window is made. - Two web previews can overlap for about a fifth of a second while panes are
moving to new places. Panes standing still never overlap. - A window was once reported drawing its top half black after a move to a
second monitor, unreproduced. Attach%APPDATA%\Folio\diagnostics.logif you
hit it. .webmneeds the VP9 or AV1 Video Extension from the Microsoft Store. A
stock Windows has neither, and without one there is no still and no playback.
Download and run
Unpack the zip wherever you keep programs and run folio.exe. There is no
installer, unpacking over an older folder keeps your settings, and
SHA256SUMS.txt is the hash of what you downloaded. Needs Windows 10 1809 or
newer, or Windows 11, 64-bit.
folio.exe and folio.msix are signed by Weiyi Shi, as they have been since
0.2.0, but a new signature has no reputation, so SmartScreen can still raise
"Windows protected your PC" on the first run: More info names Weiyi
Shi as the publisher, and Run anyway is the way through. Folio is not on
winget yet.
Folio has no telemetry, no analytics and no crash reporting. Two things reach
the network: a page you open in the web preview, and the update check, which
Settings > General > Update check switches off.
Folio 0.2.5
Folio 0.2.5-preview
Download: zip (Windows 10 1809+ / 11, 64-bit). Unpack, run folio.exe.
下载: 上方 zip 即为完整下载,其余为校验和、物料清单与源码。
0.2.5 is about what a pane shows. A table an agent prints is drawn whole or not
at all, however the printing program wrapped its rows. A pane restored behind
another tab comes up at the width it is going to have rather than one no shell
can print at, and dragging the window edge re-wraps the pane in front of you as
promptly with a dozen tabs open as with one. The title bar keeps a band to drag
the window by however many tabs are in it, and the four split pictures at the
top of a pane's menu can be seen in the light theme.
A printed table survives the way the program wrapped it
- A row the program itself wrapped is drawn as the one row it was printed
as. An agent printing a wide table lays it out to the width of the pane and
wraps a long row onto a second line, usually stopping a word or two short of
the last column. Folio drew the heading and the first row and left every row
after them as text. A wrapped row is now put back together whenever the lines
spell exactly the row the heading calls for, whether or not the program ran
the first line right to the edge. - A row broken into three or four lines comes back as one row, not only a
row broken into two, and a break that lands right beside one of the row's own
bars is read as a break rather than as the end of the row. - A row still arriving is not drawn in part. Nothing appears from the lines
that have come until the row is complete. - A pipe the table cannot account for takes the whole table down, so a table
no longer ends halfway through the block it was printed in. A pipe after a
blank line, and a second table under a caption line, leave the table standing.
A pane restored behind another tab comes up at its real width
- A window that was closed maximized is put back at its own rectangle first and
maximized a moment later, and every tab was measured against that first
rectangle. A tab you were not looking at kept those measurements until you
clicked it, so a tab holding three panes in a window too narrow for three
could start a shell two columns wide: its first prompt came out two characters
to a line, and widening the pane afterwards could not put back together what
had already scrolled past. - Every tab now follows the window whether or not it is the one on screen, and a
pane is never started at the width of the little bar the layout shows in place
of a pane it has no room for.
Text follows the window edge while you drag it, with any number of tabs
- A pane re-wraps its lines as the window is made narrower. Once every tab
followed the window's size, each tab behind the one on screen laid its own
pane out again on every step of the drag: with six tabs open the picture
arrived about a third less often, and with a dozen the text looked frozen at
the old width until the drag stopped. - A tab you are not looking at now takes the new size once, when the drag
settles, the way its shell already did. The pane in front of you re-wraps on
every step, as it always has.
The title bar keeps a handle to drag the window by
- Folio draws its own title bar, and the only stretch of it a window may be
moved by is whatever the row of tabs leaves over. With a dozen tabs open the
row reached the settings gear and left nothing: the top edge could not be
dragged anywhere along its length, and there was no place to double click it
to maximise either. - The row now stops 96 pixels short of the buttons in the corner whatever it is
carrying, so there is always a band there to take hold of. The tabs pay for it
the way they already pay for one more tab, by growing narrower first and
scrolling only once they are as narrow as they go. A window with the tabs down
its side is unaffected, and so is a window with room to spare in the bar.
The split pictures in a pane's menu can be seen
- The little pane and the four bars around it were drawn in the same hairline
the menu's own edge is drawn in. On the white card of the light theme that
came out a shade off white, so the picture the menu opens with was there and
invisible; on the dark card it was only just there. - Both are now drawn in the ink the words on the rows under them are set in, and
any theme whose ink sits too close to its card has the picture lifted clear of
it. The bar under the pointer still turns and fills with the accent colour.
Also fixed
- The little picture on a tab's card shows the pane as it stands. Where a
line was broken across rows at a width the pane has since stopped having, the
card drew the old break; it now puts the line back together.
Known issues
- A drawn table comes down when its header row sits just above the viewport.
Scroll the heading back into view and the table is drawn again. - A space dropped at a program's line break inside a table cell is not always
put back. A break between two ordinary words is rejoined with its space; a
break beside punctuation, a number or a CJK character is rejoined without one,
so受命 −28°comes back as受命−28°. - The note the web preview shows after answering a page's message box is
hidden behind the page. The page is answered and goes on running; the line
saying so on the bottom strip cannot be read. - Folio cannot be a panel inside Visual Studio Code.
folio-here.cmdin the
archive makes it the external terminal VS Code opens instead. - A window saved on a monitor that enumerates late comes back on the primary
display. The displays are counted once, before the window is made. - Two web previews can overlap for about a fifth of a second while panes are
moving to new places. Panes standing still never overlap, and a divider drag
does not do it. - A window was once reported drawing its top half black after a move to a
second monitor, unreproduced. Attach%APPDATA%\Folio\diagnostics.logif you
hit it. .webmneeds the VP9 or AV1 Video Extension from the Microsoft Store. A
stock Windows has neither, and without one there is no still and no playback.
The full list is in CHANGELOG.md in the repository.
Download and run
Take folio-0.2.5-windows-x64.zip from this release, unpack it wherever you
keep programs, and run folio.exe. There is no installer; keep the extracted
files together in one folder. Unpacking over an older folder keeps your
settings. SHA256SUMS.txt is the hash of what you downloaded, and
folio-0.2.5.cdx.json is the bill of materials for what is in the build.
Needs Windows 10 1809 or newer, or Windows 11, 64-bit.
folio.exe and folio.msix are signed by Weiyi Shi, with a certificate from
Microsoft's Artifact Signing service and a Microsoft time stamp, as they have
been since 0.2.0. A new signature has no reputation yet, so SmartScreen can
still raise "Windows protected your PC" on the first run. More info names
Weiyi Shi as the publisher and folio.exe as the application; Run anyway
is the way through, and switching SmartScreen off is not.
Folio is not on winget yet. A manifest is with the winget community
repository and is waiting for a reviewer. This zip is the way to install Folio
until it is accepted.
Folio has no telemetry, no analytics and no crash reporting. Two things reach
the network: a page you open in the web preview, and the update check, one GET
of the releases list at most once a day, which you can switch off at Settings >
General > Update check. docs/PRIVACY.md says what is written to disk.
Folio 0.2.4
Folio 0.2.4-preview
Download: zip (Windows 10 1809+ / 11, 64-bit). Unpack, run folio.exe.
下载: 上方 zip 即为完整下载,其余为校验和、物料清单与源码。
0.2.4 reads what a program prints as text and nothing else: a picture, a path, a
link or a folder that arrived in a pane can no longer make Folio read a file,
reach another machine, run a program of somebody else's choosing, or grow
without a limit. The shells took the rest of the release. A bash pane keeps its
startup files and its arguments, zsh has integration of its own, sh says it
has none, Command Prompt reads a folder with a # in its name, and a PowerShell
prompt of your own sees whether your last command actually succeeded. Every pane
on screen typesets what it printed rather than only the pane holding the
keyboard, a path Git Bash or WSL printed in its own spelling is a link, a tab is
named after the folder its pane is standing in, and a pipe table is drawn whole
or not at all.
What a program prints is treated as untrusted
A pane draws whatever a program writes into it, and that text can come from
anywhere: a repository you cloned, a file someone sent you, an agent quoting a
web page. These are the places where Folio was acting on it.
- A picture cannot read a file it names. An SVG can point an
<image>at a
path, and Folio's renderer used to follow it, anywhere on the machine or onto a
network share. A.svgonly has to be printed in a pane to be drawn on sight,
so a file someone sent you could readC:\Users\you\.ssh\id_rsainto the
picture, or reach a share of theirs and hand over your Windows sign-in. Folio
now draws only the images an SVG carries inside itself. - A path or a link a program printed cannot send Folio to another machine. A
link, a path, or a picture in a Markdown file could name a place that is not on
this machine, and resting the pointer on it was enough: Windows offered your
account name and password to whatever answered, and a link written
file://./pipe/namereached a read with no end that stopped every later
preview in that window. Without being asked, Folio now reads only a drive of
this machine, or the files of the WSL distribution the pane is standing in, and
it reads what a shortcut points at before following it. A path that fails gets
the card that says so, a picture draws a placeholder, a link is plain text. - A repository Folio only reads cannot run a program of its choosing. Two of
the settings a repository carries in its own folder name programs for git to
run, one on every status check and one whenever a file is diffed, so opening
the Git page on a folder somebody sent you ran whatever that folder asked for.
Every git command Folio runs now switches those off, along with the per-file
diff and text-conversion programs a repository can name. - A name ending in a dot cannot smuggle a program past the file column.
Double-clicking a row opens a file and refuses to run one, and the refusal read
the name exactly as written. Windows drops trailing dots and spaces first, so
invoice.exe.was read as a document by Folio and started as a program by
Windows. Folio now reads the name the way Windows will. - An address that shows one host and goes to another is refused.
https://your-bank.example@somewhere-else/has always been refused in the
address bar; Ctrl-clicking the same address printed in a pane handed it to your
browser anyway. The invisible characters that reverse text, which let a tab
readreport.txtover a pane runningreport.exe, are taken out of tab titles
and pane heads. Titles in Chinese, Arabic and Hebrew are unchanged. - Output cannot make a pane grow without bound. A request to hold output back
until the picture is complete was kept whole so a resize could replay it, long
after the parser had given up on it. One address behind a whole line of text
was copied once per cell on every repaint, so a 48 KB address across 200
columns cost nine megabytes a frame. And nine bytes of.gifbehind a header
claiming a 65535 by 65535 screen had Folio ask for seventeen gigabytes. Each
now stops at a limit, and decoded pictures are let go of when they have gone
longest unlooked at. - A program Folio starts to ask a question is the one that is installed. The
agent version check and the PowerShell probes named their programs without a
path, and Windows looks in the folder the process is standing in first, so a
copilot.cmdleft in a folder you had opened would run when you opened
Settings > Agents. Folio now finds these programs where programs are installed. - A command line a program printed is never typed into a restored pane. A
program could print shell markers around any text it liked, and that text
became the tab's last command and went back on the prompt of the restored pane.
Only a line your own keyboard was present for is kept now.
Each shell is integrated on its own terms
- A bash pane keeps the startup files, the hooks and the arguments it was
supposed to have. A profile asking for a plain interactive shell now reads
~/.bashrc, and only a login profile reads/etc/profileand
~/.bash_profile. Arguments you wrote yourself, such as--noeditingor
-O globstar, reach the shell instead of being dropped the moment that profile
had shell integration. A listPROMPT_COMMAND, which bash 5.1 and later allow,
runs your hooks once per prompt rather than twice, and a DEBUG trap you had
already installed keeps running. - zsh gets shell integration, and
shstops pretending to. A zsh pane, on
Windows or inside WSL, is served throughZDOTDIR, so it draws command marks,
reports where it is standing and carries exit codes the way a bash pane does,
and your own.zshenv,.zprofileand.zshrcstill run. Ashordash
profile is told it has no integration rather than being handed bash's flag,
which it accepted and ignored. - A Command Prompt in a folder with a
#or a space in its name is not
forgotten. The one spellingcmdhas for a directory was read as an address,
soD:\Code\C# Projectswas recorded asD:\Code\Cand a folder with a%in
it was dropped. - A WSL pane sitting at
/still knows where it is. The root was refused as
a directory, so new tabs opened from that pane started somewhere else. - A PowerShell prompt of your own is told the truth. A prompt this terminal
wraps, whether it is oh-my-posh, conda's or one you wrote, now sees whether
your last command succeeded instead of always seeing success, and a prompt that
changes directory is reported from where it left the shell rather than one
prompt behind. The line written into your$PROFILEsurvives a script path
holding a$or a backtick. - Three things a program asks of the terminal land where it meant them to. A
colour set right after a command mark is a colour again; with origin mode on
the cursor lands where a program put it inside a scrolling region; and a mouse
encoding this terminal cannot write is refused rather than promised.
Every pane on screen draws what it is showing
- A formula printed in the pane you are not typing in gets drawn. A block
between$$in a split pane that did not hold the keyboard stayed as its own
source until you clicked into that pane. - A display, font, theme or language change re-lays every pane. All four hand
every pane new measurements, but only the pane holding the keyboard was told
that the pictures it had already drawn were built for the old ones, so a split
pane kept formulas rastered for the previous cell size. - A card shows the frame its pane is showing. A card in the focus column was
a frame behind whenever the terminal, rather than the program, was the one to
put a held screenful up.
Marks stay on their commands, and a tab ends when its shell does
- A resize while a full-screen program is up leaves the command marks where
their commands are. Dragging the window edge while an editor or a coding
agent is on screen re-wraps the screen behind it, and the ticks kept their old
rows, so leaving the program put them in the middle of some other line. - Running the same command twice keeps a mark for each run. Two prompt lines
that read exactly alike were treated as one when the window was resized. - The tick on the prompt you are typing at no longer says a command is
running. Hovering the newest tick, the prompt with nothing typed into it yet,
readrunning · command. It now saysat the prompt. - The last shell exiting closes its tab, and closing the last tab ends the
program. A tab holding one pane whose shell exited stayed open with a dead
shell inside it. - A pane starts in the environment this window is standing in, and closing a
pane closes what the pane started. Every pane used to rebuild its environment
from the machine's registry over the one Folio was launched with, throwing away
thePATHyour shell exported, and a build or a server started inside a pane
went on running after the pane was gone.
A path a shell prints in its own spelling is a link
/d/Demo/report.mdand/mnt/d/Demo/report.mdare links now.
D:\Demo\report.mdwas recognised in every pane and the Unix spellings in
none, so in the two shells that spell a path their own way, the names on the
screen were the ones you could not click, hover, orCtrl-click into an
editor. A pane reads the spelling its own shell prints:/d/Demoand
~/notes/a.mdin a Git Bash pane,/mnt/d/Demoin a WSL one. Which spelling
comes from the profile the pane was started from and not from the text, so
/d/Demotyped into a PowerShell pane is still ordinary words.- A file inside a WSL distribution opens too.
/etc/hostsand~/notes.md
...