Режим по-умолчанию в быстром просмотре.

Вам не хватает чего-то в Far? Вы считаете, что вашу идею стоит услышать? Пишите сюда.
Post Reply
patrinvv
Posts: 5
Joined: Fri 11 Dec, 2015 04:51

Режим по-умолчанию в быстром просмотре.

Post by patrinvv » Fri 11 Dec, 2015 04:57

Предлагаю сделать настраиваемым режим по-умолчания для панели быстрого просмотра (Quick view).
Сейчас там текст. А хотелось-бы иногда HEX.

User avatar
cmd.exe
Posts: 318
Joined: Fri 16 Apr, 2010 18:26
Location: Нижний Новгород
Has thanked: 170 times
Been thanked: 5 times
Contact:

Режим по-умолчанию в быстром просмотре.

Post by cmd.exe » Fri 11 Dec, 2015 11:03

Поставьте ассоциацию на F3 Hiew. И будет вам счастье.
I've been using Vim for about 2 years now, mostly because I can't figure out how to exit it. (c) I Am Devloper
I know nothing except the fact of my ignorance. (с) Socrates

ccaid
Posts: 805
Joined: Fri 12 Jun, 2009 16:04
Has thanked: 9 times
Been thanked: 5 times

Режим по-умолчанию в быстром просмотре.

Post by ccaid » Fri 11 Dec, 2015 17:30

patrinvv wrote: Сейчас там текст. А хотелось-бы иногда HEX.
CtrlQ Tab ShiftF4 H
Фар делают добрые люди

patrinvv
Posts: 5
Joined: Fri 11 Dec, 2015 04:51

Режим по-умолчанию в быстром просмотре.

Post by patrinvv » Mon 14 Dec, 2015 08:10

Спасибо за быстрые советы.
Когда периодически приходится СРАВНИВАТЬ заголовки нескольких файлов (потому речь и идет о быстром просмотре, на AltF3 у меня уже есть старенький Qview), надоедает для КАЖДОГО файла делать CtrlQ Tab F4. И это работает только при вкл. опции "запоминание позиции" (что не всегда нужно).
Хотелось бы это автоматизировать (данном случае означает вообще исключить).
А т.к. в разработке FARа я не участвую, вот и предложил кому-нибудь сделать это для общего блага.
Даже удивляет, что за 20 лет это не сделали те, кто с исходниками работает.
Значит мало кому такое надо.

Smitis
Posts: 1452
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 12 times
Been thanked: 23 times
Contact:

Режим по-умолчанию в быстром просмотре.

Post by Smitis » Mon 14 Dec, 2015 09:13

patrinvv wrote:надоедает для КАЖДОГО файла делать CtrlQ Tab F4. И это работает только при вкл. опции "запоминание позиции" (что не всегда нужно).
Хотелось бы это автоматизировать (данном случае означает вообще исключить).
Для этого даже не нужно ничего просить, всё уже есть для самостоятельного решения
  1. Macro {
  2.     description="CtrlQ Hex";
  3.     area="Shell Search";
  4.     key="CtrlQ";
  5.     action=function()
  6.         if APanel.FilePanel and not APanel.Folder and PPanel.Type~=2 then
  7.             Keys "CtrlQ Tab ShiftF4 Home Down Enter Home Tab"
  8.         else
  9.             Keys "CtrlQ "
  10.         end
  11.     end;
  12. }
Разум когда-нибудь победит.

Shmuel
Posts: 5154
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 14 times
Been thanked: 144 times

Режим по-умолчанию в быстром просмотре.

Post by Shmuel » Mon 14 Dec, 2015 10:05

Smitis, человек хочет ещё и перемещаться между файлами (Up, Down и т.д.), в вашем макросе это не учтено.

Smitis
Posts: 1452
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 12 times
Been thanked: 23 times
Contact:

Режим по-умолчанию в быстром просмотре.

Post by Smitis » Mon 14 Dec, 2015 13:02

Ну, тогда, что-то вроде такого
  1. local qviewmode
  2. Macro {
  3.     description="CtrlQ Hex Open";
  4.     area="Shell Search";
  5.     key="CtrlQ";
  6.     action=function()
  7.         if APanel.FilePanel and not APanel.Folder and PPanel.Type~=2 then
  8.             Keys "CtrlQ Tab ShiftF4 Home Down"
  9.             qviewmode = Menu.Value
  10.             Keys "Enter Home Tab"
  11.         else
  12.             qviewmode = false
  13.             Keys "CtrlQ"
  14.         end
  15.     end;
  16. }
  17. Macro {
  18.     description="CtrlQ Hex Browse";
  19.     area="Shell Search";
  20.     key="/(Shift)?(Up|Down|PgUp|PgDn|Home|End)/ Ins";
  21.     condition=function()
  22.         return APanel.FilePanel and PPanel.Type==2
  23.     end;
  24.     action=function()
  25.         if not APanel.Folder then
  26.             Keys "Tab ShiftF4"
  27.             qviewmode = Menu.Value
  28.             Keys "Esc Tab"
  29.         end
  30.         Keys "AKey"
  31.         if not APanel.Folder then
  32.             Keys "Tab ShiftF4"
  33.             if qviewmode then
  34.                 Menu.Select(qviewmode)
  35.             else
  36.                 Keys "Home Down"
  37.                 qviewmode = Menu.Value
  38.             end
  39.             Keys "Enter Tab"
  40.         end
  41.     end;
  42. }
