не обновляются атрибуты после редактирования найденных файлов

Здесь можно сообщить о найденных багах в Far.
Post Reply
lvm
Posts: 35
Joined: Thu 13 Sep, 2018 12:48

не обновляются атрибуты после редактирования найденных файлов

Post by lvm » Thu 11 Apr, 2019 11:56

Ищем файлы по alt-f7, прямо в списке редактируем один из них по F4, сохраняем, а время, размер и атрибуты этого файла в списке найденных остаются старые.

IgorZ
Posts: 592
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 9 times
Been thanked: 36 times

не обновляются атрибуты после редактирования найденных файлов

Post by IgorZ » Fri 12 Apr, 2019 05:07

lvm wrote:
Thu 11 Apr, 2019 11:56
Ищем файлы по alt-f7, прямо в списке редактируем один из них по F4, сохраняем, а время, размер и атрибуты этого файла в списке найденных остаются старые.
А должны обновляться? По логике, в списке показывается найденная информация, то есть, актуальная на момент поиска.

lvm
Posts: 35
Joined: Thu 13 Sep, 2018 12:48

не обновляются атрибуты после редактирования найденных файлов

Post by lvm » Fri 12 Apr, 2019 12:15

все можно назвать фичей, и я прекрасно понимаю, что это статический список, но все-таки есть что-то неправильное в том, что я отредактировал файл, а он не изменился. Особенно, в ситуации, когда нужно видеть, что я уже поправил, а что - нет.
Last edited by lvm on Fri 12 Apr, 2019 12:16, edited 1 time in total.

User avatar
DrKnS
Posts: 5157
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 5 times
Been thanked: 190 times

не обновляются атрибуты после редактирования найденных файлов

Post by DrKnS » Fri 12 Apr, 2019 12:25

Там есть кнопка Panel.

lvm
Posts: 35
Joined: Thu 13 Sep, 2018 12:48

не обновляются атрибуты после редактирования найденных файлов

Post by lvm » Fri 12 Apr, 2019 13:51

Допустим, лишнюю кнопку нажать - не проблема, но в поиске удобный для поиска вид: полный путь к фолдеру, потом только имена всех файлов в нем. Как такую сортировку сделать на панели?

User avatar
HaRT
Moderator
Posts: 8658
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 78 times
Been thanked: 143 times

не обновляются атрибуты после редактирования найденных файлов

Post by HaRT » Fri 12 Apr, 2019 14:17

lvm wrote:
Fri 12 Apr, 2019 13:51
Как такую сортировку сделать на панели?
Конкретно сортировку — включением режима сортировки Unsorted. Но отображение путей/имён будет, конечно, всё равно другое, чем в диалоге результатов поиска.
Фар есть инструмент, а не нянька. © 2009 DrKnS

lvm
Posts: 35
Joined: Thu 13 Sep, 2018 12:48

не обновляются атрибуты после редактирования найденных файлов

Post by lvm » Mon 15 Apr, 2019 08:44

Об том и речь. Ставить фолдер перед находящимися в нем файлами оно не умеет, а длинные полные пути, как правило, не влезают (кстати, давно уже следовало бы спереть в mc замечательную идею, когда из невлезающего полного пути вырезается середина, а не конец), в результате, панель тут использовать не получается.

IgorZ
Posts: 592
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 9 times
Been thanked: 36 times

не обновляются атрибуты после редактирования найденных файлов

Post by IgorZ » Mon 15 Apr, 2019 12:20

lvm wrote:
Mon 15 Apr, 2019 08:44
Об том и речь. Ставить фолдер перед находящимися в нем файлами оно не умеет, а длинные полные пути, как правило, не влезают (кстати, давно уже следовало бы спереть в mc замечательную идею, когда из невлезающего полного пути вырезается середина, а не конец), в результате, панель тут использовать не получается.
В настройках временной панели ставим типы и ширину колонок в "D,T,S,A,N" и "10,8,0,0,0", включаем полноэкранный режим, перезапускаем фар.
Находясь непосредственно во временной панели, включаем режим "не сортировать", как уже сказано выше, и обязательно выключаем режимы "Каталоги вперёд" и "Использовать группы сортировки" (лишнее, погорячился). Получаем картину, почти идеально повторяющую окно поиска (я только позволил себе добавить к дате время для большего удобства). Можно довести до абсолютного соответствия, но это уже с помощью Lua.
Last edited by IgorZ on Mon 15 Apr, 2019 12:22, edited 1 time in total.

