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

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

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

Postby patrinvv » Fri 11 Dec, 2015 04:57

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

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

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

Postby 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: 784
Joined: Fri 12 Jun, 2009 16:04
Has thanked: 8 times
Been thanked: 5 times

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

Postby ccaid » Fri 11 Dec, 2015 17:30

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

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

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

Postby patrinvv » Mon 14 Dec, 2015 08:10

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

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

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

Postby 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: 4999
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 132 times

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

Postby Shmuel » Mon 14 Dec, 2015 10:05

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

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

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

Postby 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: 5227
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 42 times
Contact:

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

Postby 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: 1438
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 12 times
Been thanked: 22 times
Contact:

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

Postby 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

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

Postby patrinvv » Tue 15 Dec, 2015 08:23

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

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

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

Postby 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

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

Postby patrinvv » Thu 17 Dec, 2015 05:22

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

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

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

Postby zg » Thu 17 Dec, 2015 14:08

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


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

Who is online

Users browsing this forum: No registered users and 1 guest