After over 4 years since the last release, today, we release the latest build 20240724 of Nimi Places.
Firstly we would like to express gratitude towards all the Users, whom despite issues kept using Nimi Places through all this time, which was especially turbulent and haphazard. Kudos to Them!
Over those 4 years numerous changes accumulated - some managed to be even removed during that period. Main goal for this release was to ensure coherent experience. For this purpose major focus was put on fixing issues and ensuring stability. We would like to emphasize that a lot of ground laying for the future changes has been made, which may not be easily noticeable.
Notable changes include:
improving HiDPI support (also fixing scaling issues); improving modern operating systems support; containers using own surface effects engine; container theming modularization; container selection is now being forgotten, when container loses focus; enhanced installation and uninstallation support, when unpacked under the Program Files directory; adding support for keyboard navigation between containers. Full list of changes can be found below and also in changelog of Nimi Places .
Once again big thanks to all the Users of Nimi Places.
Added "Preview" and "Edit" to container item context menu. Added bounds ordered containers list. Added computing preferred initial container size. Added container focus restoring from system dialogs. Added context menu theming for newer operating systems. Added extended view type for Place type container. Added ILCode for copying images alpha and applying masks. Added image viewer panning using numerical keyboard keys. Added index and count to image viewer title, when viewing collections. Added install/uninstall support to distribution package, when unpacked under the Program Files directory. Added language consideration to managed single-line string ellipsis logic. Added managed surface effects. Added multi-touch gesture support to containers and image viewer. Added option to navigate between containers by keyboard. Added partial container invalidation on non-archaic operating systems. Added rectangular image selection to image viewer using [key]17[/key] key. Added settings window animation on newer operating systems. Added support for batch printing using system print wizard for supported images. Added support for bringing containers to top of z-order and cycling through those using [key]91,64[/key]. Added support for changing container window opacity while scrolling. Added support for hsl colors use in themes. Added support for navigating and selecting container items using keyboard arrow keys. Added support for Place type containers raster themes to display header on bottom. Added support for resolving more applications to open with. Added support for selecting items in container using [key]17,65[/key] keys combination. Added support for showing single properties for multiple container items. Added support for single line view in Place type containers. Added support for specyfing container theme scrollbar margins. Added use locking to containers. Changed container list item view to align text to nearest edge instead of centering it. Changed container open all warning prompt to show for all operations for more than 10 items. Changed custom selection in image viewer to use [key]16,17[/key] keys combination. Changed generated Place type container buttons to use colorization color. Changed image viewer to ignore all key presses while left mouse button is down. Changed image viewer to specify restore position, when using maximized window. Changed image viewer upscaling limit to 10000 pixels in any direction. Changed Place type container to use theme counter font color only if theme provides counter background bitmap. Changed Place type containers to clear selection on losing focus. Changed retrieving string values from registry to ensure string type. Changed settings window to use unified bottom bar. Changed sorting by content to use same dictionary type. Changed that themed container resize margins minimal size is at least 4 pixels wide (DPI aware). Changed theme margins to be optional. Changed thumbnail engine to use same dictionary type. Changed thumbnails clearing to asynchronous. Changed thumbnails clearing to clear all thumbnails of given type (previously only for current specialization). Changed thumbnails directory specialization to be always applied (previously only if not in portable mode). Changed thumbnails directory specialization to be applied for each system. Changed thumbnails directory structure. Changed to directly apply alpha masks without buffering. Changed to directly iterate over registry instead of iterating over buffered data. Changed to directly use colorization color on newer operating systems. Changed to generate display ID only for non-primary displays. Changed to ignore scrolling due to mouse move if did not cause container scrolling. Changed [key]224[/key] to show menu for last selected item or under mouse if none is selected in container. Clarified Place type container themes color shorthands syntax. Decreased container scrolling factor. Further optimized container item renaming, when name did not change and renaming single item. Further unified container items text rendering. Improved wallpaper change detection. Limited custom selection in image viewer to 1024 points (first remembered is discarded on reaching this limit). Limited image viewer scaling to 300%. Limited showing "preview" option in container items context menu, when preferring shell execution. Optimized container repainting after resizing, when contents did not change. Optimized devices configuration changes detection. Optimized watching for network changes initialization. Restored colorizing darker surface brush. Reversed distribution package to use old icon style. Revised display changes detection to differentiate between display configuration change and workarea change. Unified container window opacity adjusting. Unified handling registry 32-bit/64-bit interoperability. Unified mouse up scrolling calculations between image viewer and containers. Unified settings list view mouse handling logic with containers. Unified system events handling. Fixed "Clear" button not being disabled in "Clear cache" dialog, when all options are unchecked. Fixed "Open with" context menu could still show, even if there was no specified opening application. Fixed aborting opening all container items not decreasing those use count. Fixed and revised enlisting directories. Fixed and revised font size metrics cache calculations. Fixed checkboxes events in clear cache dialog were not ignored during dialog initialization. Fixed clear cache dialog thumbnails checkbox being initialized as three state. Fixed clearing container selection not forgetting last selected item index. Fixed collections sorting optimization not being applied. Fixed container item context menu menus incorrect visibility due to invalid permission check. Fixed container item disposing could freeze. Fixed container item multi-selection not updating last selected item index. Fixed container item renaming not keeping extension letter casing and always using uppercase variant. Fixed container item renaming not starting from last selected. Fixed container item renaming. Fixed container item repaint queue removal logic. Fixed container item selection flickering (being painted twice) after showing context menu. Fixed container items menu printing not working due to target directory and file arguments being swapped. Fixed container rename dialog new name label not being correctly aligned to input field, when using custom DPI. Fixed container scaling handling using gestures being inverted. Fixed container scrollbar positioning not considering container margins. Fixed container search thread re-using variable might have caused unnecessary allocations. Fixed container show title on bottom menu state not being restored on load. Fixed container surfaces not regenerated after resizing due to display configuration change. Fixed context menu crashing due to invalid flag if RTL. Fixed controls intersection calculations. Fixed conversions between HSL and RGB color models. Fixed core timers IDs conflicts. Fixed delayed shell detection recovery. Fixed detecting displays configuration changes on newer operating systems. Fixed detecting displays position change. Fixed detecting shell not reseting previous detection result. Fixed detecting storage devices availability changes on newer operating systems. Fixed directory observer adding signed as unsigned. Fixed distribution package information icon scaling. Fixed drawing filter icon. Fixed dropping files into directories displayed in containers. Fixed extension shell actions availability invalid flags. Fixed first drag and drop preview container item decided before those sorting. Fixed font could be leaked during initialization. Fixed generating container items visibility map. Fixed hourly schedule selector time not wrapped under some conditions. Fixed hourspan selector inverted selection moving. Fixed HTTP requests skipping converting response bytes to string result, Fixed image viewer not handling mouse up event, when mouse is outside viewer bounds. Fixed inconsistent scrolling container items into view. Fixed infinite loop for finding application handling requested shell command. Fixed invalid margins minimum size adjustment using left coordinate for all. Fixed last off-screen item not being queued for repaint on container load. Fixed line separator drawing on newer operating systems. Fixed managed single-line string ellipsis not respecting RTL. Fixed missing taskbar progress for media player. Fixed mouse delegate procedure not suppressed from finalization. Fixed network resource opening dialog text could be cropped on custom DPI. Fixed newly retrieved thumbnails not used for other thumbnails. Fixed numerical keyboard buttons not controlling scaling. Fixed only allowing pasting to containers if copying is allowed effect. Fixed place type container custom themed selection not being adjusted to DPI scale. Fixed Place type container theme scrollbar generation for short scrollbars. Fixed Place type container themes margins field being treated as optional during loading, but not in specification and not during theme packaging. Fixed Place type containers themes specification wording for plurals. Fixed possible reference issue on double container item buttons mapping. Fixed quick setup desktop preview taskbar drawing. Fixed resolving supported shell commands for extension, when "open" commands are indistinguishable. Fixed rounded rectangles radius not being relative. Fixed scrolling searched container item into view. Fixed searching container on activating items via keyboard (pressing [keys=enter]). Fixed settings list view item height not considering on font size. Fixed settings list view scrollbar position not being updated incorrectly. Fixed showing on-line help from settings window closing it. Fixed system color scheme changes handling. Fixed system look adaptation for newer operating systems. Fixed theme packaging not writing BOM marker. Fixed themed container title bar using items block width instead of available viewport width. Fixed thread error handler not caching some errors, possibly due those type widening. Fixed thumbnails not being released on assignment failure in settings. Fixed unique thumbnail generating sub-optimal cache use. Fixed unselecting other items than clicked when quick dragging. Fixed update dialog text could be cropped on custom DPI. Fixed use count not increased on retrieval in use counted dictionary. Fixed use of unaligned ILCode. Fixed using critical icon for non-critical component initialization failure messages. Fixed using invalid variable for generating package name during updating. Fixed video or music directories not marked as interactive. Fixed wrong database compare exchange use, due expecting true on successful exchange - while function returned false in such case. Fixed XML not correctly adding first parsed entry. Fixed XML parsing handling empty tags. Disabled showing "preview" option in container items context menu for internally pre-viewable types. Removed elevation icon from distribution package button. Removed measuring trailing spaces for text generation. Removed saving last packed theme directory. Removed support for container scrolling using [key]38[/key] and [key]40[/key] without modifiers (now automatically scrolled with item navigation). Removed system surface effects support. Enhanced "installation" support. Improved DPI dependent rendering related calculations. Improved themed controls support for system color scheme. Increased default containers resize margin. Increased resolution of bundled Place type container berry themes. Modularized and revised container theming. Optimized avoiding collections sorting. Optimized clipboard and drag and drop supported type checking. Optimized container double click handling. Optimized container scale adjustment. Optimized context menu creation. Optimized corrals type collections clearing. Optimized directories listing. Optimized files and folder rules ID hash generating. Optimized hourspan selector selection type decision to happen on mouse down not on mouse over. Optimized scrolling to container top and bottom using keys. Optimized some loops. Renamed "Always use composition" to "Eagerly use advanced composition" setting. Revised collections. Revised container header text generation. Revised container item search. Revised container item types inheritance. Revised container items drag and drop preview. Revised container searching key press filtering. Revised context menu icon setting. Revised delayed container mouse down event processing logic. Revised displays configuration cache. Revised distribution package code. Revised image viewer image scaling handling and synchronization. Revised leading selected container item resolving. Revised margin and padding parsing. Revised media player seeking. Revised parallel initialization. Revised Place type container themes listing. Revised resolving shell details for extensions. Revised system registry access. Revised theme packing messages. Revised thumbnails clearing. Simplified font point size retrieval. Updated dialogs mnemonics. Updated distribution package header control. Updated Place type containers themes specification. Updated upgrade thumbnails clearing to consider new structure. Other changes, fixes and updates.