lvm
Posts: 35
Joined: Thu 13 Sep, 2018 12:48

не обновляются атрибуты после редактирования найденных файлов

Post by lvm » Tue 16 Apr, 2019 09:06

Пардон, но в поиске фолдеры - только полный путь, а файлы - одни имена, но с временем и атрибутами. Это важно, должно быть именно так.

зы развлекаясь с настройками временной панели я заметил, что в ней захардкожены настройки wide. Все остальные режимы она принимает, а wide как ни настраивай, во временной панели получается полный путь с размером. Баг или фича?

User avatar
John Doe
Бюрократ
Posts: 12204
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 32 times
Been thanked: 162 times

не обновляются атрибуты после редактирования найденных файлов

Post by John Doe » Tue 16 Apr, 2019 09:15

lvm wrote:
Tue 16 Apr, 2019 09:06
Это важно, должно быть именно так.
Поддерживаю. Доработать бы временную панель..

IgorZ
Posts: 592
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 9 times
Been thanked: 36 times

не обновляются атрибуты после редактирования найденных файлов

Post by IgorZ » Tue 16 Apr, 2019 09:39

lvm wrote:
Tue 16 Apr, 2019 09:06
Пардон, но в поиске фолдеры - только полный путь, а файлы - одни имена, но с временем и атрибутами. Это важно, должно быть именно так.
Такое, на данный момент, возможно с помощью Lua.
lvm wrote:
Tue 16 Apr, 2019 09:06
зы развлекаясь с настройками временной панели я заметил, что в ней захардкожены настройки wide. Все остальные режимы она принимает, а wide как ни настраивай, во временной панели получается полный путь с размером. Баг или фича?
Фича. Режим wide настраивается непосредственно в настройках временной панели - плагин переопределяет его для себя. Выше я описывал, как его настроить.

User avatar
John Doe
Бюрократ
Posts: 12204
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 32 times
Been thanked: 162 times

не обновляются атрибуты после редактирования найденных файлов

Post by John Doe » Tue 16 Apr, 2019 10:55

IgorZ wrote:
Tue 16 Apr, 2019 09:39
Такое, на данный момент, возможно с помощью Lua.
А есть ведь и альтернативная панель https://github.com/shmuz/far_plugins/tr ... uatmppanel, возможно там проще будет доработать.

User avatar
HaRT
Moderator
Posts: 8658
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 78 times
Been thanked: 143 times

не обновляются атрибуты после редактирования найденных файлов

Post by HaRT » Tue 16 Apr, 2019 11:11

John Doe wrote:
Tue 16 Apr, 2019 10:55
есть ведь и альтернативная панель
Умеет ли Фар отправлять результаты поиска прямиком туда?
Фар есть инструмент, а не нянька. © 2009 DrKnS

Shmuel
Posts: 5709
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 21 times
Been thanked: 201 times

не обновляются атрибуты после редактирования найденных файлов

Post by Shmuel » Tue 16 Apr, 2019 11:22

John Doe wrote:
Tue 16 Apr, 2019 10:55
А есть ведь и альтернативная панель
На случай, если кто-то будет разбираться: основной код данного плагина находится в модуле, этот модуль используется также плагином LF Search.
HaRT wrote:
Tue 16 Apr, 2019 11:11
Умеет ли Фар отправлять результаты поиска прямиком туда?
Насколько мне помнится, Фар для этого выбирает из всех плагинов-кандидатов тот, DLL которого первая в алфавитном порядке имён. Также, панельный плагин может иметь опцию согласиться/отказаться от создания панели результатов поиска.

IgorZ
Posts: 592
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 9 times
Been thanked: 36 times

не обновляются атрибуты после редактирования найденных файлов

Post by IgorZ » Wed 17 Apr, 2019 12:26

