Releases: compilando/norte
Release list
norte v0.3.0-alpha.4
Pre-release. Linux x86_64 only.
Downloads
norte_0.3.0-alpha.4_amd64.deb,norte-0.3.0-alpha.4-1.x86_64.rpm,norte_0.3.0-alpha.4_amd64.AppImage— the window (norte-gui) together with the daemon (norte) and the terminal client (ntc), in one package.norte-cli-x86_64-unknown-linux-gnu.tar.xz(norte),norte-tui-x86_64-unknown-linux-gnu.tar.xz(ntc) and their-installer.sh— without the window.
Requirements. Everything here was built on Ubuntu 22.04 and needs glibc 2.34 or newer; the window also needs WebKitGTK 4.1. Each artefact was installed and started in clean containers of Ubuntu 22.04 and 24.04, Debian 12 and 13, and Fedora 41 (ADR 0112). The AppImage expects the graphics and font libraries every desktop provides.
Checksums. SHA256SUMS covers every file; each archive also has its own .sha256. Nothing is signed yet.
Added
-
Your own themes by name. A theme saved as
~/.config/norte/themes/<name>.tomlis offered by the theme picker, the
first-run wizard and the settings screen in both frontends, previews live,
and can be set as[ui] theme = "<name>". The order is fixed: a bundled
preset first — a stalethemes/nord.tomlcannot change whatnord
means — then your themes directory, then the value as a path. A file that
does not parse is left out of the list rather than breaking the picker. -
norte theme importturns a Visual Studio Code colour theme into one
of yours:norte theme import OneDark-Pro.json --usewrites
themes/one-dark-pro.tomland sets[ui] theme. It follows the theme's
includechain, paints it overvscode-darkorvscode-lightso what the
theme leaves undefined is not monochrome, flattens translucent colours over
the editor background, and refuses a name that a bundled preset would
shadow. Comments and trailing commas in the JSON are fine;
tokenColorsis ignored. Seedocs/theming.md. -
Seti file icons. The
file-iconsextension has a fourth style,
seti: the icons Visual Studio Code shows by default, one per language
wherenerdhas one per class, so a Python file and a Go file no longer
look alike. They come from the same Nerd font, so the window's bundled
subset grew from 18 to 73 glyphs (16 KB) and a Nerd-patched terminal font
already has them. Twenty more extensions are recognised in every style
(html,css,vue,svelte,dart,scala,tex,xml…). -
Alt on its own opens the menu bar. In the window always (bridge 68):
press and release Alt with nothing in between, as on any desktop; Alt+F4,
Alt+Tab, an Alt-drag and AltGr do not count, and a dialog in front keeps
the keyboard as it does for F9. In the terminal behind[ui] alt_menu,
off by default: a lone modifier can only be reported under the kitty
keyboard protocol (kitty, foot, WezTerm, Ghostty — not tmux, xterm or
GNOME Terminal), and in that mode the terminal sends keys rather than
text: a letter typed with a dead key (é) or a symbol typed with AltGr
(@, #) arrives as its base key. -
Column widths by dragging in the terminal too. Drag the separator
that opens a column in the header; the width follows the pointer and is
written to[ui.columns]when you let go, the same key the window writes. -
Scrolling the window no longer flickers. Every update rebuilt the
menu, panel and key bars, the tabs, the title, the column header and
every visible row even when only the rows at the edge had changed; what
paints the same now stays the same node. The overscan grew from 8 to 24
rows, so a quick wheel gesture no longer shows blank rows at the edge
while the new ones travel. -
vscode-darkandvscode-lightpresets (spec 2026-09-11),
transcribed from Visual Studio Code's Dark Modern and Light Modern and
from the editor's built-in colour registry — a VSCode theme JSON is not
a complete palette, solist.*andscrollbarSlider.*come from the
registry, not from any file in theincludechain. Each preset's header
records where every role came from and where it diverges: on white,
VSCode's ownerror(3.35:1) andwarning(3.12:1) fall under the
4.5:1 that norte requires of a signal you have to read when something
has gone wrong, so both are darkened and the original values are named. -
The window paints a theme's file colours (ADR 0108, bridge 66).
[files.kind]and[files.ext]— half of what a theme file declares —
had never reached the window: every entry came out the same colour,
which reads as a broken theme rather than a plain one. An entry's
colour is resolved by the host against the filename's raw bytes and
travels in its row, because extensions are an open set and no CSS class
could name them. Four ofStyle's six attributes cross;bgand
reversestay behind so a theme cannot hide where the cursor is. The
scrollbar, row hover, widget surfaces and control focus rings now come
from the theme too, and the pane footer stops painting its text with a
border colour. -
Entry colours follow the desktop's colour scheme (bridge 67). With
theme_light/theme_darkset, flipping the desktop repainted the
chrome from one variant and left the file names coloured by the other. -
Ten chrome roles —
hover,input-background,input-border,
widget-background,widget-shadow,badge,scrollbar-slider,
separator,focus-borderandmuted— for the surfaces a modern
editor separates by elevation rather than by borders. A preset is not
required to define them (Role::COREis what completeness asserts):
the window's stylesheet derives each from a colour the theme already
has, so the eight existing presets gain nothing and change nowhere. -
The window, polished (spec 2026-09-11). Bundled typography —
JetBrains Mono for cells, Inter for chrome, 14 px on 22 px rows — with
[ui] font/mono_font/font_sizestill in charge; column widths by
dragging a header's edge, written to[ui.columns] widthand honoured
by both frontends, with the terminal's discard rule when the name would
fall under ten cells; keycaps on the key bar, small-caps headers, an
accent on the cursor, a mark checkbox on hover; breadcrumbs in the pane
title, a toast for notices, pills for persistent warnings, a two-pixel
gauge of the volume's usage in the footer;[ui] theme_light/
theme_darkfollow the desktop's colour scheme live, and a theme's
[effects] backdrop = "blur"blurs what lies behind a dialog (the
default preset asks for it). Bridge 64 and 65. -
A
thumbnailplugin kind (ADR 0107), in its own WIT package
norte:thumbnail@0.1.0so no installed guest needs a rebuild. A guest
lists mimetypes like a previewer, gets the file's bytes (capped at 8 MiB)
and the longest edge allowed, and answers a PNG/JPEG/WebP raster that
the plugin-host verifies — magic, declared mimetype, dimensions, edge —
before it crosses.plugin.thumbnail(protocol 0.73.0) carries it; the
window's viewer asks for one when it has no picture of its own and paints
it labelled «via ‹plugin›».org.norte.image-thumbis the first guest:
a photo too big for the viewer's cap now gets a picture. -
Plugins parametrised.
file-iconspaints one-cell Nerd Font glyphs
(style = "nerd", bundled in the window as a 3.8 KB subset) and takes
dir-iconandunknown-icon; two new columns plugins,size-bar(a
█░bar per file;scale,width,relative-to) andage(a glyph
per bucket and a short figure;thresholds,glyphs,format);
git-statustakesglyphs(letters or symbols) andignored. -
The chrome of an orthodox manager, derived and configurable (ADR
0106). A function-key bar on the last row of the terminal and a strip at
the bottom of the window, read from the keymap of the screen that owns the
keyboard; the panel bar names its buttons with the access letter
underlined; every listing carries a footer with counts, what is marked and
the free space of its volume; a dialog's key line is painted as clickable
buttons; a status notice expires into the log after eight seconds and
leaves a!nbadge that opens it; the modified column prints local time
with the precision the distance asks for (smart); the palette reads the
human label first and keeps the last five commands on top; the focused
cursor takes the theme's accent and the other pane's stays grey. Six
[ui]keys (key_bar,panel_bar_style,pane_footer,date_format,
notice_seconds,dialog_buttons), each a row on the settings screen and
a section of the newappearancehelp page. -
A first-start wizard. With no
norte.tomlof your own, both frontends
ask three things once — which file manager you have in your fingers, which
theme (previewed live), and whether your terminal shows icons — and write
the answers as configuration. Esc keeps the defaults and never asks again;
ntc --setupasks again;NORTE_NO_WIZARD=1keeps it closed.
Changed
- F9 opens the menu in six presets, as in mc, FAR, Norton Commander and
Total Commander; the theme picker moves toAlt+9. Krusader keeps F9 as
the terminal, as its source attests. - The mtime column is 12 cells (was 10), to fit
09-10 14:02. - A plugin may name a meaning, not a piece of chrome (ADR 0108,
amending ADR 0037).roleon a span or a decoration is validated
againstRole::REQUESTABLE— what a piece of content MEANS — rather
than against everyRole. The window's chrome and its state
(selection,status-bar,mark…) are no longer requestable: a badge
in the cursor's colour would lie about where the cursor is. A
non-requestable name degrades toNone, exactly as an unknown one
already did. No WIT bump; the twelve bundled plugins are unaffected. - The window's bridge is version 67.
Fixed
- A
lua:key in the window says it is not available. Lua runs in the
...