следовательно, решил убрать...
Far 3.0.6683.0
Code: Select all
local FileAttrDlgId = win.Uuid(far.Guids.FileAttrDlgId)
Event {
id = "9B864099-F5AB-4BE4-9DB8-7E0AF1542155";
group = "DialogEvent";
description = "Прячем данные меньше секунд в окне атрибутов";
condition = function(Event, Param)
if Event == F.DE_DLGPROCEND then
local info = Param.hDlg:send(F.DM_GETDIALOGINFO)
return info and info.Id == FileAttrDlgId
end
end;
action = function(Event, Param)
local hDlg = Param.hDlg
local indices = {28, 31, 34, 37}
local targetRight = 66
for _, i in ipairs(indices) do
-- 1. Принудительно ставим ширину
local rect = hDlg:send(F.DM_GETITEMPOSITION, i)
if rect and rect.Right ~= targetRight then
rect.Right = targetRight
hDlg:send(F.DM_SETITEMPOSITION, i, rect)
end
-- 2. Гвоздями прибиваем прокрутку текста к началу (LeftPos = 1)
-- Это не дает тексту "уплывать" влево при включении UTC
local eP = {
StructSize = far.TypeCheck and 0 or nil, -- для новых версий
LeftPos = 1,
CurPos = 1,
}
hDlg:send(F.DM_SETEDITPOSITION, i, eP)
end
end;
}
ну и для Far2m до кучи
Code: Select all
local FileAttrDlgId = win.Uuid(far.Guids.FileAttrDlgId)
Event {
id = "9B864099-F5AB-4BE4-9DB8-7E0AF1542155";
group = "DialogEvent";
description = "Прячем данные меньше секунд в окне атрибутов";
condition = function(Event, Param)
if Event == F.DE_DLGPROCEND and Param.Msg == F.DN_INITDIALOG then
local DlgId = (Param.hDlg:send(F.DM_GETDIALOGINFO) or {}).Id
return DlgId == FileAttrDlgId
end
end;
action = function(Event, Param)
local hDlg = Param.hDlg
for _,i in ipairs({37,40,43,46}) do
local rect = hDlg:send(F.DM_GETITEMPOSITION, i)
rect.Right = 60
hDlg:send(F.DM_SETITEMPOSITION, i, rect)
end
end;
}
ps. в будущих версиях может отвалиться если поменяют диалоги. Если что - скорее всего потребуется изменить величины ipairs({xx,xx,xx,xx})