local F=far.Flags local viewmode Event { group="ViewerEvent"; action=function(id,event,param) if far.AdvControl(F.ACTL_GETWINDOWTYPE).Type==F.WTYPE_PANELS and panel.GetPanelInfo(nil,0).PanelType==F.PTYPE_QVIEWPANEL then if event==F.VE_READ then viewmode = viewmode or F.VMT_HEX viewer.SetMode(id,{Type=F.VSMT_VIEWMODE;iParam=viewmode;Flags=F.VSMFL_REDRAW}) elseif event==F.VE_CLOSE then viewmode = viewer.GetInfo(id).CurMode.ViewMode end end end; } Macro { area="Shell Search"; key="CtrlQ"; action=function() viewmode = false Keys "CtrlQ" end; } |