Клики мышкой, удаление файлов, переходы по уровням (CtrlPgUp, CtrlPgDn) специально не обрабатываются, режим просмотра может быть нарушен, но это вроде и не требуется.
Разум когда-нибудь победит.

User avatar
zg
zero-gravity
Posts: 5245
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 42 times
Contact:

Режим по-умолчанию в быстром просмотре.

Post by zg » Mon 14 Dec, 2015 13:24

а почему так сложно-то?
  1. local F=far.Flags
  2. Event
  3. {
  4.   group="ViewerEvent";
  5.   action=function(id,event,param)
  6.     if F.VE_READ==event and F.WTYPE_PANELS==far.AdvControl(F.ACTL_GETWINDOWTYPE).Type and F.PTYPE_QVIEWPANEL==panel.GetPanelInfo(nil,0).PanelType then
  7.       viewer.SetMode(id,{Type=F.VSMT_VIEWMODE;iParam=F.VMT_HEX;Flags=F.VSMFL_REDRAW})
  8.     end
  9.   end
  10. }

Smitis
Posts: 1452
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 12 times
Been thanked: 23 times
Contact:

Режим по-умолчанию в быстром просмотре.

Post by Smitis » Mon 14 Dec, 2015 15:04

Действительно, так проще. Однако, позволю себе усложнить - открываем всегда в hex, а при перемещении сохраняем режим просмотра предыдущего файла.
  1. local F=far.Flags
  2. local viewmode
  3. Event
  4. {
  5.     group="ViewerEvent";
  6.     action=function(id,event,param)
  7.         if far.AdvControl(F.ACTL_GETWINDOWTYPE).Type==F.WTYPE_PANELS and panel.GetPanelInfo(nil,0).PanelType==F.PTYPE_QVIEWPANEL then
  8.             if event==F.VE_READ then
  9.                 viewmode = viewmode or F.VMT_HEX
  10.                 viewer.SetMode(id,{Type=F.VSMT_VIEWMODE;iParam=viewmode;Flags=F.VSMFL_REDRAW})
  11.             elseif event==F.VE_CLOSE then
  12.                 viewmode = viewer.GetInfo(id).CurMode.ViewMode
  13.             end
  14.         end
  15.     end;
  16. }
  17. Macro {
  18.     area="Shell Search";
  19.     key="CtrlQ";
  20.     action=function()
  21.         viewmode = false
  22.         Keys "CtrlQ"
  23.     end;
  24. }
Разум когда-нибудь победит.

patrinvv
Posts: 5
Joined: Fri 11 Dec, 2015 04:51

Режим по-умолчанию в быстром просмотре.

Post by patrinvv » Tue 15 Dec, 2015 08:23

Спасибо, поразбираюсь!
Теперь вспомнил, что когда-то давно в мануале к FARу попадалось загадочное слово lua, и там-же говорилось о макросах.

patrinvv
Posts: 5
Joined: Fri 11 Dec, 2015 04:51

Режим по-умолчанию в быстром просмотре.

Post by patrinvv » Thu 17 Dec, 2015 04:53

Простите кто помогал, так и не добрался до макросов.
Понял, что дело не в быстром просмотре, в самом вьюере.
Удивляет при наличии десятка настроек отсутствие выбора режима по умолчанию.
У меня на виртуалке есть VS2010, оказалось FAR под ней можно собрать (самая старая из возможных версий).
Даже удивился, когда FAR скомпилироваля и собрался без ошибок.
Добавить опцию для меня не по силам, а привязать начальный режим к редко нужному скроллингу оказалось легко.
В файле viewer.cpp заменил
if (!m_DisplayMode.touched())
m_DisplayMode = m_DumpTextMode? VMT_DUMP : VMT_TEXT;
на
if (!m_DisplayMode.touched())
{if (!ViOpt.ShowScrollbar) m_DisplayMode = m_DumpTextMode? VMT_DUMP : VMT_TEXT;
else m_DisplayMode = VMT_HEX;}
и получилось то что надо (пока не вис и не вылетал).
А что такое .touched() - для меня загадка за семью печатями... :(

patrinvv
Posts: 5
Joined: Fri 11 Dec, 2015 04:51

Режим по-умолчанию в быстром просмотре.

Post by patrinvv » Thu 17 Dec, 2015 05:22

Поправка:
if (!m_DisplayMode.touched()) пришлось все-же закомментарить, чтобы работало.

User avatar
zg
zero-gravity
Posts: 5245
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 42 times
Contact:

Режим по-умолчанию в быстром просмотре.

Post by zg » Thu 17 Dec, 2015 14:08

patrinvv wrote:Удивляет при наличии десятка настроек отсутствие выбора режима по умолчанию.
видимо те настройки более востребованы, при том что режим по умолчанию легко реализуется макросом.

Post Reply

Return to “Предложения и идеи”