Today, we release the latest build of Nimi Places 20260705 which further increases use of low-level rendering, especially by revising code to use universal graphics wrapper.
Notably, build brings support for retaining item labels and click-count metadata during drag-and-drop and copy-paste operations. This means that now items moved across container will preserve their labels.
Build also brings numerous fixes, especially for issues that affected application performance.
- Added allowing process throttling on newer operating systems.
- Added asynchronously requesting containers and rules re-loading upon changes, to avoid calling thread from being blocked, while request is processed.
- Added closing settings window if there is no item is selected and escape key is pressed.
- Added graphics wrapper optimization when using GDI image as backend, for clearing parts of image.
- Added graphics wrapper optimization when using GDI image as backend, for filling parts of image with opaque colour.
- Added graphics wrapper, that handles shared graphics resources locking istead of handling those manually.
- Added invalidating container item hover after items being shown or hidden.
- Added requesting below normal memory preference on modern operating systems.
- Added shared pool for all basic brushes and fonts.
- Added support for retaining item labels and click-count metadata during drag-and-drop and copy-paste operations.
- Removed typographical font details cache, as metrics are now precisely measured and stored directly in the font wrapper.
- Revised files and directories visibility is handled during filesystem changes.
- Unified multiple generic comparators implementations to reduce code size and improve memory efficiency through broader instance reuse.
- Fixed background drawing of settings window list upon item deletion.
- Fixed collections lookup optimization using inversed conditional.
- Fixed container items order not being saved after inserting new items at specified index.
- Fixed entries in the drive type cache could not be flushed if they were written during the flush.
- Fixed last hovered container item optimization index not cleared upon filesystem changes, preventing hover update for same index.
- Fixed path validation returning false negatives due to using lowercase bitwise conversion for drive letter check.
- Fixed reading memory block of specified size not working due to typographical error causing to use internal buffer instead of provided.
- Fixed running truncation logic twice, when generating container title from its path.
- Fixed settings window not opening on rapid requests, by revising to use synchronized access for updating icon lists instead of dispatching update requests.
- Fixed using UI current culture instead of current culture.
- Removed language-dependent ellipsis substitution, as to unify ellipsis rendering to the standard to avoid inconsistent UI behavior across languages.
- Removed using managed comparators for numeric types.
- Revised controls using text rendering to use GDI images as backend.
- Revised drive type cache.
- Revised path truncation logic for UI to be consistent.
- Revised settings window container icon loading.
- Revised text rendering to use universal backend.
- Adjusted selection copying in the image viewer to avoid precision loss when mapping fractional bounds onto integer pixel dimensions.
- Other changes, updates and fixes.
