View Issue Details

IDProjectCategoryView StatusLast Update
0000258Far Manager 1.7xPanelpublic2007-07-16 16:06
ReporterHaRTAssigned Tovskirdin 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version1.71 
Target VersionFixed in Version1.71 
Summary0000258: Вправо/влево при непустой командной строке
DescriptionИмеем: если командная строка непуста, то клавиши Left/Right и Num4/Num6 почему-то действуют по-разному в зависимости от режима панели: если имена файлов отображаются в несколько колонок (по умолчанию режимы 2 и 3), то команды вправо/влево применяются к панели (как и при пустой командной строке); а если имена файлов отображаются в одну колонку (по умолчанию все остальные режимы), то команды вправо/влево применяются к командной строке.

Хотим: чтобы клавиши Left/Right и Num4/Num6 при включённой панели всегда применялись только к ней, независимо от содержимого командной строки и режима панели (в командной строке есть CtrlD/CtrlS).
Additional Informationhttp://forum.farmanager.com/viewtopic.php?t=2380
TagsNo tags attached.
Build

Activities

vskirdin

2007-02-06 08:16

administrator   bugnote:0000406

ER:
Нынешнее FAR'овское поведение ближе к NC/VC, чем предлагаемое.
Единственная разница - в NC при пустой командной строке в режиме
панели в одну колонку Left/Right просто игнорируются. Я же решил
применить их к панели, чтобы не пропадали зря. При непустой
командной строке FAR работает аналогично NC и VC. Как мне кажется,
менять это поведение значит идти в разрез с многолетними привычками
пользователей. Да и пользы от Left/Right в одноколоночной панели
немного. Почти те же PgUp/PgDn.
---------------------------------------------------------------------
KS:
Если мне не изменяет склероз, в far.support тогда
была кучка народу желавшего именно такого поведения.
---------------------------------------------------------------------

HaRT

2007-02-06 14:10

reporter   bugnote:0000408

Но такое поведение НЕ ПОЗВОЛЯЕТ намакросить так, чтобы одни клавиши (например, обычные стрелки) всегда работали в панели, а другие (например, стрелки на дополнительной клавиатуре) всегда работали в командной строке.

Предлагаемое же поведение позволяет намакросить КАК ДУШЕ УГОДНО.
В конце концов, можно завести TechInfo или включить в стандартную поставку уже включённые макросы, обеспечивающие совместимость для тех, кому это важно в конкретном частном случае.

vskirdin

2007-02-07 05:44

administrator   bugnote:0000409

Достаточно ли будет вот такогого решения:

* поведение для одноколончатого варианта остается прежним
* в макросы добавляется [A|]Panel.ColumnCountвозвращающие количесртво колонок

для Tree/Info/Quick эти значения всегда будут равны 1

ы?

HaRT

2007-02-07 06:14

reporter   bugnote:0000410

Само по себе знание о количестве колонок в панели может оказаться полезным в каких-то других случаях. Но, честно говоря, совершенно непонятно, как оно поможет написать макросы "Влево/вправо в панели" так, чтобы оставалась и командная строка, и выделение в ней, и позиция текстового курсора. (Про давнишний макро-опус Ярославского на эту тему я знаю, но не считаю такой вариант приемлемым.)
Ведь прелесть подобных команд именно в том, что они перемещают курсор панели на один и тот же файл вне зависимости от количества колонок в панели. (В остальном я уже полностью перенёс перемещение/выделение в командной строке на дополнительную клавиатуру.)

Может, всё же TechInfo? (Если уж считается, что нынешнее нелогичное поведение многим удобно.)

vskirdin

2007-02-07 07:06

administrator   bugnote:0000411

Ок.
Будет и дополние в макросах про колонки и TechInfo.
Но с тебя описание этого TechInfo :-)
Кратко - вот так:
Panel\Column1Rule:REG_DWORD
=0 - включает поведение как для панелей с количеством колонок > 1
=1 - как сейчас
по умолчанию = 1

в принципе, если сделаешь оперативно, то можно предложить и более внятное название опции ("Column1Rule" - это то, что мне первое в голову пришло :-)

HaRT

2007-02-07 07:11

reporter   bugnote:0000412

Оперативно предлагаю название: ShellRightLeftArrowsRule.
Описание обязательно напишу чуть-чуть позже.

Denis

2007-02-07 07:32

reporter   bugnote:0000413

Last edited: 2007-02-07 07:48

Тогда может добавить ещё и режим
=2

что будет означать, что если коммандная строка не пустая, то Left/Right относятся только к ней, а не к панелям.

Название - ColumnsAndCommandLineRule

vskirdin

2007-02-07 07:48

administrator   bugnote:0000414

стоп.
это правило распространяется только на одноколончатую панель и никуда далее, причем тут "=2"?

