Skip to content

Releases: tomaszstaniak/limpet

Limpet 0.9.0

Choose a tag to compare

@tomaszstaniak tomaszstaniak released this 02 Nov 15:52

Limpet 0.9.0 can show what is behind its window through the terminal's background.

To turn it on, open Project > Preferences in a Limpet window and set Background opacity under Window background. Use keeps the setting until restart; Save keeps it. The feature is experimental and off until you choose it. Text, the cursor, the selection, pictures and colours set by programs stay solid.

Transparency needs mainline AROS built on 2026-10-27 or later, on a 32-bit screen, on x86_64 or on the Raspberry Pi. On other systems, including ABIv11 systems such as AROS One, the option is disabled, the background stays solid and the saved setting is kept.

Background blur is shown in Preferences but is disabled: this version has no blur. A background_blur line in Window.conf is kept and has no effect.

Choose the archive for your system: x86_64 ABIv11, mainline x86_64 ABIv1, or native Raspberry Pi AArch64 ABIv1. The Pi build has been run under emulation; physical hardware remains untested. The experimental LIMPET: handler is a separate archive and does not replace CON:.

Install or update the PC version with apkg install limpet / apkg upgrade limpet, or unpack the matching archive.

Limpet 0.8.0

Choose a tag to compare

@tomaszstaniak tomaszstaniak released this 29 Oct 19:45

Limpet 0.8.0 adds Project > Preferences. Choose Fastfetch or your own command to run once whenever a new Shell window opens. Use applies the setting until restart; Save keeps it. You can also run it immediately in an idle Shell.

Fastfetch for AROS is a separate download. Preferences lets you choose its compact view or AROS picture logo, select information groups and use your own configuration file.

Inline images now stay visible while you type the next command and scroll with the text. Applications can disable automatic line wrapping and query text, image and terminal information through SDK 0.6.0.

Choose the archive for your system: x86_64 ABIv11, mainline x86_64 ABIv1, or native Raspberry Pi AArch64 ABIv1. The Pi build has been run under emulation; physical hardware remains untested. The experimental LIMPET: handler is a separate archive and does not replace CON:.

Install or update the PC version with apkg install limpet / apkg upgrade limpet, or unpack the matching archive.

Limpet SDK 0.6.0

Choose a tag to compare

@tomaszstaniak tomaszstaniak released this 29 Oct 19:45

Limpet SDK 0.6.0 adds queries for UTF-8 and character-width support, terminal identity, Kitty graphics support, and console geometry in pixels.

Rebuild applications to use the new presentation fields. Existing binaries built with older SDKs continue to work with Limpet 0.8.0; unknown capability bits remain unknown, not unsupported.

The archive contains headers, sources, an ABIv11 static library, examples and documentation.

Text capabilities, terminal identity and the Kitty graphics capability bit require Limpet 0.8.0; the public geometry query is supported from 0.7.0. Earlier terminals return unknown fields or unsupported queries.

Documentation correction: the bundled README and getting-started page retain old 0.4.0 labels and compatibility text. The headers and library are 0.6.0. Use the corrected getting-started guide and compatibility notes. The published ZIP is unchanged.

Limpet 0.7.1

Choose a tag to compare

@tomaszstaniak tomaszstaniak released this 27 Oct 00:19

Limpet 0.7.1

For AROS ABIv11 x86_64 (AROS One and similar) and mainline AROS x86_64, with a test build for AROS on the Raspberry Pi.

Fixed

  • Links to local files said the wrong thing. Ctrl+click on a file:/// link reported OpenURL's messages, although such links are opened by Workbench. The window title now says "File handed to Workbench", "Workbench could not open the file", or "File not found". A missing file used to give no answer at all, because Workbench does not report a program it could not start.

Changed

  • Archive names. Each archive is now named after the system it is for:

    • AROS One and other ABIv11 systems: Limpet-0.7.1-aros-x86_64-abiv11-pc.zip
    • mainline AROS, x86_64: Limpet-0.7.1-aros-x86_64-abiv1-pc.zip
    • AROS on the Raspberry Pi: Limpet-0.7.1-aros-aarch64-abiv1-raspi.zip

    The LIMPET: handler archives are named the same way. Earlier releases keep their names.

The experimental LIMPET: handler has the same change.

Installation

On AROS One:

apkg upgrade limpet

For a new installation, use apkg install limpet. To install by hand:

UnZip Limpet-0.7.1-aros-x86_64-abiv11-pc.zip -d SYS:Utilities