IgorZ wrote:
Tue 16 Apr, 2019 09:39
lvm wrote:
Tue 16 Apr, 2019 09:06
Пардон, но в поиске фолдеры - только полный путь, а файлы - одни имена, но с временем и атрибутами. Это важно, должно быть именно так.
Такое, на данный момент, возможно с помощью Lua.
В общем, чтоб не быть голословным (а если честно, просто самому захотелось попробовать сделать), я сляпал простейший панельный модулёк.
  1. local F = far.Flags
  2. local Title ="TmpPanel"
  3. local DirSortMode
  4. PanelModule{
  5.   Info={
  6.     Guid=win.Uuid("BA461384-095B-4D0F-AA87-07365A0E2AF6");
  7.     Title=Title;
  8.     Description="Временная панель, как окно поиска";
  9.     Version="0.1";
  10.     Author="IgorZ";
  11.   };
  12. --
  13.   Open=function(OpenFrom)
  14. if OpenFrom==F.OPEN_FINDLIST then
  15.   DirSortMode = band(panel.GetPanelInfo(nil,1).Flags,F.PFLAGS_DIRECTORIESFIRST)~=0
  16.   return {}
  17. end
  18.   end;
  19. --
  20.   SetFindList=function(object,_,Items) object.List = Items return true end;
  21. --
  22.   GetFindData=function (object)
  23. local Items = {win.GetFileInfo(object.List[1].FileName:match("^(.*)\\[^\\]*$"))}
  24. Items[1].FileName = far.ConvertPath(Items[1].FileName,F.CPM_FULL)
  25. for _,PI in ipairs(object.List) do
  26.   Items[#Items+1] = {
  27.     LastWriteTime = PI.LastWriteTime,
  28.     LastAccessTime = PI.LastAccessTime,
  29.     CreationTime = PI.CreationTime,
  30.     ChangeTime = PI.ChangeTime,
  31.     FileSize = PI.FileSize,
  32.     AllocationSize = PI.AllocationSize,
  33.     FileName = PI.FileAttributes:match("d") and PI.FileName or "  "..PI.FileName:match("[^\\]*$"),
  34.     AlternateFileName = PI.AlternateFileName,
  35.     FileAttributes = PI.FileAttributes,
  36.     Flags = PI.Flags,
  37.     NumberOfLinks = PI.NumberOfLinks,
  38.     CRC32 = PI.CRC32,
  39.     Description = PI.Description,
  40.     Owner = PI.Owner,
  41.     CustomColumnData = PI.CustomColumnData,
  42.     UserData = PI.UserData,
  43.   }
  44. end
  45. return Items
  46.   end;
  47. --
  48.   GetOpenPanelInfo=function()
  49. return {
  50.   Flags = F.OPIF_DISABLEFILTER+F.OPIF_DISABLESORTGROUPS+F.OPIF_ADDDOTS+F.OPIF_REALNAMES;
  51.   PanelTitle = Title;
  52.   PanelModesArray = {{
  53.     ColumnTypes = "D,T,S,A,N";
  54.     ColumnWidths = "10,8,0,0,0";
  55.     StatusColumnTypes = "N";
  56.     StatusColumnWidths = "0";
  57.     Flags = F.PMFLAGS_FULLSCREEN;
  58.   }};
  59.   PanelModesNumber = 1;
  60.   StartPanelMode = "1";
  61.   StartSortMode = F.SM_UNSORTED;
  62.   StartSortOrder = 0;
  63.   ShortcutData = "";
  64. }
  65.   end;
  66. --
  67.   ProcessPanelEvent=function(_,_,Event) if Event==F.FE_GOTFOCUS then panel.SetDirectoriesFirst(nil,1) end return false end;
  68. --
  69.   ProcessPanelInput=function(object,_,rec)
  70. if rec.EventType== F.KEY_EVENT and APanel.CurPos>2 and not object.List[APanel.CurPos-2].FileAttributes:match("d") then
  71.   if rec.VirtualKeyCode==0x73 and band(rec.ControlKeyState,0x1f)==0 then
  72.     local fn = object.List[APanel.CurPos-2].FileName
  73.     editor.Editor(fn)
  74.     object.List[APanel.CurPos-2] = win.GetFileInfo(fn)
  75.     panel.UpdatePanel(nil,1,true)
  76.     return true
  77.   end
  78. end
  79.  return false
  80. end;
  81. --
  82.   ClosePanel=function() panel.SetDirectoriesFirst(nil,1,DirSortMode) end;
  83. }
Во вложении он же в архиве.
Как использовать: кладём в папку scripts, перезапускаем Far (или просто перезагружаем макросы), набираем в нужном каталоге AltF7, после завершения сканирования жмём [Панель], выбираем плагин LuaMacro и получаем результат. В данной версии предусмотрено только редактирование файлов по F4, это, по сути, демка.
Attachments
TmpPanel.lua.7z
(1.25 KiB) Downloaded 5 times

Post Reply

Return to “Глюки и баги”