View Issue Details

IDProjectCategoryView StatusLast Update
0002302WishesCommand Line/Executepublic2013-04-17 20:46
Reporterfml2 Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Fixed in Version3.0 
Summary0002302: Сократить отображаемую часть промпт
DescriptionВ настоящее время (Far3), если в командной строке в качестве промпт отображается текущий каталог и этот каталог очень длинный, то он обрезается так, что видимая часть занимает не более половины ширины окна. Т.е. для ввода команды в строку остается оставшаяся половина ширины.

Иногда хотелось бы иметь больше места для ввода команды, пожертвовав при этом видимой частью промпт.

Хотелось бы иметь опцию, которая позволяла бы сократить видимую часть промпта и таким образом оставить больше места для ввода комстроки. Например, это могло бы быть число от 1 до 100, которое задает максимум (в процентах) от ширины окна, которое отводится под промпт. Сейчас этот параметр равен 50.

В хотелке под номером 0002209 описывается, возможно, более общее решение. Но то, что запрашивается здесь, меня бы лично удовлетворило полностью, а в реализации, наверное, намного проще.

Еще одно возможное (но не обязательное!) пожелание состоит в том, чтобы видимую часть промт можно было бы сокращать и "удлинять" с помощью клавиатуры, аналогично тому, как можно менять размер панелей Фар с помощью Ctrl+Left/Right/Up/Down.
TagsNo tags attached.
Build3194

Activities

vskirdin

2013-02-14 10:04

administrator   bugnote:0010286

На самом деле размер не 50, а "(X2-X1)/2", т.е. половина от ширины консоли.
По поводу сокращать/удлинять - здесь нужно макрофункцией делать, а дальше на нужную клавишу вешать вызов этой макрофункции. Можно и не макрофункцией, а АПИ (FCTL_SETCMDLINEPROMPTSIZE и FCTL_GETCMDLINEPROMPTSIZE), а дальше lua сам странслирует интерфейс в макросы... в общем как-то так :-)

vskirdin

2013-02-14 11:01

administrator   bugnote:0010287

Решение Инца состоит из двух частей (первая часть в build 3190)

1. В API добавлены две команды:

    FCTL_SETCMDLINEPROMPTSIZE
      Установить отображаемый размер приглашения командной строки.
      Param1 = требуемый размер в процентах от ширины консольного окна, min=5, max=95
               при старте размер равен 50%
      Param2 = nullptr (игнорируется)
      Возвращает TRUE
    FCTL_GETCMDLINEPROMPTSIZE
      Получить отображаемый размер приглашения командной строки (в процентах от ширины консольного окна).
      Param1 = 0 (игнорируется)
      Param2 = указатель на int
      Возвращает TRUE, если Param2 не равен nullptr, иначе FALSE


Вторая часть решение - добавка функционала в плагин luamacro.

NightRoman

2013-02-14 11:09

reporter   bugnote:0010288

Last edited: 2013-02-14 11:12

Настройка бы такая не помешала. А АПИ только засоряется такими вещами, имхо. Я вот никогда этим не буду пользоваться в своих плагинах и скриптах, скорей всего.

Да и вообще подход с процентами спорный.

vskirdin

2013-02-14 12:16

administrator   bugnote:0010289

с АПИ перебор, согласен. откатываю.
настройка есть, будет макрос
N=Cmdine.PromtSize([N])

vskirdin

2013-02-14 12:17

administrator   bugnote:0010290

На счет процентов - поясни почему спорный?

NightRoman

2013-02-14 12:25

reporter   bugnote:0010291

Нет, в настройках проценты - нормально, а что еще в настройках можно придумать?

Это я ворчал про проценты в АПИ. Тут-то работал бы плуг или скрипт и гибче можно было бы подойти. Но раз откатили (думаю, правильно), то нет и вопроса.

fml2

2013-04-03 20:58

reporter   bugnote:0010671

Введением спецификатора "$#nn" мое пожелание было полностью удовлетворено, так что эту хотелку можно закрыть. Большое спасибо всем, кто реализовал эту функцию!

Кстати, описана ли в справке возможность менять цвет частей строки prompt?

DrKnS

2013-04-17 20:46

administrator   bugnote:0010831

> описана ли в справке возможность менять цвет частей строки prompt?

Да.

Issue History

Date Modified Username Field Change
2013-02-14 08:00 fml2 New Issue
2013-02-14 09:53 vskirdin Description Updated
2013-02-14 10:04 vskirdin Note Added: 0010286
2013-02-14 11:01 vskirdin Note Added: 0010287
2013-02-14 11:09 NightRoman Note Added: 0010288
2013-02-14 11:12 NightRoman Note Edited: 0010288
2013-02-14 12:16 vskirdin Note Added: 0010289
2013-02-14 12:17 vskirdin Note Added: 0010290
2013-02-14 12:25 NightRoman Note Added: 0010291
2013-04-03 20:58 fml2 Note Added: 0010671
2013-04-17 20:46 DrKnS Build => 3194
2013-04-17 20:46 DrKnS Note Added: 0010831
2013-04-17 20:46 DrKnS Status new => closed
2013-04-17 20:46 DrKnS Resolution open => fixed
2013-04-17 20:46 DrKnS Fixed in Version => 3.0