apkg keeps a theme in Themes/ that you changed. When you upgrade by hand, copy changed themes out of the drawer first. Limpet.conf in ENV:Limpet and ENVARC:Limpet is not touched.

The LIMPET: handler is a separate, experimental download; see README-Handler.txt in its archive.

Other systems

  • Mainline AROS, x86_64: Limpet-0.7.1-aros-x86_64-abiv1-pc.zip; the handler is Limpet-handler-experimental-0.7.1-aros-x86_64-abiv1-pc.zip. Mainline does not come with UnZip: unpack the archive on another computer (or with an UnZip you installed) and copy the Limpet drawer and Limpet.info into SYS:Utilities. The apkg catalogue lists this build; apkg itself is experimental on mainline. Ctrl-C in a Limpet window needs a mainline system built on 2026-08-29 or later.
  • AROS on the Raspberry Pi (AArch64), test build: Limpet-0.7.1-aros-aarch64-abiv1-raspi.zip and Limpet-handler-experimental-0.7.1-aros-aarch64-abiv1-raspi.zip. It has run under an emulated Raspberry Pi 3, not yet on a Raspberry Pi; reports from a real Pi are welcome. The Pi system has no UnZip: unpack the archive on another computer and copy the Limpet drawer and Limpet.info to the SD card, for example into Utilities. It is not in the apkg catalogue. It is built for the native Pi system and has not been tried on Macaros.

Each archive is built for one system; use the one for yours.

Limpet 0.7.0

Choose a tag to compare

@tomaszstaniak tomaszstaniak released this 24 Oct 10:41

Limpet 0.7.0

For AROS ABIv11 x86_64 (AROS One and similar) and mainline AROS x86_64, with a test build for AROS on the Raspberry Pi.

Fixed

  • Slow scrolling in full-screen programs. Editors such as Helix scrolled slowly, and after a held cursor key they kept moving for seconds after the key was released. Limpet now redraws once a program's output pauses instead of after every small write. Long output such as Type of a large file also finishes several times sooner.
  • Half-updated screens. While a full-screen program scrolled, the window could show half of the old screen and half of the new one, with a line doubled where they met.
  • Stepped lines. A program that reads keys itself and writes a bare line feed got stepped lines. A line feed now returns to the left edge, as in the system console.
  • A second program on the same window. A second program reading or waiting for a key in the same window got an error at once. Several programs can now read from one window and get its input in turn, and several can wait for a key, each with its own timeout.

New

  • Links to local files. Ctrl+click on an OSC 8 link to file:///Volume:path opens the file as a Workbench double-click would, with its default tool. HTTP and HTTPS links still open through OpenURL.
  • File-type icons. The archive includes DejaVu Sans Mono Nerd Font, now the default font when Limpet.conf sets none. It has the icons of eza --icons, each one cell wide. A font set in Limpet.conf is used as before.
  • Synchronized output (CSI ? 2026 h / l): a program that marks its screen updates is shown one whole update at a time.

Changes for programs

  • The presentation query reports which text styles Limpet draws, whether it opens OSC 8 links, and whether its font has the eza icons in one cell. Limpet SDK 0.5.0 names the new bits; programs built with older SDKs ignore them.
  • The window size in characters and pixels can be read with the console geometry packet ACTION_CONSOLE_GETGEOMETRY proposed for AROS. Other consoles and older Limpet versions refuse it with ERROR_ACTION_NOT_KNOWN.
  • Up to 16 reads can wait behind the one being served, and up to 16 WaitForChar calls can wait at once. At the end of input every one is answered: reads with 0, WaitForChar with true. A read still waiting can be taken back with XTY_ACTION_CANCEL.
  • A bare line feed also returns the carriage (line feed mode, as in CON:). CSI 20 l turns that off, CSI 20 h on.

The experimental LIMPET: handler archive has the same changes.

Installation

apkg upgrade limpet

For a new installation, use apkg install limpet. To install manually:

UnZip Limpet-0.7.0-abiv11.zip -d SYS:Utilities

apkg keeps a theme in Themes/ that you changed. When you upgrade by hand, copy changed themes out of the drawer first. Limpet.conf in ENV:Limpet and ENVARC:Limpet is not touched.

The LIMPET: handler is a separate, experimental download; see README-Handler.txt in its archive.

