Problem with displaying information where is no access when starting Far2l
Проблема с отображением информации где нет доступа при старте Far2l проверен far2l 2.6.5-2025-04-03-fb42f6f-beta TTY/GUI
Пример воспроизведения:
заходим например в /root введя пароль под ограниченной учётной записью сохраняем состояние (shift-f9) [по умолчанию у нас и так [x] Auto save setup] F10 - выходим из Far2l запускаем его заново видим запрос на повышение прав чтобы прочитать данные директории
Operation requires privileges elevation Enter sudo password Confirm by <Enter> Cancel by <Esc>
Если жмём Esc, то ложно начинает показываться "левая" информация: если у нас активная правая панель то ложно отображается информация - с пассивной панели если она отображаться должна если у нас активная левая панель то ложно отображается информация - домашняя директория Far2l
если у нас пассивная не отображается при старте, то сразу без запроса повышения прав будет ложно показываться домашняя директория Far2l.
воспроизведение проблемы 100%.
Как вариант: Ничего не отображать на панели, активность передаём другой панели, но при попытке перехода на неё опять запрашивать повышение прав. Но тогда непонятно что делать если должна восстановится одна панель...
@shmuz в Far2m почти всё тоже самое, только "левая информация" начинает отображаться если нажать CtrlR (принудительно перечитать директорию) а так типа правильно - ничего не отображается (т.е. пусто).
Навскидку, нужны фиксы / корректировка логики в CheckShortcutFolder() и TestFolder() — вызываются в данном случае из PrepareOptFolder().
Поведение с недоступными директориями, наверное, должно быть схожим с тем, как это делается для отсутствующих директорий, т.е. поднимаемся вверх по файловому дереву, пока не наткнёмся на доступную директорию, и открываем на панели её. По-хорошему, ещё и курсор спозиционировать на той директории, в которую не смогли попасть.
Кстати, TestFolder() возвращает TSTFLD_NOTEMPTY для директории с битами drw-rw-rw-. А не стоило бы в таком случае (когда x нет) также возвращать TSTFLD_NOTACCESS? 🤔