Skip to content

Releases: koldoon/flex_commander

v0.0.119

Choose a tag to compare

@github-actions github-actions released this 28 Sep 13:06

28 сентября 2026 года

Иконка приложения на macOS 27 выглядела перегруженной: тонкие полоски-строки
внутри панелей ловили преломление и блик по всему периметру, и на мелких
размерах иконка читалась как рябь. Liquid Glass со строк снят — стекло осталось
там, где оно и задумано, у двух панелей.

Full Changelog: v0.0.118...v0.0.119

v0.0.118

Choose a tag to compare

@github-actions github-actions released this 26 Sep 21:19

27 сентября 2026 года

Окно Alt-↓ называется теперь «Panel history», и так же называется строка
в палитре. Историй в приложении стало две — пройденные панелью каталоги и
файловые работы за сеанс, — и два одинаковых «History» по соседству в палитре
означали выбор наугад.

Full Changelog: v0.0.117...v0.0.118

v0.0.117

Choose a tag to compare

@github-actions github-actions released this 25 Sep 14:04

25 сентября 2026 года

Cmd-Z отменяет последнюю файловую работу. Скопировали не туда — копия
удаляется; перенесли не то — объекты возвращаются на свои места; удалили в
корзину — достаются обратно под тем именем, под которым туда легли; создали
каталог или переименовали — как не бывало. Перед откатом окно говорит не
«уверены?», а что именно произойдёт: «удалить 12 объектов в /dest», «вернуть
3 из корзины».

Отменяется сделанное, а не задуманное. Работа по ходу дела записывает, что
у неё и правда вышло: копирование прерывают, часть файлов пропускают по отказу,
часть перезаписывают — и «отменить копирование» по списку источников удалило бы
чужое. По журналу удаляется ровно то, что эта работа создала.

Необратимое так и говорит. Удаление мимо корзины, перезаписанное
содержимое, перенос слиянием — Cmd-Z объясняет, почему не станет ничего
делать, и не перескакивает через такую запись: за ней мир, которого уже нет.
Изменившийся после работы файл молча не трогают — спрашивают.

Что приложение сделало за сеанс — списком: «Operation history» из палитры.
Что за работа, когда, сколько объектов, чем кончилась; у неотменимой — причина
словами, у отменённой — пометка. Между запусками история не хранится: диск
успевает измениться кем угодно, и обещание «отменю вчерашнее» было бы враньём.

Окраска строк по правилам. Битая ссылка видна красным сразу, а не по факту
отказа посреди копирования. Правила настраиваются — условие (маска, скрытое,
исполняемое, тип по содержимому) и цвет, первое совпавшее выигрывает; пишутся
они в settings.json, раздел fc.panels, ключ fileColors. Цвет действует во
всех пяти видах панели и сильнее курсора: под курсором признак недоступного
файла не должен пропадать ровно тогда, когда на него смотрят.

Починено попутно: окно хода работы уходит вместе с работой — прежде окно
Alt-F9 (распаковать по месту) висело до Esc.

Full Changelog: v0.0.116...v0.0.117

v0.0.116

Choose a tag to compare

@github-actions github-actions released this 24 Sep 12:29

24 сентября 2026 года

F1 перестала быть свитком. Слева — оглавление разделов, сверху — поиск,
справа — сам текст: ровно так же, как в окне настроек. Подсвечен тот раздел,
до которого долистали; щелчок по названию уводит к нему.

Ищется по названию раздела, по имени команды, по клавишам («а что такое
Alt-F9») и по описанию. Совпало название раздела — раздел показан целиком:
спросили «terminal», значит спросили про все его команды. Раздел, в котором
ничего не совпало, пропадает и из списка, и из оглавления.

Клавиши окна те же, что в настройках: фокус при открытии в поиске, стрелки
оттуда ходят по разделам, PgUp и PgDn листают, Esc и Enter закрывают.

Сайдбар при этом не написан заново — он общий: окна настроек, клавиш,
редактор тем и справка строятся одним виджетом. Ширину справка теперь назначает
себе долей экрана, как настройки: с оглавлением слева содержимое её больше не
назначает.

Починено: растянутое окно файла отдаёт прибавку дереву. Окно загрузки
набора и темы росло, а дерево каталогов оставалось в свои девять строк —
прибавка уходила в пустоту под полем имени, при том что тянут это окно ровно
ради дерева.

Full Changelog: v0.0.115...v0.0.116

v0.0.115

Choose a tag to compare

@github-actions github-actions released this 24 Sep 11:25

24 сентября 2026 года

Сколько строчек у полосы под списком — теперь настройка («File panels»,
Status line grows up to), и умолчанием стоит одна. Полоса росла до трёх
сама, и цена этому — мерцание: встал курсор на длинное имя, полоса выросла,
список ужался; ушёл — всё вернулось. На каталоге с длинными именами список
дёргался под каждой стрелкой.

Дёрганье человек видит каждый раз, а недоговорённое имя — лишь когда оно
длинное. Кому дороже прежнее обещание «длинное имя договаривает полоса», тот
ставит три строчки и получает ровно то, что было.

Не поместилось — полоса режет тем же правилом, что и колонки: хвостом или
серединой, как выбрано настройкой имён. Имя, срезанное в списке серединой, а в
полосе хвостом, читалось бы как два разных имени.

У ссылки стрелка переживает обрезку. Середина строки приходится ровно на
неё, и без особого правила получалось бы очень длинн…цель.txt — строка,
которую не отличить от одного длинного имени. Теперь разрез обходит стрелку с
обеих сторон:

ссылка на что-то оче… → …каталог/цель ссылки.txt

Недоговорённое по-прежнему договаривает подсказка.

Full Changelog: v0.0.114...v0.0.115

v0.0.114