Other systems

  • Mainline AROS, x86_64: Limpet-0.7.0-v1-x86_64.zip; the handler is Limpet-handler-experimental-0.7.0-v1-x86_64.zip. Mainline does not come with UnZip: unpack the archive on another computer (or with an UnZip you installed) and copy the Limpet drawer and Limpet.info into SYS:Utilities. The apkg catalogue lists this build; apkg itself is experimental on mainline.
  • AROS on the Raspberry Pi (AArch64), test build: Limpet-0.7.0-v1-aarch64.zip and Limpet-handler-experimental-0.7.0-v1-aarch64.zip. It has run under an emulated Raspberry Pi 3, not yet on a Raspberry Pi; reports from a real Pi are welcome. The Pi system has no UnZip: unpack the archive on another computer and copy the Limpet drawer and Limpet.info to the SD card, for example into Utilities. It is not in the apkg catalogue. It is built for the native Pi system and has not been tried on Macaros.

Each archive is built for one system; use the one for yours.

Limpet SDK 0.5.0

Choose a tag to compare

@tomaszstaniak tomaszstaniak released this 24 Oct 10:41

Limpet SDK 0.5.0

For AROS ABIv11, x86_64.

New

  • Style bits in LimpetPresentation.styles: XTY_STYLE_DIM_RESET, XTY_STYLE_ITALIC_RESET, XTY_STYLE_UNDERLINE_RESET, XTY_STYLE_BLINK_RESET, XTY_STYLE_INVERSE_RESET, XTY_STYLE_HIDDEN_RESET and XTY_STYLE_STRIKE_RESET. Limpet 0.7.0 sets underline and inverse, the styles it draws.
  • Feature bits in LimpetPresentation.features: XTY_FEATURE_OSC8 (the terminal opens OSC 8 links), and XTY_FEATURE_NERD_ICONS_EZA with XTY_FEATURE_ICON_WIDTH_ONE (the terminal's font has the file-type icons of eza 0.23.5, each one cell wide). Use icons only when both icon bits are set. Limpet 0.7.0 sets them only when its font has every one of those icons.

Compatibility

Works with Limpet 0.1.0 to 0.7.0. The binary interface is the same as in SDK 0.3.0 and 0.4.0, so objects built with those link with this library unchanged and ignore the new bits. Objects built with SDK 0.1 or 0.2 must be rebuilt, as before.

Start with doc/sdk/getting-started.md in the archive.

Limpet 0.6.2-test1

Limpet 0.6.2-test1 Pre-release
Pre-release

Choose a tag to compare

@tomaszstaniak tomaszstaniak released this 20 Oct 18:16

Limpet 0.6.2-test1

A test build of the next Limpet, for AROS ABIv11, x86_64. It is not in the apkg catalogue; 0.6.1 stays the current release.

What to try

Scrolling in full-screen programs, especially with a cursor key held down in Helix. Please report whether scrolling feels smooth, whether it keeps moving after you let go of the key, and anything that looks wrong on screen.

Fixed

  • Slow scrolling and catching up after a held key. A full-screen program sends one screen in many small pieces, and Limpet redrew the window after each piece, so the program waited for every partial redraw and kept scrolling for seconds after the key was released. Limpet now redraws when the output pauses, and regularly while it keeps coming. Long output such as Type of a large file also finishes several times sooner.
  • Lines of two screens at once while scrolling, which could look like larger letters appearing at the bottom of the window. See synchronized output below; for programs that do not use it, changed lines now go on screen together, which makes it rarer.

New

  • Synchronized output (CSI ? 2026 h / l). A program that marks where each screen update starts and ends is shown one whole update at a time. An update left open is shown after a quarter of a second. Helix preview 2 test 1 uses it; with Helix preview 1 scrolling is faster but can still show mixed lines.

The experimental LIMPET: handler archive has the same changes.

Installation

Unpack over an existing Limpet, or anywhere for a separate copy:

UnZip Limpet-0.6.2-test1-abiv11.zip -d SYS:Utilities

To go back, unpack the 0.6.1 archive over it.

Limpet 0.6.1

Choose a tag to compare

@tomaszstaniak tomaszstaniak released this 19 Oct 11:11

Limpet 0.6.1

For AROS ABIv11, x86_64.

Fixed

  • Letters of other keymaps. Characters above 127 were always read as Latin-1, so on a Polish keymap ą arrived as ± and ż as ¿. Limpet now uses the character set chosen in Locale preferences (ENV:CHARSET, for Polish ISO-8859-2). Without it, it reads them as Latin-1, as before.
  • A stray line after a full-screen editor. After an editor such as Helix quit, the Shell could run a line nobody typed and answer "object not found". The editor's cursor-style reset (ESC [ 0 SPACE q) was taken for the Amiga console's window-size query, which is now answered only when it starts with the 8-bit CSI (0x9B).
  • Closing a window with a program running. A program that waited for keys did not notice that its window had been closed, and the window stayed on "Closing: waiting for process". Such programs now see the end of their input.
  • The letter w at 12 and 14 pixels looked raised, with a gap before it.

New

  • Full-screen programs fill the whole window. While a program such as Helix uses the alternate screen, the margin around the text takes the colour of the cells next to it instead of framing them in the theme background.
  • 24-bit colour for programs that look for it. Programs started in a Limpet window see COLORTERM=truecolor, so Helix and similar programs use their own colour themes. Nothing is written to ENV: or ENVARC:.

Changes for programs

  • The Amiga console's window-size query is answered only with the 8-bit CSI (0x9B 0 SPACE q); the 7-bit ESC [ 0 SPACE q is xterm's cursor-style request and gets no answer.
  • At the end of input (F5, Ctrl-\, a closed window) WaitForChar() answers true and Read() returns 0. A loop that reads while WaitForChar(fh, 0) is true must stop when Read() returns 0.
  • Writes to a closed window fail with ERROR_DEVICE_NOT_MOUNTED instead of ERROR_BREAK.

The experimental LIMPET: handler archive has the same fixes and the margin colours.

Installation

apkg upgrade limpet

For a new installation, use apkg install limpet. To install manually:

UnZip Limpet-0.6.1-abiv11.zip -d SYS:Utilities

Limpet 0.6.0

Choose a tag to compare

@tomaszstaniak tomaszstaniak released this 18 Oct 17:09

Limpet 0.6.0

For AROS ABIv11, x86_64.

Keys as in the system console

  • Ctrl-D, Ctrl-E and Ctrl-F send their break signal to the program reading the window. Ctrl-D stops a running script.
  • Ctrl-\ ends input once: a program reading the window sees the end of its input, and at the Shell prompt the Shell ends. F5 still ends the window's input for good.

For programs

  • Shift+Enter. A program in raw mode can send CSI > 4 ; 1 m. Shift+Enter then arrives as CSI 27 ; 2 ; 13 ~, so the program can use Enter to send and Shift+Enter for a new line. Plain Enter, and Enter with Ctrl, Alt or an Amiga key, still arrive as CR. The mode ends when the program returns to cooked mode. The presentation query announces it as XTY_INPUT_MODIFIED_ENTER. This is xterm's modifyOtherKeys sequence, implemented for this key only.
  • Amiga console reports. The window-size query (CSI 0 SPACE q) and the cursor query sent with the 8-bit CSI (0x9B 6 n) are answered as AmigaOS answers them, one-based.

Limpet SDK 0.4.0 names the new input bit. Programs built with SDK 0.3.0 keep working unchanged.

See doc/capabilities.md for details.

Installation

apkg upgrade limpet

For a new installation, use apkg install limpet. To install manually:

UnZip Limpet-0.6.0-abiv11.zip -d SYS:Utilities

Experimental console handler

The separate Limpet-handler-experimental-0.6.0-abiv11.zip adds LIMPET:, which lets programs open a Limpet console through DOS:

NewShell WINDOW LIMPET:

It now has the same Ctrl-D/E/F, Ctrl-\ and Amiga console reports as an ordinary Limpet window. It is still an early preview: it does not replace CON:, and neither the main archive nor apkg installs it.

Missing features include concurrent reads. A raw-mode line feed moves down without returning to the left edge. Startup is slow, and each window uses about 32.5 MiB.

Installation and compatibility details: doc/limpet-handler.md.

Limpet SDK 0.4.0

Choose a tag to compare

@tomaszstaniak tomaszstaniak released this 18 Oct 17:09

Limpet SDK 0.4.0

For AROS ABIv11, x86_64.

New

  • XTY_INPUT_MODIFIED_ENTER (8) in LimpetPresentation.input. Limpet 0.6.0 sets it: after CSI > 4 ; 1 m in raw mode, Shift+Enter arrives as CSI 27 ; 2 ; 13 ~, so a program can use Enter to send and Shift+Enter for a new line. Limpet 0.5.0 and earlier leave the bit clear; offer another key there, such as Ctrl-J.
  • The hello example lists the new input mode.

Compatibility

Works with Limpet 0.1.0 to 0.6.0. The binary interface is the same as in SDK 0.3.0, so objects built with 0.3.0 link with this library unchanged. Objects built with SDK 0.1 or 0.2 must be rebuilt, as before.

Start with doc/sdk/getting-started.md in the archive. See doc/capabilities.md for how to use the mode.