Releases: xls/holos
Releases · xls/holos
Release list
v0.16.0
Alt+Xsends the selection to a LocalSend device: a native, send-only implementation of the protocol - devices found by multicast and a subnet scan, or a typed address; PIN when the device asks; runs as a job with a progress bar and cancel; encrypted to the device's own certificate, pinned to the fingerprint it announced. The picker says what is going (Send folder - 12 files) and warns past 50 files.- The serve dialog stamps each answered request with the time.
v0.15.0
dav://connections work: the WebDAV client's HTTP library refusedPROPFIND,MKCOLandMOVEas methods HTTP/1.1 does not define, so every WebDAV connect failed at its first listing; proven by hcmd connecting to its ownCtrl+Nshare.Ctrl+Nlistens onserve.port(8080; any free port when that is taken, and the dialog says so) so a firewall rule can name it; the dialog names the host firewall that is on - ufw, firewalld, nftables or iptables - says whether it blocks the port, and shows the command that opens it.- The serve dialog has a Stop serving button, a ten-row request log, and a fixed size that truncates long lines instead of growing.
- In the rendered view the focused link is the one the cursor stands in:
Tabfinds the next link after the cursor and puts the cursor on it, and moving off a link drops its underline and marker.
v0.14.0
Ctrl+Nserves the selected files and folders over HTTP and WebDAV for as long as its dialog is open: the dialog lists the addresses to reach it on and logs the last five requests; the index page is plain HTML with name, size and date, downloads resume, and another copy of hcmd can connect to it as adav://remote.- Links are underlined when the cursor stands on them, in the rendered view and over a bare URL in plain text, so what
Enterwill act on is visible. - Mode 3 selects and copies the rendered text:
Shiftwith the arrows,Ctrl+AandCtrl+Ctake what is drawn, never the Markdown or HTML source; the cursor keeps its column across blank lines.
v0.13.0
- A download manager:
Ctrl+Dfetches a URL into a per-session downloads folder (Alt+Jopens it) as a background job with a progress bar, resumable and cancellable like a copy; a file already there asks Resume, Overwrite, Rename or Skip through the copy's own dialog. - The viewer walks links:
TabandShift+Tabmove between them in the rendered view and over barehttp(s)://in plain text;Enterdownloads a file link or opens a page in the browser,Shift+Enteralways opens the browser. - The viewer has a key bar of its own along the bottom, naming the mode keys and its function keys as the keymap binds them.
- A copy installed with
npx holos-installeris offered a self-update when a newer release is out; Skip waits for the next one. - Keys moved: the change-drive fallbacks are
Alt+WandAlt+E, the job queue'sAlt+B; the hotlist lives in the drives popup under a divider, freeingCtrl+Dfor downloads andAlt+Jfor the downloads folder. - The update check runs once at startup (
ui.check_for_updates) and blinks a notice on the right status bar untilAlt+Udismisses it. - The About page names the author and the repository, and thanks Christian Ghisler for Total Commander.
v0.12.0
- On an Omarchy desktop, an
omarchytheme paints the panel from the desktop's own colour scheme; it is built from the live palette rather than fetched from the repository, and appears in theAlt+Tpicker only where Omarchy is installed. - The omarchy theme follows the desktop: changing the desktop theme recolours a running session in place, through a small
theme-sethook hcmd installs itself and aSIGUSR1reload.
v0.11.0
- The default theme is now tokyo-night; the blue theme and the other twenty still ship,
Alt+Tswitches between them, andHCMD_THEMEforces one for a single run. - A SQLite table opens at once: its columns are known before the rows stream in, the rows page by rowid so a million-row table fills in linear time, each column is sized to its own values, and the first is the row id under the name the table gives it rather than "Name".
- The hex viewer's binary templates walk a format's chunks, so a WAV's format, sample rate and bit depth read correctly past a
JUNKorbextchunk instead of as zero; the same walk serves AVI, WebP and other RIFF files. - A ZIP whose sizes follow the data - a streamed archive, an APK - shows them as "deferred" rather than a misleading 0.
- Entering an archive that sits on a remote host no longer blanks the panel until the whole file has downloaded: the way out appears at once, the download shows a progress bar in the status line, and leaving cancels it.
PgUpandPgDnwithin a page of the top or bottom of a file land on its first or last byte instead of doing nothing.- The
F9menu's dropdown fills the width of its box under a rule, rather than a narrow column hung under its title. - A tab left inside an archive, disk image or database reopens in the folder that holds the file, not the home directory.
v0.10.0
- Browse a SQLite database as directories: Enter a
.db/.sqlitefile to list its tables, enter a table to stream its rows, and each row reads as JSON with F3 and copies out as<database>.<table>.<id>.jsonwith F5. Read-only. - A table's own first columns become the panel's columns, so Ctrl+2 sorts by the second column of the database and Ctrl+3 by the third, like any other column.
- The SQLite backend is a default-on
sqlitebuild feature;cargo build --no-default-featuresproduces a pure-Rust binary without it, and everything else is unaffected. - A listing can now define its own columns rather than only choosing among the panel's built-in ones, with per-row values that sort as numbers or text.
- A backend can suggest the format the viewer reads a row as, so a database row named
10000still opens as highlighted JSON.
v0.9.13
- Holding Ins in a large directory no longer skips rows or marks them twice: a rescan that finished while you were moving used to put the cursor back where it had been when the rescan started.
- A directory that changes while it is being read no longer starts a second read on top of the first every 200 ms.
- Shift with a movement key sweeps the mark, the way Total Commander does it: shift+up, shift+down, shift+pgup, shift+pgdn, shift+home and shift+end. The row the sweep starts on decides whether it marks or clears, and a partial page at either edge sweeps to the edge.
v0.9.10
- A background copy or move now refreshes the destination panel the moment it finishes, instead of leaving a stale listing until the next Ctrl+R.
v0.9.9
- Alt+F9 opens a background jobs dialog: a progress bar per job, an overall bar, and a small activity indicator in the panel's bottom-right corner while any work is running.
- In that dialog Del cancels and removes a job at once; a completed or cancelled job disappears on its own, and the dialog closes once nothing is left.
- A background task that blocks on a question is brought to the foreground on its own, so the prompt is on screen instead of waiting unseen in the queue.
- The size cell animates while a folder is being walked, in place of ; the style is configurable (panel.size_walk_style, off to keep ).
- The panel's top bar shows free space in human-readable units with the percentage in use, rather than a raw kilobyte count.
- hcmd --update-config appends commented examples of newly added options to an existing config without changing any of your settings, and the installer offers to run it.
- The configuration is reloaded as soon as the editor opened from the menu's "Edit configuration" is closed.
- Below its minimum screen size the app now says so, and its size, and lets you quit with Esc, F10 or Q instead of drawing a broken layout.