Skip to content

Releases: lulu-loopp/folio-terminal

Folio 0.4.6

Choose a tag to compare

@lulu-loopp lulu-loopp released this 29 Sep 12:54
Immutable release. Only release title and notes can be modified.

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 --version while 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
    %20 for a space find the file on both platforms.
  • macOS: uninstall cleanup with --purge removes 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 folio

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.6-windows-x64.zip -Algorithm SHA256

or, where sha256sum is available — Git Bash, WSL, Linux:

sha256sum -c SHA256SUMS.txt

macOS

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/folio

The 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.txt

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 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

Choose a tag to compare

@lulu-loopp lulu-loopp released this 25 Sep 16:45
Immutable release. Only release title and notes can be modified.

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.log names 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 folio

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.5-windows-x64.zip -Algorithm SHA256

or, where sha256sum is available — Git Bash, WSL, Linux:

sha256sum -c SHA256SUMS.txt

macOS

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/folio

The 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.txt

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.

Full changelog: CHANGELOG.md · v0.4.4-preview…v0.4.5-preview

Folio 0.4.4-preview

Choose a tag to compare

@lulu-loopp lulu-loopp released this 24 Sep 05:11
Immutable release. Only release title and notes can be modified.

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 http or https page 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 folio

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.4-windows-x64.zip -Algorithm SHA256

or, where sha256sum is available — Git Bash, WSL, Linux:

sha256sum -c SHA256SUMS.txt

macOS

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/folio

The 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.txt

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.

Full changelog: CHANGELOG.md · v0.4.3-preview…v0.4.4-preview

Folio 0.4.3

Choose a tag to compare

@lulu-loopp lulu-loopp released this 21 Sep 18:39
Immutable release. Only release title and notes can be modified.

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-cleanup undoes what Folio wrote outside its own
    folder — the $PROFILE line, the agent hooks, the Explorer entries, the
    PSReadLine module — without opening a window, and reports each result;
    --purge also deletes settings, sessions and browser data.
  • uninstall.cmd, beside folio.exe in 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-integration takes Folio's line out of your PowerShell
    $PROFILE, without a window.
  • folio --remove-explorer-menu takes 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 $PROFILE line 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.exe it 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.log names the GPU Folio asked for beside the one it got, and
    BT_GPU_PREFERENCE=low asks 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_TRACE no 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.log always 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.log now 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: .webm needs 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 folio

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.3-windows-x64.zip -Algorithm SHA256

or, where sha256sum is available — Git Bash, WSL, Linux:

Read more

Folio 0.4.2

Choose a tag to compare

@lulu-loopp lulu-loopp released this 18 Sep 18:49
Immutable release. Only release title and notes can be modified.

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
    cat of 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 SHA256

or, where sha256sum is available — Git Bash, WSL, Linux:

sha256sum -c SHA256SUMS.txt

macOS

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/folio

The image and the application in it are signed with a Develope...

Read more

Folio 0.4.1

Choose a tag to compare

@lulu-loopp lulu-loopp released this 16 Sep 05:01

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 SHA256

or, where sha256sum is available — Git Bash, WSL, Linux:

sha256sum -c SHA256SUMS.txt

macOS

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/folio

The 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.txt

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.

Full changelog: CHANGELOG.md · v0.4.0-preview…v0.4.1-preview

Folio 0.4.0

Folio 0.4.0 Pre-release
Pre-release

Choose a tag to compare

@lulu-loopp lulu-loopp released this 15 Sep 04:54

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. Ctrl and 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 keeps Win and 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
    at Off; 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; the Read-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, Revealed and 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 ▸ Copy and Edit ▸ Paste act 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. ⌘C and ⌘V are 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.
  • REMOTES on 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 profile borrows 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+C typed a c into 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...

Read more

Folio 0.3.0

Folio 0.3.0 Pre-release
Pre-release

Choose a tag to compare

@lulu-loopp lulu-loopp released this 12 Sep 06:47

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+Z and Ctrl+Y undo 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… and New 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, Esc cancels, and a name the folder will not take turns red in the
    field. Delete sends 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+P finds a file under that folder, and
    Enter opens 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" and folio-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+S saves, Esc leaves.
  • 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+Z and Ctrl+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 Open menu 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 .gif plays, 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.cmd 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.
  • A window was once reported drawing its top half black after a move to a
    second monitor, unreproduced. Attach %APPDATA%\Folio\diagnostics.log if you
    hit it.
  • .webm needs 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 Pre-release
Pre-release

Choose a tag to compare

@lulu-loopp lulu-loopp released this 09 Sep 22:36

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.cmd in 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.log if you
    hit it.
  • .webm needs 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 Pre-release
Pre-release

Choose a tag to compare

@lulu-loopp lulu-loopp released this 09 Sep 04:31

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 .svg only has to be printed in a pane to be drawn on sight,
    so a file someone sent you could read C:\Users\you\.ssh\id_rsa into 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/name reached 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
    read report.txt over a pane running report.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 .gif behind 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.cmd left 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/profile and
    ~/.bash_profile. Arguments you wrote yourself, such as --noediting or
    -O globstar, reach the shell instead of being dropped the moment that profile
    had shell integration. A list PROMPT_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 sh stops pretending to. A zsh pane, on
    Windows or inside WSL, is served through ZDOTDIR, so it draws command marks,
    reports where it is standing and carries exit codes the way a bash pane does,
    and your own .zshenv, .zprofile and .zshrc still run. A sh or dash
    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 spelling cmd has for a directory was read as an address,
    so D:\Code\C# Projects was recorded as D:\Code\C and 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 $PROFILE survives 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,
    read running · command. It now says at 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
    the PATH your 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.md and /mnt/d/Demo/report.md are links now.
    D:\Demo\report.md was 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, or Ctrl-click into an
    editor. A pane reads the spelling its own shell prints: /d/Demo and
    ~/notes/a.md in a Git Bash pane, /mnt/d/Demo in a WSL one. Which spelling
    comes from the profile the pane was started from and not from the text, so
    /d/Demo typed into a PowerShell pane is still ordinary words.
  • A file inside a WSL distribution opens too. /etc/hosts and ~/notes.md
    ...
Read more