A note on the executable size
Over the last few releases, Favnyr's executable had been getting bigger, and I couldn't figure out why. None of the features I had added explained the increase. I checked the usual suspects, like the image decoders and the renderer, but they weren't responsible.
The problem was how translated labels were stored. They were all kept together in one large structure. The interface accessed this structure in about 450 places, and each access copied the entire structure just to get one label. The compiler generated code for all those copies, making the executable much larger. As more translations were added, the executable kept growing for no good reason.
Now, each label is stored separately and accessed directly. None of the translations or their files had to change.
The executable is now about 60% smaller on windows and 35% smaller on linux. I confirmed this by comparing two builds that were otherwise identical. Favnyr is light again, as it was always meant to be.
As always you can see the full changelog below :
Done in V0.3.6
📋 View full changelog
Executable size (much lower)
- Translated labels now use individual Slint properties, avoiding copies of a large shared structure when reading a single label.
- On the measured Windows release, this change reduces the executable from 94.30 MiB to 37.19 MiB, about 60.6%, with the same build profile and features.
3D thumbnails #23
- Added thumbnails for
.3mf,.blend, 7-Zip is needed for compressed.blendfiles & uncompressed.blendfiles need no external tool. STL files, binary or ASCII, now receive a shaded CPU-rendered thumbnail.OBJ,GLBandglTF 2.0files use the same lightweight renderer for static geometry. OBJ polygons, including concave faces, and glTF scene transforms are supported. Textures, materials and skeletal or morph deformation are outside this preview renderer's scope.- CPU rendering has bounded memory and computation, with a ten-second budget. Models exceeding the preview limits keep their usual icon or Windows shell preview. No thumbnail cache is written to disk.
Properties panel #11
- Favnyr now has its own Properties panel, for sessions with no desktop file manager to ask for one. Three tabs: general facts, permissions and checksums.
- General lists the type, location, size and size on disk, and the creation, modification and access dates. A symbolic link reports itself rather than its destination, names that destination, and says so when it is broken.
- Permissions, on Linux, offers the three classes of users, an execute switch, the owner and group, and the mode in octal. A permission the three usual choices cannot express is shown as it is instead of being rounded, and changing one class leaves the others, the execute bits and the setuid, setgid and sticky flags untouched.
- Checksums computes MD5, SHA-1, SHA-256 and SHA-512 in a single pass. A checksum pasted from a download page is compared against them, and the verdict names the algorithm that matched.
Running programs #12
- On Linux, a program or script launched from Favnyr that fails in its first seconds now shows what it printed instead of failing in silence, so a message like "run with sudo" reaches you. A later failure is written to the log only.
Safe closing during file operations #27
- Closing Favnyr during file operations now offers staying in Favnyr or cancelling the operations and quitting.
- After confirmation, Favnyr waits for operations to stop and temporary files to be cleaned up before exiting. Already completed changes are kept.
- The guard also covers pending archive jobs, emptying the trash and device ejection. Normal closure is protected on Windows and Linux; forced process termination and crashes remain outside this protection.
Search subfolders #26
- The name filter can now search the current folder and its subfolders. Results arrive progressively.
- Hovering a result's name shows its full name and containing folder, helping distinguish files with the same name in different locations.
- Results from subfolders offer a "Containing folder" submenu: open the folder in the current tab or a new tab, with the result selected.
Sorting
- Names now use natural numeric sorting, so names beginning with
1_come before those beginning with10_. #28 - Added optional secondary sorting, with an independent column and direction remembered by each tab and workspace. Date sorting can also group items by day before applying the secondary criterion. #24
Workspaces #22
- Loading from the Workspaces panel (CTRl Q) and loading with numbered shortcuts (CTRl+1, CTRl+2...) now have independent settings: ask about unsaved changes, continue without saving, or save the current workspace first. Starting a new workspace from the panel follows the panel's setting.
- Both settings default to "Ask when changes are unsaved". Existing saved preferences are preserved, and each confirmation can remember the choice for its own loading method.
Navigation and feedback
- Shift+wheel scrolls a view horizontally when its columns overflow.
- Added "Previous view", bound to Shift+Tab by default and configurable in Settings. Tab and Shift+Tab cycle through views in either direction.
- Ctrl+L now focuses the address editor and selects the whole path. A right-click on a path segment or chevron also selects the path before opening Copy/Paste. A left-click in the address bar dismisses that menu correctly.
- Grid item names can be read in full by hovering their captions. Long tooltip text wraps within the window, including tab paths.
- General settings now group tooltip preferences together, with separate enabled-by-default options for grid names and subfolder-search paths.
- Added a default thumbnail zoom level in Settings. Ctrl+wheel briefly shows the applied level beside the pointer; the badge disappears after the last wheel step.
Drag and drop
- Improved Windows external drag feedback, final drop-target detection and focus for the Move/Copy/Link menu.
Windows and translations
- Simplified Chinese now explicitly uses a Chinese UI font on Windows to improve missing-character fallback, without bundling a font.
- Refined Simplified Chinese terminology for views, quick access and shortcuts.
Network and mount recovery
- Clicking a view whose folder could not be read now retries in the background, including when that view is already active. Explicit UNC retries can use the existing Windows credentials dialog; automatic retries remain silent.
- Unavailable favorites recover their availability and file icon after mount changes, returning to Favnyr or successfully navigating a network folder.
Cyrillic keyboards #29 #30
- Letter shortcuts such as Ctrl+C now work on a Cyrillic keyboard. Settings → Keyboard shortcuts has a "Keyboard layout for letter shortcuts" list, off by default, offering "Russian (standard)" and "Ukrainian (standard)".
- Bindings you set yourself always take priority, stored shortcuts are never rewritten, and Latin shortcuts keep their usual behavior. Plain typing, Shift typing and Ctrl+Alt combinations are excluded, so typing to filter and AltGr are untouched.
- The first time a letter shortcut goes unanswered on a non-Latin keyboard, Favnyr says once where the setting is, and never mentions it again.
What's Changed
- Normalize letter shortcuts on Cyrillic layouts by @Denn-Freigeist in #30
New Contributors
- @Denn-Freigeist made their first contribution in #30
Full Changelog: v0.3.5...v0.3.6