Denis

2007-02-07 07:52

reporter   bugnote:0000415

Если рассматривается только одноколончатая панель, тогда беру свои слова обратно.

vskirdin

2007-02-07 08:33

administrator   bugnote:0000416

наверное вот так "разумнее" обозвать
Column1RightLeftArrowsRule

HaRT

2007-02-07 08:43

reporter   bugnote:0000417

Я как раз считаю, что НЕ надо выносить единственность колонки в название.
Предлагаемое мною TechInfo ShellRightLeftArrowsRule будет регулировать, как ВООБЩЕ ведут себя стрелочки влево/вправо: как сейчас (0) или как предлагается (1). Когда появится желание добавить другие варианты поведения, можно будет задействовать и другие номера.

А уже в описании будет пояснено, что фактически пока разница только в поведении для одноколоночной панели.

vskirdin

2007-02-07 10:45

administrator   bugnote:0000418

HaRT, и?

HaRT

2007-02-07 11:04

reporter   bugnote:0000419

Вот русскоязычное описание (англоязычное тоже вскоре последует):

"ShellRightLeftArrowsRule":REG_DWORD
Параметр "ShellRightLeftArrowsRule" с типом DWORD позволяет управлять поведением стрелок влево/вправо (как на основной, так и на дополнительной клавиатуре).
Значения:
  0 - поведение как у 1.70: если командная строка непуста, то клавиши Left/Right и Num4/Num6 действуют по-разному в зависимости от режима панели: если имена файлов отображаются в несколько колонок (по умолчанию режимы 2 и 3), то команды вправо/влево применяются к панели (как и при пустой командной строке); а если имена файлов отображаются в одну колонку (по умолчанию все остальные режимы), то команды вправо/влево применяются к командной строке.
  1 - клавиши Left/Right и Num4/Num6 при включённой панели всегда применяются только к ней, независимо от содержимого командной строки и режима панели. Примечание: в командной строке есть CtrlD/CtrlS. См. тж. http://www.farmanager.com/mantis/view.php?id=258.
По умолчанию значение = ?.

HaRT

2007-02-07 11:30

reporter   bugnote:0000420

Last edited: 2007-02-07 11:31

Here's the English language description:

"ShellRightLeftArrowsRule":REG_DWORD
The "ShellRightLeftArrowsRule" parameter lets control behavior of the Left/Right arrows (both regular and numpad).
Values:
  0 - behavior as in v.1.70: if the command line is non-empty, the Left/Right and Num4/Num6 keys act differently depending on the panel mode: if file names are displayed in multiple columns (by default, panel modes 2 and 3) the left/right commands apply to the panel (like when command line is empty); if file names are displayed in a single column (by default, all other panel modes) the left/right commands are applied to the command line.
  1 - if a panel is on, the Left/Right and Num4/Num6 keys are only applied to it, regardless of the command line contents and of the panel mode. Note: one can use CtrlD/CtrlS in the command line. See also http://www.farmanager.com/mantis/view.php?id=258.
The default value is ?

vskirdin

2007-02-07 12:06

administrator   bugnote:0000421

после 2197
и макросы и TechInfo 75

Issue History

Date Modified Username Field Change
2007-01-23 07:48 HaRT New Issue
2007-02-06 08:16 vskirdin Note Added: 0000406
2007-02-06 14:10 HaRT Note Added: 0000408
2007-02-07 05:44 vskirdin Note Added: 0000409
2007-02-07 06:14 HaRT Note Added: 0000410
2007-02-07 07:06 vskirdin Note Added: 0000411
2007-02-07 07:11 HaRT Note Added: 0000412
2007-02-07 07:32 Denis Note Added: 0000413
2007-02-07 07:48 vskirdin Note Added: 0000414
2007-02-07 07:48 Denis Note Edited: 0000413
2007-02-07 07:52 Denis Note Added: 0000415
2007-02-07 08:33 vskirdin Note Added: 0000416
2007-02-07 08:43 HaRT Note Added: 0000417
2007-02-07 10:45 vskirdin Note Added: 0000418
2007-02-07 11:04 HaRT Note Added: 0000419
2007-02-07 11:30 HaRT Note Added: 0000420
2007-02-07 11:31 HaRT Note Edited: 0000420
2007-02-07 12:05 vskirdin Status new => assigned
2007-02-07 12:05 vskirdin Assigned To => vskirdin
2007-02-07 12:06 vskirdin Status assigned => resolved
2007-02-07 12:06 vskirdin Fixed in Version => 1.71
2007-02-07 12:06 vskirdin Resolution open => fixed
2007-02-07 12:06 vskirdin Note Added: 0000421
2007-07-16 16:06 alexy Status resolved => closed