Repository navigation
Releases: tomaszstaniak/limpet
Release list
Limpet 0.9.0
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
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
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
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. - AROS One and other ABIv11 systems:
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 isLimpet-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 theLimpetdrawer andLimpet.infointoSYS: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.zipandLimpet-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 theLimpetdrawer andLimpet.infoto the SD card, for example intoUtilities. 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
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
Typeof 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:pathopens 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.confsets none. It has the icons ofeza --icons, each one cell wide. A font set inLimpet.confis 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_GETGEOMETRYproposed for AROS. Other consoles and older Limpet versions refuse it withERROR_ACTION_NOT_KNOWN. - Up to 16 reads can wait behind the one being served, and up to 16
WaitForCharcalls can wait at once. At the end of input every one is answered: reads with 0,WaitForCharwith true. A read still waiting can be taken back withXTY_ACTION_CANCEL. - A bare line feed also returns the carriage (line feed mode, as in
CON:).CSI 20 lturns that off,CSI 20 hon.
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 isLimpet-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 theLimpetdrawer andLimpet.infointoSYS: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.zipandLimpet-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 theLimpetdrawer andLimpet.infoto the SD card, for example intoUtilities. 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
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_RESETandXTY_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), andXTY_FEATURE_NERD_ICONS_EZAwithXTY_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
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
Typeof 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
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 toENV:orENVARC:.
Changes for programs
- The Amiga console's window-size query is answered only with the 8-bit CSI (
0x9B 0 SPACE q); the 7-bitESC [ 0 SPACE qis xterm's cursor-style request and gets no answer. - At the end of input (F5, Ctrl-\, a closed window)
WaitForChar()answers true andRead()returns 0. A loop that reads whileWaitForChar(fh, 0)is true must stop whenRead()returns 0. - Writes to a closed window fail with
ERROR_DEVICE_NOT_MOUNTEDinstead ofERROR_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
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 asCSI 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 asXTY_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
Limpet SDK 0.4.0
For AROS ABIv11, x86_64.
New
XTY_INPUT_MODIFIED_ENTER(8) inLimpetPresentation.input. Limpet 0.6.0 sets it: afterCSI > 4 ; 1 min raw mode, Shift+Enter arrives asCSI 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
helloexample 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.