Choose a tag to compare

@github-actions github-actions released this 24 Sep 10:49

24 сентября 2026 года

Новая настройка в разделе «File panels»: чем жертвовать в имени, которому не
хватило ширины.
Было одно — отрезанный хвост; теперь можно выбрать середину,
как в Finder:

было:   Отчёт за третий квартал 20…
стало:  Отчёт за тре…ный.xlsx

Видны оба конца, и расширение в том числе. Десять файлов с общим началом
перестают быть десятью одинаковыми строками.

Правило одно на все виды панели — таблицу, краткий, дерево, столбцы и значки:
одно и то же имя, выглядящее в дереве и в таблице по-разному, было бы не
настройкой, а поломкой. Правка видна сразу, без перезапуска и без нажатий в
панели.

Путей это не касается: они по-прежнему сокращаются слева и по целым
звеньям — в конце текущий каталог, по началу видно, о каком корне речь. Не
касается и колонок размера и даты: середина у числа не значит ничего.

Умолчание прежнее — хвост: у того, кто настройку не трогал, не меняется ничего.

Full Changelog: v0.0.113...v0.0.114

v0.0.113

Choose a tag to compare

@github-actions github-actions released this 24 Sep 08:26

24 сентября 2026 года

Ctrl-M переименовывает помеченное пачкой. Окно показывает две колонки —
было и станет, строка в строку, — и до нажатия «Rename» на диске не меняется
ничего. Сорок снимков с телефона в нумерованный ряд, *.txt в *.bak, .JPG
в .jpg — одним движением вместо сорока.

Имя собирается маской, как в Multi-Rename Tool: [N] — основа, [E] —
расширение, [N2-5] — кусок имени, [C] — счётчик, [Y][M][D] — дата
объекта, [P] — имя каталога, в котором он лежит. Недописанная маска
объясняется прямо по ходу набора, а срез за краем короткого имени — обычное
дело, а не ошибка. Рядом — «найти → заменить» (буквально или выражением) и
регистр, отдельно для имени и расширения: самое частое желание — .JPG →
.jpg, не трогая имени.

Столкновения видны заранее. Два имени, ставших одним, и имя, занятое
чужаком, — красные строки предпросмотра, и пока они есть, применить нельзя:
человек видел список целиком, и вопрос «перезаписать?» на седьмом файле
означал бы, что предпросмотр соврал. А вот обмен именами (a → b, b →
a) и сдвиг ряда 001 → 002 → 003 делаются сами: порядок находится по
ходу, круг разрывается видимым временным именем.

Составные расширения понимаются теми же правилами, что и в панели:
архив.tar.gz — это основа архив и расширение tar.gz. Счётчик нумерует в
порядке списка, а не в порядке файловой системы.

Окно открывается там, где его закрыли, а часто нужные правила сохраняются
набором под своим именем — списком в первой же строке окна.

Чего пока нет: отката (он придёт общим для всех операций), правки имени руками
прямо в строке таблицы и переименования внутри архивов.

Full Changelog: v0.0.112...v0.0.113

v0.0.112

Choose a tag to compare

@github-actions github-actions released this 24 Sep 05:43

24 сентября 2026 года

Новый флажок «Look in archives» в окне поиска. С ним обход, встретив по
дороге .zip, .tar.gz или .7z, заходит внутрь и ищет там теми же
правилами — по имени, по содержимому и с теми же условиями отбора. Раньше
«где-то у меня был этот файл» кончалось на первом же архиве, а архивами забиты
ровно те каталоги, где руками смотреть дольше всего: выгрузки, бэкапы, старые
сборки.

Находка внутри архива встаёт в общий список и открывается по F3 прямо оттуда,
а путь показывает архив звеном: …/backup.zip/logs/today.txt.

Выключен по умолчанию и стоит рядом с «во вложенных» и «по ссылкам» — там
же, где человек решает, насколько широко копать. Поиск по имени внутри архива
дёшев (это чтение оглавления), а по содержимому — распаковка каждого
подходящего файла, и tar.gz при этом читается насквозь.

Архив в архиве разворачивается на один уровень: иначе один криво собранный
.tar уводил бы поиск в часы работы. Битый архив поиск переживает и идёт
дальше, а открытым архив остаётся ровно пока его обходят — каталог с сотней
архивов не оборачивается сотней открытых файлов.

Full Changelog: v0.0.111...v0.0.112

v0.0.111

Choose a tag to compare

@github-actions github-actions released this 24 Sep 05:10

24 сентября 2026 года

Снаружи не изменилось ничего — это сборка ради имён внутри. Слово «choice»
ушло из контрактов: настройка-перечень зовётся SettingsOption со списком
allowed, довод упаковщика — PackerOption { name, label, allowed, defaultsTo }
(как ArgParser.addOption в самом Dart), неоднозначное дополнение в командной
строке — isAmbiguous, ответ окна «только для чтения» — _ReadOnlyAnswer.
Окно выбора набора стало SelectSessionCommand, а набор по номеру —
SessionByNumberCommand, как он и подписан.

Клавиши, идентификаторы команд и настройки не тронуты: сохранённые привязки
работают как работали.

Full Changelog: v0.0.110...v0.0.111

v0.0.110

Choose a tag to compare

@github-actions github-actions released this 24 Sep 03:56

24 сентября 2026 года

tar без сжатия больше не называется .tar.gz. В окне «Pack here» выбор
контейнера (.tar, .tar.gz, .tgz) теперь виден и в имени файла — раньше имя
считалось по формату целиком и с выбранным расходилось.

Заодно у команды появился параметр option: тем, кто зовёт её сценарием, стал
доступен и свой довод формата — сжатие у zip, контейнер у tar.

Full Changelog: v0.0.109...v0.0.110