<!-- SPDX-FileCopyrightText: 2025-2026 Elias Bachaalany --> <!-- SPDX-License-Identifier: GPL-2.0-or-later -->
Sally остаётся бесплатной: все функции и обновления доступны каждому.
Щелчок по серверу или корню сети в строке папки теперь открывает представление «Сеть». Ссылки на общие ресурсы и папки по-прежнему работают как обычно. (#155)
Выберите При каждом запуске в разделе Параметры → Настройка → Общие → Проверять обновления, чтобы при каждом запуске немедленно выполнялась фоновая проверка. После неудачной попытки проверка повторится при следующем запуске. Существующие варианты интервалов работают по-прежнему. (#150)
Тема и Цвет значка объединены в группу Оформление приложения на странице Интерфейс. Доступные варианты значков и сохранённые настройки остаются без изменений. (#151)
Sally остается бесплатным: все возможности и обновления доступны каждому. Добровольная поддержка помогает продолжать разработку.
Выберите цвет значка приложения в разделе Параметры → Настройка → Главное окно. Снова доступен цвет «Синий», и программа обновления следует сохраненному выбору. (#146)
Подтверждение обновления стало компактным; ненавязчивое предложение поддержать проект появляется после обновления и при проверке новых версий. Пользователи с действующей поддержкой его не видят.
Программа обновления использует ваш шрифт панели либо шрифт диалоговых окон Windows. (#147, в программе обновления)
При закрытии Sally ожидающие запланированные задачи обновления корректно отменяются.
Для имен файлов с диакритикой преобразование регистра теперь учитывает Unicode. (#148)
File Comparator применяет настройку горизонтального расположения к открытому сравнению и добавляет кнопки переноса строк и ориентации панелей на панель инструментов. (#137)
Уже поддержали Sally? Получите свой значок поддержки
Спасибо! Если вы внесли пожертвование через PayPal или Buy Me a Coffee и еще не запросили значок, напишите на badges [at] get-sally [dot] app. Укажите платежный сервис, имя, использованное при пожертвовании, или номер транзакции, а также имя или псевдоним для отображения в Sally. Напишите с адреса, на который хотите получить ключ поддержки, или сообщите адрес доставки.
Я найду ваше пожертвование и отвечу с ключом поддержки. Обычно это занимает до одной недели. Ваше имя остается локально в Sally; все возможности и обновления остаются бесплатными.
Sally 1.0.39 добавляет возможность по желанию отображать благодарность поддержавшим проект, примечания к выпуску внутри приложения и улучшения повседневной работы с файлами и средствами просмотра.
Все возможности и обновления остаются бесплатными. Добровольная поддержка приветствуется; ключи поддержки подтверждают пожертвование и не открывают дополнительные функции.
Импортируйте офлайн-ключ поддержки, проверьте имя и даты поддержки и при желании показывайте имя поддержавшего пользователя в заголовке окна. Управляйте ключом через небольшое меню рядом с кнопкой Закрыть.
Читайте переведенные примечания к выпуску через Справка > Что нового, в том числе без интернета, либо в окне обновления рядом с проверенными сообщениями сопровождающего проекта.
Четче различайте выделенные файлы в темном режиме с сохранением собственных цветов.
Используйте обновленную библиотеку 7-Zip 26.04 с фильтрами для ARM64 и RISC-V.
Выбирайте шахматный, светлый или темный фон для предпросмотра SVG.
Используйте встроенные операции и зарегистрированные расширения оболочки в одном меню при перетаскивании правой кнопкой.
Сравнивайте текст с переносом строк и выравниванием обеих панелей; копирование сохраняет исходный текст.
После перехода между изображениями нажмите F или выберите Файл > Перейти в PictView, чтобы вывести Sally вперед и установить фокус на отображаемый файл, сохранив выделение файлов.
Запускайте новый профиль без преждевременной инициализации имени поддержавшего пользователя в заголовке.
Меню и панели инструментов в темном режиме остаются видимыми при перемещении окна за пределы экрана (#134).
Учитывается выбранный язык программы обновления Sally, включая английский в Windows с другим языком (#135).
Программа обновления получает шрифт диалоговых окон и синий значок приложения Sally, а кнопки подтверждения — выбранный язык (#136).
Значки и кнопки панели File Comparator масштабируются согласно настройке экрана Windows (#137).
Web Viewer показывает понятное сообщение при известных ошибках инициализации, включая этап, код ошибки и запрошенный путь к файлу или URL (#131).
Снимки экрана Windows в README обновлены по кандидату 1.0.38, а для старой иллюстрации Wine указана фактическая версия.
Продолжение работы
Перенос строк в File Comparator и более широкая проверка DPI модулей остаются задачами по #137. Для исходной ошибки SVG в #131 все еще нужен файл автора сообщения; новая диагностика не устанавливает причину. Исходное изображение миниатюры и повторная проверка по #133 также ожидаются.
Sally 1.0.37 самостоятельно проверяет новые выпуски и показывает их в собственном окне обновления: модуль Check Version больше не используется. Также исправлены перетаскивание в сетевые папки, не поддерживающие метку "загружено", Отправить › Сжатая ZIP-папка, миниатюры для длинных путей, поздно заполняемые подменю и добавление новых модулей в существующие конфигурации.
Изменения
Контекстная отмена. Когда фокус находится на файловой панели, Ctrl+Z или Правка › Отменить отменяет последнюю операцию, записанную оболочкой Windows, включая удаление в Корзину из Sally. В меню указано текущее действие, например Отменить удаление. Windows делит эту историю с Проводником. В командной строке и текстовых полях Ctrl+Z по-прежнему отменяет редактирование текста и ничего не делает, если отменять нечего. Безвозвратное удаление таким способом не восстановить; собственные операции копирования, перемещения, переименования, работы с архивами и модулями Sally не всегда используют историю оболочки. Удаление из длинных путей теперь использует механизм Корзины оболочки, а не обходит его. Windows все еще может предложить безвозвратное удаление для объектов, которые невозможно поместить в Корзину.
Окно обновления.Справка › Проверить обновления открывает программу обновления Sally (utils\salupdate.exe). Она показывает установленную и последнюю версии и примечания к выпуску. Установить и перезапустить загружает выпуск, проверяет опубликованную SHA-256-контрольную сумму, закрывает Sally, заменяет файлы и снова запускает Sally, как в 1.0.36. Sally также проверяет обновления вскоре после запуска, раз в неделю, если не выбрано иное в Настройка › Общие › Проверять обновления (от ежедневной проверки до раза в полгода или никогда). Если новой версии нет, ничего не появляется. Окно открывается, не забирая клавиатурный фокус. Сам Sally больше не выходит в сеть за обновлениями; это делает только программа обновления.
Check Version больше не используется. Его расписание и настройки переносятся, а модуль удаляется из конфигурации и папки Sally. Теперь выпуск перечисляет устаревшие файлы, и программа обновления удаляет их, возвращая на место при сбое обновления.
Профили командной строки и действия при запуске.-profile name хранит настройки в отдельной именованной конфигурации. -do view или -do edit после запуска открывает файл с фокусом на активной панели с помощью настроенного просмотрщика или редактора. Путь панели может указывать на файл, например sally.exe -profile preview -l "C:\Pictures\beach.jpg" -p 1 -do view.
Перетаскивание в NAS (#118). Перетаскиваемый файл с меткой "загружено из интернета" копируется в назначение, которое не поддерживает такие метки, как и при F5, вместо молчаливого пропуска. Если перетаскивание невозможно, Sally сообщает об этом.
Отправить › Сжатая ZIP-папка (#20) снова создает архив.
Поздно заполняемые подменю контекстного меню (#13, #15). Отправить, Добавить в библиотеку и подобные подменю показывают свои пункты.
Миниатюры (#31) отображаются для путей длиннее 260 символов и больше не показывают красный цвет синим.
Модули, добавленные в поздних выпусках (Обсуждение #89), появляются и в более старых конфигурациях. Модуль, удаленный вами через Диспетчер модулей, остается удаленным.
PictView (#130) добавляет форматы установленных кодеков (WebP, HEIC, AVIF, camera RAW, JPEG XL) в список просмотрщика, в том числе в конфигурациях из 1.0.34–1.0.36.
PictView на экранах HiDPI (#132). Значки панели инструментов, меню и строки состояния масштабируются вместе с настройками экрана Sally, а строка состояния резервирует для них достаточно места. Панель гистограммы также масштабируется.
Web Viewer (#131) показывает страницу ошибки при сбое перехода. Ошибки инициализации все еще могут оставлять пустую страницу; расследование сообщенной проблемы с SVG продолжается.
Подсказки папок (#51). Поля назначения в окнах «Копировать», «Переименовать/переместить» и «Сменить папку» предлагают подходящие папки по мере ввода (Настройка › Общие).
Создать › Папку открывает новый объект для переименования на месте (Обсуждение #3); переход Назад или Вперед в удаленную папку приводит в ближайшую существующую родительскую папку без ошибки (Обсуждение #54).
Примечания к обновлению
С версии 1.0.36: в последний раз используйте Модули › Check Version › Check For New Versions и Установить и перезапустить. Sally 1.0.37 удаляет Check Version; далее используется Справка › Проверить обновления.
С версии 1.0.35 и старше: программы обновления еще нет. Закройте Sally и распакуйте 1.0.37 поверх папки Sally. Если Windows сообщает, что salextx64.dll занят, переименуйте файл (например, в salextx64.dll.old) и повторите копирование.
Без интернета: перетащите ZIP-файл выпуска на utils\salupdate.exe, положив рядом его SHA256SUMS.txt.
Sally 1.0.36 обновляет себя сам. Теперь Check Version устанавливает новый выпуск за вас, как и самостоятельно загруженный ZIP-файл выпуска. Расширение оболочки больше не мешает обновлениям, исправлен сбой из-за сторонних модификаций оболочки, а отчеты о сбоях упаковываются в .zip для прикрепления к issues на GitHub.
Изменения
Установить и перезапустить. Когда Check Version находит новую версию, его окно предлагает Установить и перезапустить. Sally загружает пакет для вашей платформы и сверяет SHA-256-контрольную сумму выпуска (собственная сумма GitHub тоже должна совпасть). Затем распаковывает пакет, проверяет, что это сборка Sally для вашего процессора, и один раз запрашивает подтверждение. Все окна Sally, запущенные из той же папки, закрываются, файлы заменяются, а Sally запускается снова и сообщает результат. До готовности новых файлов ничего не меняется. Если файл нельзя заменить, все возвращается в точности как было. Конфигурация и файлы, не входящие в выпуск, не затрагиваются. Для папки Sally в Program Files один раз запрашиваются права администратора.
Обновление из скачанного ZIP-файла, в том числе без интернета. Перетащите ZIP-файл выпуска на utils\salupdate.exe или выполните salupdate.exe Sally-v<version>-<platform>.zip. Если рядом есть SHA256SUMS.txt этого выпуска, контрольная сумма ZIP-файла должна совпасть. Без него появляется предупреждение и запрос подтверждения. Программа обновления показывает установленную и новую версии (и спрашивает перед установкой старой), закрывает Sally, устанавливает и снова запускает Sally. --yes выполняет это без участия пользователя. При запуске без аргументов программа отменяет прерванное обновление, например после отключения питания. Сообщения следуют языку Sally.
Расширение оболочки больше не блокирует обновления (#128). Проводник держит utils\salextx64.dll загруженным, поэтому перезапись папки Sally останавливалась на этом файле. Программа обновления переименовывает загруженный файл (Windows это разрешает), ставит новый на его место, а Sally удаляет старую копию при последующем запуске, когда Проводник освободит ее. Ничего не записывается в общесистемный реестр и не планируется на перезагрузку. При очистке расширений оболочки, зарегистрированных другими папками Sally (#82), Sally теперь удаляет только регистрацию.
Исправлен сбой при удалении с некоторыми модификациями оболочки (#129). Темные заголовки Sally использовали функцию Windows из dwmapi.dll, не удерживая DLL загруженной. Если другая внедренная в Sally программа выгружала ее (наблюдалось с модом Windhawk), следующее окно, например прогресс удаления, вызывало сбой. Sally и модули теперь удерживают DLL загруженной. Проблема не была специфична для ARM64.
Отчеты о сбоях в .zip (#129). Отправитель отчетов упаковывает отчет в .zip, который можно прикрепить к issue на GitHub, и больше не требует для этого модуль 7-Zip. Также ошибка исполнения теперь правильно называется, а не обозначается как "запись".
Примечания к обновлению
В Sally 1.0.35 и старше программы обновления еще нет: чтобы перейти на 1.0.36, в последний раз закройте Sally и распакуйте ее поверх папки Sally. Если Windows сообщает, что salextx64.dll занят, переименуйте его (например, в salextx64.dll.old) и скопируйте снова. Начиная с 1.0.36 используйте Установить и перезапустить или salupdate.exe.
Программа обновления хранит загрузки и журнал в %LOCALAPPDATA%\Sally\Update и удаляет загрузки после завершения обновления.
Sally 1.0.35 исправляет внутренний просмотрщик для больших текстовых файлов и Unicode, восстанавливает Изменить атрибуты, контур выделения PictView и кнопку «Выделить/снять выделение с просматриваемого файла на панели или в окне поиска» и направляет отчеты о сбоях на GitHub вместо старого сервера.
Изменения
Просмотрщик: большие файлы открываются сразу (#125). Текст, который декодирует просмотрщик (UTF-8 с не-ASCII-символами или любой файл с BOM), больше не сканируется с начала до появления первого экрана. Файл UTF-8 размером 100 МБ открывается примерно за десятую долю секунды (51 секунда в 1.0.34), а переход к концу требует обработки примерно одного экрана.
Просмотрщик: конец файла снова доступен (#124). Прокрутка декодированного текста могла останавливаться за несколько строк до конца, обычно при пустых строках ближе к концу. Ctrl+End и прокрутка теперь достигают последней строки, а построчная прокрутка перемещает ровно на одну строку. Это также было настоящей причиной #64.
Изменить атрибуты снова работает (#126). Ctrl+F2 с 1.0.27 выдавал "Error Building Script" для каждого файла. Теперь атрибуты применяются; у ссылок (junction и символических) меняется сама ссылка без перехода к ее назначению.
PictView: контур выделения виден (#127). Инструменты выделения и масштаба рисовали контур, которого не было видно на изображении. Теперь это снова движущийся черно-белый контур ("бегущие муравьи"), заметный на светлых, темных и пестрых изображениях; копирование выделения через Ctrl+C работает как раньше.
PictView: команда «Выделить/снять файл на панели или в окне поиска» отражает состояние панели. Кнопка панели инструментов и пункт меню снова показывают, выделен ли просматриваемый файл в панели, в том числе после Space и Backspace, при открытии просмотрщика на выделенном файле и после изменения выделения в Sally.
PictView: выделить и продолжить одним сочетанием. Ctrl+Shift+Space выделяет или снимает выделение с просматриваемого файла на панели и переходит к следующему; Ctrl+Shift+Backspace делает то же с переходом назад. Это работает на клавиатурах ноутбуков и Mac без Insert. Space, Shift+Space, Ctrl+Space и Insert сохраняют свои значения.
Отчеты о сбоях направляются на GitHub. Раньше отправитель загружал их на уже несуществующий сервер. "Сообщить на GitHub" теперь открывает новый issue в браузере с краткой сводкой — версии Sally и Windows, ошибка, модуль и смещение, только имена функций — и описанием ваших действий для проверки перед отправкой. Полный отчет и дамп памяти остаются на компьютере в одном архиве; сопровождающий проекта может запросить их частным образом. Поле контактного адреса электронной почты удалено.
Переводы. Исправлены двенадцать повторяющихся клавиш доступа в переведенных меню и окнах, переведены окно О программе PictView и нидерландская настройка заголовка, а ссылки помощи ведут к issues Sally на GitHub.
Примечания к обновлению
Во внутреннем просмотрщике декодированный текстовый файл со строкой длиннее 10 000 символов теперь предлагает перейти к шестнадцатеричному виду, как это уже было для обычного байтового текста.
Отчет о сбое из предыдущего сеанса предлагается один раз тем же способом; после отправки или закрытия окна он исчезает из списка.
Sally 1.0.34 возвращает PictView: просмотрщик изображений Sally заново реализован на Windows Imaging Component с возможностями, оформлением и клавиатурным управлением старого модуля на всех встроенных языках.
Изменения
PictView возвращается. Просмотрщик, конвертер изображений и генератор миниатюр реализованы заново: декодирование и сохранение выполняются через Windows Imaging Component (WIC), внутри Sally и полностью с Unicode. Он заменяет модуль с закрытой движковой частью, который нельзя было включить в открытый Sally, и сохраняет прежние возможности: меню и панель инструментов Sally в просмотрщике, привычные окна (Настройка, Свойства изображения, EXIF, Масштаб, Открыть страницу, Переименовать файл, Копировать файл в, Захват экрана, панель параметров Сохранить как, Печать с предпросмотром страницы), окно гистограммы, полный экран, пипетку, выделение и обрезку, а также прежние клавиатурные сочетания.
Больше форматов. Форматы установленных на ПК WIC-кодеков — HEIF, AVIF, WebP, camera RAW и другие из Microsoft Store — открываются в просмотрщике и получают миниатюры в панелях.
EXIF словами. Окно EXIF именует каждый тег и расшифровывает значения вспышки, программы экспозиции, экспозамера и ориентации на вашем языке. Каждая страница многостраничного TIFF показывает свой EXIF, а Свойства изображения — комментарии из JPEG, PNG и GIF.
Детали просмотрщика. Оптимизированные анимированные GIF воспроизводятся правильно; у больших изображений есть полосы прокрутки и прогресс загрузки; изображения с неквадратными пикселями (факсы и некоторые сканы) показываются с правильными пропорциями; пипетка показывает индекс палитры индексированных изображений.
Обновить эскизы. Команда меню модуля записывает в выбранные JPEG новую миниатюру, как это делают камеры, без повторного сжатия фотографии. Для JPEG без EXIF вместо нее предлагается миниатюра JFIF.
Миниатюры прозрачных изображений смешиваются с фоном панели, а маленькое встроенное изображение заменяется четкой миниатюрой.
Переводы на все языки завершены. Переведены последние английские строки в Sally, FTP-клиенте и Renamer.
Примечания к обновлению
При первом запуске 1.0.34 PictView регистрируется и становится просмотрщиком (F3) для поддерживаемых изображений. Это можно изменить в настройках просмотрщиков Sally.
Ваши настройки сохраняются; настройки старого PictView читаются там, где еще применимы.
Sally 1.0.33 встраивает все языки в сам Sally, исправляет две проблемы окна поиска и переводит модули на SDK 109.
Изменения
Языки встроены. Все десять переводов теперь входят в sally.exe и его модули; отдельных языковых файлов больше нет. Sally применяет выбранный язык к ядру и всем модулям одновременно. При первом запуске используется язык Windows, если он есть в Sally; вопрос появляется только иначе. Выбор языка показывает названия на самих языках и их переводчиков.
Исправления переводов. Длинные подписи на странице Безопасность, в окне завершения Sally и в окне ожидания ZIP-модуля больше не обрезаются в некоторых языках. Меню внутреннего просмотрщика и два меню FTP показывают настоящие заголовки на каждом языке вместо "Справка" или "Прочее" во всех меню.
Окно поиска (#120). При снятом флажке «Искать в содержимом файлов» скрытое поле «Содержит» не появляется под строкой «дополнительные параметры отсутствуют» (из-за чего текст казался перекрытым и пропадал под указателем). Сообщения поиска, включая вопрос о закрытии по Esc, теперь появляются над окном поиска, а не над главным окном.
Перевод Sally. Переводы — обычные файлы в исходном коде (src/lang/<language>/lang.rc и src/plugins/<plugin>/lang/<language>/lang.rc). Для исправления перевода откройте issue или pull request; см. doc/DEV.md.
Примечания к обновлению
Модули должны быть собраны для SDK 109. Старые модули, в том числе для Altap Salamander 4.0, больше не загружаются; Sally сообщает о необходимости новой версии. Все модули из комплекта Sally уже обновлены.
Старые языковые файлы. При распаковке 1.0.33 поверх старого Sally файлы lang\*.slg и папки lang внутри plugins\ больше не используются и могут быть удалены.
Онлайн-руководство. F1 и меню Справка открывают соответствующую страницу руководства на сайте вместо старого файла HTML Help (.chm). Контекстная справка из окон работает как прежде.
Обновление руководства. В руководстве везде используется имя Sally; описаны настройка темы, Windows Terminal, модуль Web Viewer и текущая поддержка Unicode.
Исходники руководства. Исходники руководства переезжают из этого репозитория на сайт, где их можно скачать. История до 1.0.31 остается в этом репозитории.
Sally 1.0.31 исправляет копирование файлов в открытый архив через F5 и бездействие группового переименования.
Исправления
Исправлено копирование через F5/F6 с дисковой панели в архив на другой панели, вызывавшее сообщение "Целевой путь этой операции не может содержать путь к файлу (архивы здесь не поддерживаются)" (#116). Копирование в корень архива, внутреннюю папку или на простое имя архива, например archive.zip, снова добавляет файлы, как и перетаскивание. Это было сломано с 1.0.27.
Исправлено пакетное переименование, которое ничего не переименовывало и сообщало "Повторяющееся имя." для каждого файла (#117). Поля Новое имя, Найти и Заменить на теряли текст при нажатии Переименовать, поэтому все файлы получали пустые имена. Это было сломано с 1.0.27.
В заголовках двух исходных файлов, логика которых происходит из Open Salamander, теперь указано это авторство.
Sally 1.0.30 исправляет мигание значков программ общим значком и даты RAR-архивов 1.1.1980 при просмотре через внешний RAR-архиватор.
Исправления
Исправлена замена значков программ общим значком при перерисовке панели — после сортировки, обновления или перемещения по панели (#115). С 1.0.27 поиск в кэше значков сравнивал несколько байтов за концом имени файла, поэтому файлы с четным числом символов (например, Inc_Update.exe) случайно не находили свой значок в кэше. Это касалось лишь части файлов, поэтому значки то появлялись, то исчезали.
Исправлен просмотр RAR-архивов через внешний архиватор, выдававший "Архиватор сообщил недопустимую дату и/или время файла" и показывавший 1.1.1980 у всех файлов (#114). RAR 7 выводит даты как YYYY-MM-DD; Sally теперь понимает этот и прежний формат с днем впереди.
Обычно RAR-архивы открываются встроенным модулем UnRAR, у которого проблемы с датами не было. Если Sally предлагает выполнить автонастройку архиваторов для открытия .rar, проверьте наличие UnRAR в Модули → Диспетчер модулей.
Спасибо @xmiseggs за понятные снимки экрана до и после смены значков и @vectorrilke за подробное сообщение о RAR.
Sally 1.0.29 восстанавливает перетаскивание из архивов и файловых систем модулей в нативных сборках ARM64.
Исправления
Исправлено перетаскивание файлов и папок из ZIP/RAR в строку [..] корня архива на ARM64 (#112).
При нативном запуске ARM64 теперь обнаруживается и регистрируется salextARM64.dll; прежние сборки искали только имена расширений оболочки x86 и x64, поэтому перетаскивание из архивов завершалось до появления указателя перетаскивания.
Исправлены встроенное описание и исходное имя файла расширения оболочки ARM64.
Release CI расширен для дальнейшей проверки архитектурной идентичности программ и языковых ресурсов.
Спасибо @vectorrilke за определение, что ошибка относится только к ARM64, и описание отсутствующей смены указателя.
Sally 1.0.28 — целевое продолжение выпуска 1.0.27 с миграцией на Unicode.
Исправления
Исправлено Копировать в буфер обмена из контекстных меню строки пути и строки состояния. Открытие меню сбрасывало текущий активный элемент до выполнения команды; теперь Sally копирует текст, сохраненный при открытии меню. Спасибо @xmiseggs за сообщение #110 и @vectorrilke за подтверждение на ARM64.
Метаданные повторно используемых архивов переводов .slt сделаны независимыми от архитектуры. Одни и те же исходники переводов теперь корректно создают языковые пакеты x86, x64 и ARM64.
Исправлены метки версий программ и языковых ресурсов ARM64; Release CI строже отклоняет несоответствие архитектурных метаданных.
Нативный Unicode в именах файлов, путях, тексте панелей, окнах, тексте просмотра/поиска, значениях реестра, истории, интеграции с оболочкой и путях включенных модулей.
Динамическое владение с поддержкой длинных путей вместо смысловых буферов пути с пределом MAX_PATH.
Поиск и приведение регистра с учетом Unicode, включая поиск по тексту UTF-8 в средстве просмотра баз данных.
Модули с нативными широкими строками и явными кодеками на реальных байтовых границах, например FTP и архивных форматах.
Улучшено поведение для не-ASCII-путей установки, UNC/сетевых путей, операций оболочки, перетаскивания, буфера обмена и внешних просмотрщиков/редакторов.
Десять переведенных языковых пакетов пересобраны и получили версию 1.0.27.
Важные изменения поведения
Порядок сортировки Unicode
Теперь сортировка сравнивает настоящие имена Unicode, а не поврежденные представления через активную кодовую страницу. Не-ASCII-имена могут располагаться иначе, чем в старых версиях Sally. Это сделано намеренно; вернуть прежний порядок, зависимый от кодовой страницы, нельзя.
Текст Unicode в буфере обмена и перетаскивании
Пути панелей, архивов и файловых систем модулей используют текст Unicode в буфере обмена там, где раньше предлагался лишь CF_TEXT. Старый текстовый формат также предлагается, где уместно, но очень старые внешние программы, понимающие только ANSI, могут вести себя иначе.
Списки приоритета редакторов/просмотрщиков в настройках (#108)
Синие стрелки Вверх/Вниз теперь меняют порядок строк на экране в списках приоритета редакторов и просмотрщиков. Раньше менялась внутренняя модель, но самостоятельно отрисованные строки оставались на старых местах; редактирование после перемещения могло изменить не ту ассоциацию.
Не-ASCII-пути работают при копировании, перемещении, удалении, переименовании, поиске, просмотре, редактировании, истории папок, архивных операциях и путях запуска/настроек.
Регистронезависимость регулярных выражений UTF-8 работает по кодовым точкам Unicode, а не через таблицу байтов ANSI.
Поиск в Database Viewer больше не пропускает ячейки UTF-8 с текстом вне активной кодовой страницы Windows.
Внешние архиваторы отклоняют непредставимый путь вместо молчаливого использования приблизительного псевдонима, способного указать на другой файл.
Окна многотомных архивов, ввод паролей, IPC расширения оболочки, значки-наложения, сохранение настроек и многие пути интерфейса модулей сохраняют точный текст Unicode.
Изменения приоритета масок редакторов/просмотрщиков остаются синхронизированными между видимым списком и сохраненной конфигурацией.
Совместимость модулей
Включенные модули нативно используют широкие строки.
Существующие бинарные модули до v108 еще загружаются через изолированный адаптер совместимости.
Преобразование для совместимости либо точное, либо отклоняется; это не модель владения ANSI внутри Sally.
Модуль, требующий более новой основной программы, отказывается загружаться вместо рискованного вызова несовместимого интерфейса.
Если сторонний модуль ведет себя иначе в 1.0.27, укажите его имя и версию в сообщении об ошибке.
Известные ограничения и области риска
FTP и архивные форматы остаются байтовыми там, где этого требуют протоколы; кодирование/декодирование выполняется на явных границах.
Старые внешние программы только с ANSI могут отклонить путь, который не могут представить. Теперь Sally явно сообщает об ошибке вместо молчаливой подмены пути.
Старые сохраненные настройки импортируются для совместимости обновления, а новые записываются в текущих нативных форматах.
Существующие сторонние бинарные модули до v108 остаются поддерживаемыми через замороженный слой совместимости.
PictView не включен, поскольку исходный код движка изображений недоступен.
Интеграция WinSCP еще не перенесена.
Перед обновлением
1. Сохраните копию Sally 1.0.26. 2. Создайте резервную копию или экспорт настроек Sally, если они важны.
Выпадающие списки в темных окнах показывали пустое поле вместо выбранного значения. Исправлено во всем главном окне и окнах модулей, включая выбор темы в Настройка → Интерфейс. (#98, #99)
Полосы прокрутки вернулись в многострочные текстовые поля темных окон (журналы FTP). (#98)
Окна модулей больше не остаются темными после перехода к светлой теме. (#98)
Стрелки вверх/вниз полосы прокрутки панели снова видны.
При запуске с темной темой больше нет светлой вспышки. (#95)
Файловые операции
Исправлена потеря данных: копирование или перемещение поверх существующего архива могло уничтожить его. Также операция могла затронуть не тот архив при не-ASCII-символах в имени. (#94)
.tar.gz и другие составные форматы архивов снова распознаются правильно.
Alt+drag создает ярлык, а указатель больше не обещает ярлык там, где создать его нельзя. (#101)
Вставка пути с не-ASCII-символами теперь переходит в папку и выделяет файл. (#103)
Быстрое переименование показывает не-ASCII-имена целиком вместо .... (#103)
Просмотрщик (F3)
Большие файлы UTF-16 открываются и прокручиваются значительно быстрее; использование памяти для очень больших файлов теперь ограничено.
Прочее
Поиск: подпись "Искать в содержимом файлов" больше не обрезается.
Sally восстанавливается до видимого размера после изменения экранов. (#97)
Обозначения клавиш на нижней панели инструментов рисуются из шрифта. (#96)
Веб-просмотрщик использует современный значок. (#100)
Примечания для переводчиков и сборщиков пакетов
Версия приложения теперь состоит из трех частей (1.0.25) в свойствах файла. Раньше бинарные ресурсы и система сборки хранили разные значения версии, которые разошлись; теперь источник один.
При любом изменении версии языковые пакеты нужно пересобрать. Sally требует точного совпадения и молча отклоняет несовместимые пакеты — они просто исчезают из выбора языка без ошибки.
TortoiseSVN, TortoiseGit и другие поставщики, предлагающие значок-наложение как файл .ico, отклонялись при запуске, поэтому их наложения никогда не появлялись в панели.
Sally запрашивал у Windows два значка одним вызовом, упаковав оба размера в один аргумент. Такой вариант запрашивает два последовательных ресурса значков вместо одного значка в двух размерах — а отдельный .ico содержит только один, поэтому второй размер возвращался пустым. Наложение используется только при загрузке всех размеров, поэтому обработчик отклонялся.
Если сравниваете с Проводником: Windows перестает загружать обработчики наложений, когда зарегистрировано примерно пятнадцать. На ПК с несколькими облачными клиентами Проводник может не показывать наложения Tortoise в той папке, где Sally уже показывает. Это ограничение Windows, а не разница состояния репозитория.
Щелчок правой кнопкой по файлу с символами вне системной ANSI-кодовой страницы не вызывал меню вообще — и не объяснял ошибку.
Пункты меню теперь строятся по полному имени Unicode, родительская папка определяется без сужения пути, а неразрешимое имя пропускается вместо отклонения всей выборки. Если не удается разрешить ничего, вместо молчания появляется объяснение.
Область исправления: это касается не-ASCII-имен файлов. Файлы в папке, чей собственный путь содержит такие символы, — отдельное известное ограничение; см. Известные проблемы ниже.
Открытие файлов в папках с не-ASCII-путями
Нажатие Enter ничего не делало для файлов в папке с символами вне ANSI-кодовой страницы в пути — даже с обычными ASCII-именами, поскольку ветка кода выбиралась только по имени файла.
Диагностика
Справка → Сообщение об ошибке
Записывает отчет о конфигурации и интеграции с оболочкой: что произошло с каждым зарегистрированным обработчиком наложений и результаты недавних команд контекстного меню.
Прежний путь Справка → Список задач → Остановить требовал двух запущенных экземпляров и завершал процесс. Здесь не нужно ни то ни другое. Отчет записывается в %LOCALAPPDATA%\Open Salamander\; после завершения показывается его расположение.
При проблеме с интеграцией оболочки этот отчет гораздо полезнее описания: он фиксирует, что Sally передал Windows и что получил в ответ.
Локализация
Переводы на все десять включенных языков теперь завершены. Строки из ранних выпусков оставались английскими во всех языках:
названия тем Светлый / Темный / Системный
команды сохранения и загрузки результатов поиска
сообщение об ошибке вставки ярлыка
интеграция с Windows Terminal и оболочкой по умолчанию
Прочее
Сборки разработки снова сообщают верную версию. Она была закреплена кэшированной конфигурацией сборки, поэтому программы получали номер предыдущего выпуска.
Известные проблемы
Действия с файлами в папках, чей путь содержит символы вне системной ANSI-кодовой страницы, остаются ненадежными: Свойства, Копировать полное имя, Вставить, упаковка и другие. Папка открывается и отображается правильно; не работают только действия. Это отслеживается отдельно и постепенно исправляется.
Имена вне ANSI-кодовой страницы работают нормально, если родительский путь представим.
Быстрый двухпанельный файловый менеджер для Windows, ориентированный на клавиатуру. Выпуск добавляет интеграцию с Windows Terminal, исправляет серию ошибок темного режима и файловых операций по сообщениям пользователей и приводит в порядок лицензии и авторство.
Sally обнаруживает wt.exe и профили Stable, Preview и неупакованных установок и строит подменю Команды → Windows Terminal: запускайте PowerShell, дистрибутив WSL или командную строку прямо в папке активной панели.
Новое окно Команды → Командная оболочка по умолчанию… задает, что открывает команда «Командная строка» (Num /): %COMSPEC%, профиль Terminal по умолчанию или именованный профиль.
Этот выпуск посвящен корректности файловых операций, исправлениям отображения Unicode и порядку в сборке выпусков.
Исправлено
Исправлено отображение Unicode-имен в режиме «Список», где они могли частично обрезаться. (#76)
Исправлены ложные предупреждения "недостаточно места" при перемещении папок на одном диске. (#74)
Исправлена обработка команд внешних упаковщиков/распаковщиков в процессах со списочными файлами, включая старые настройки PKZIP/PKUNZIP. (#47)
Добавлена необязательная изоляция реестра для предварительных сборок: отдельный корень настроек версии не затрагивает стабильные настройки Sally. (#11)
Улучшено
Улучшено сохранение Unicode-путей при копировании/перемещении и файловых операциях без интерфейса.
Улучшены метаданные release-сборки FTP-модуля, чтобы пакеты чисто собирались из состояния исходников.
Sally v1.0.20 посвящен надежности Unicode-путей, улучшению просмотрщика и безопасному взаимодействию с вспомогательными процессами. Работа v1.0.19 над копированием/перемещением и статическим UnRAR также сохранена в публичной основной линии.
Основное
Улучшена обработка Unicode-имен в файловой панели, безопасном файловом слое, мостах файловой системы модулей и расширения оболочки и во внутреннем просмотрщике.
Усилена изоляция имен IPC расширения оболочки и вспомогательных процессов для Sally, FileComp, PictView, PlugCore и средств перевода.
Добавлена точная обработка широких путей при создании/повторном открытии файлов, уменьшающая потери при ANSI-преобразовании не-ASCII- и длинных путей.
Исправлены обработка Unicode-окон внутреннего просмотрщика и обрезка строк декодированного текста.
Добавлена инфраструктура файловых операций и исполнения сценариев без интерфейса для процессов копирования/перемещения.
Продолжено статическое включение UnRAR: поддержка RAR встроена в plugins/unrar/salunrar.dll без отдельного unrar.dll.
Переняты upstream-улучшения переводов и рабочих процессов.
Issues GitHub
Спасибо всем, кто сообщил о недавних проблемах Unicode и просмотрщика. Этот выпуск закрывает:
#64 — продолжение исправления конца файла и обрезки строк в просмотрщике.
#73 — Unicode-имена файлов и мост контекстного меню оболочки.
Sally v1.0.19 включает новое Unicode-безопасное копирование/перемещение в release-сборку и поддержку RAR без внешней DLL UnRAR.
Основное
Добавлена широкостроковая ветка построителя снимков для копирования, перемещения, перетаскивания и создания копий из дисковых панелей, включая фильтры, ADS, маски переименования и длинные пути.
В новой ветке сохранены прежние меры защиты файловых операций, включая запрет копирования в тот же путь и поведение зашифрованных источников/назначений.
Включенный движок UnRAR статически скомпонован с plugins/unrar/salunrar.dll, поэтому поддержка RAR больше не зависит от отдельного unrar.dll рядом с модулем.
Расширено покрытие сборки и упаковки модулей, включая наполнение release-дистрибутива поддерживаемым комплектом.
Добавлена поддержка CMake для FTP-модуля как часть расширения сборки модулей.
#61 Окно поиска: фильтр Тип (Все / Файлы / Папки) сохраняется при повторном открытии окна и перезапуске Sally. Хранится в значении реестра Find Files Type Filter.
#63 Не-ASCII-пути установки: Sally теперь корректно запускается из папки с символами вне активной ANSI-кодовой страницы (кириллица, греческий и т. п.). Три ветки запуска переведены на широкие строки: загрузка языкового файла, загрузка config.reg и запуск salmon.exe (отчет о сбоях).
#64 Конец файла в просмотрщике: последняя строка текста доступна через Ctrl+End независимо от расположения переводов строк относительно высоты окна.
Коммиты
0xeb/sally@b9454c22 — серия исправлений issues (загрузка языка и конец файла в просмотрщике)
0xeb/sally@69de5a45 — сохранение фильтра Тип в поиске
0xeb/sally@734baf7f — широкостроковый config.reg и запуск salmon.exe
Sally v1.0.12 — целевой выпуск улучшений и инфраструктуры после предварительной альфа-версии темного режима.
Основное
Улучшена темная тема в окнах настройки, продолжая модернизацию интерфейса Sally за пределами Open Salamander.
README теперь ясно описывает, что Sally добавляет к Open Salamander: темный режим, Unicode и длинные пути, сборки ARM64, Markdown через WebView2, современные CMake/release-инструменты, языковые пакеты и согласие на старые модули.