FarGroup / FarManager

File and Archive Manager
https://farmanager.com
BSD 3-Clause "New" or "Revised" License
1.81k stars 202 forks source link

Panel update and taskbar icon status #870

Open eddiezato opened 2 months ago

eddiezato commented 2 months ago

Description of the new feature or improvement

Возможно ли при обновлении содержимого панели не дергать состояние значка на панели задач?

Использую Far в Windows Terminal. По F2 запускаю скрипт, который открывает новую вкладку в WT и выполняется там продолжительное время. В скрипте выводится отображение прогресса выполнения скрипта на значке WT в панели задач.

Тем временем Far обновляет содержимое своих панелей и сбрасывает состояние значка WT. Из-за этого анимация прогресса на значке становится дерганной. out

Отключить авто-обновление панелей не является допустимым решением для меня.

Proposed technical implementation details (optional)

No response

HamRusTal commented 2 months ago

Так Фар «дёргает» значок для такой же цели — он показывает прогресс считывания директории. Если в папке очень много файлов и/или диск достаточно медленный (например, сетевой), то эта индикация и заметна, и важна. А перечитывается директория тогда, когда файловая система сообщила, что там есть изменения. Подозреваю, что у вас они вызваны как раз этим скриптом, запущенным в отдельной вкладке. (Впрочем, например, с сетевыми дисками возможны и «спонтанные» перечитывания.) Т.е. у вас просто два процесса конфликтуют за отображение своего прогресса на кнопке панели задач. На мой взгляд, стоило бы думать в сторону того, чтобы разнести их по разным кнопкам.

eddiezato commented 2 months ago

стоило бы думать в сторону того, чтобы разнести их по разным кнопкам

И отказаться от удобства использования вкладок в WT?

Логичнее иметь у Far'а опцию для использования возможностей значка панели задач, которую можно было бы выключить, например.

Zeroes1 commented 1 month ago

@eddiezato А можно получить все данные чтобы воспроизвести у себя?

я так понимаю как минимум конфигурация WT settings.json , и строку по F2.

eddiezato commented 1 month ago

Запустите Far в WT, в новой вкладке WT откройте pwsh 7. Текущую папку в Far и в pwsh сделайте одну и ту же.

Запустите в pwsh следующую команду:

New-Item -Path 123.txt -ItemType File -Force > $null; foreach ($a in 0..100) { $Host.UI.RawUI.WindowTitle = $a.ToString('00\%'); "`e]9;4;1;$a`e\" | Write-Host -NoNewLine; '1' | Out-File -Path 123.txt; Start-Sleep -Seconds 0.2 }; Remove-Item -Path 123.txt

Наблюдайте за значком на панели задач.

Закройте вкладку с Far'ом. Запустите в pwsh команду еще раз. Наблюдайте за значком.

Zeroes1 commented 1 month ago

https://github.com/user-attachments/assets/dd4774bb-4520-4494-8cad-f3804766fb18

eddiezato commented 1 month ago

На Win11 поведение как показано выше.