Установка режима "Отмеченные впереди"
- buniak_a_h
- Posts: 4262
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
Установка режима "Отмеченные впереди"
Извините, пожалуйста если не нашёл существующий ответ.
Вопрос в следующем: как из скрипта управлять (включать-выключать) режим сортировки "Отмеченные впереди"?
Аналогичны режим "Папки впереди" (в panel.GetPanelInfo(…).Flags характеризуется флагом PFLAGS_DIRECTORIESFIRST) устанавливается функцией panel.SetDirectoriesFirst.
Вроде, абсолютно симметричный режим для отмеченных элементов (флаг PFLAGS_SELECTEDFIRST). Но функции panel.SetSelectedFirst я не нашёл. В функции panel.SetSortMode тоже нет (или не описано) такой возможности.
Вопрос в следующем: как из скрипта управлять (включать-выключать) режим сортировки "Отмеченные впереди"?
Аналогичны режим "Папки впереди" (в panel.GetPanelInfo(…).Flags характеризуется флагом PFLAGS_DIRECTORIESFIRST) устанавливается функцией panel.SetDirectoriesFirst.
Вроде, абсолютно симметричный режим для отмеченных элементов (флаг PFLAGS_SELECTEDFIRST). Но функции panel.SetSelectedFirst я не нашёл. В функции panel.SetSortMode тоже нет (или не описано) такой возможности.
Установка режима "Отмеченные впереди"
Если не захотят вносить в ФАР этот функционал,
то на крайняк можно костыль вроде этого, приобщаю для справки:
viewtopic.php?f=57&t=9430
то на крайняк можно костыль вроде этого, приобщаю для справки:
viewtopic.php?f=57&t=9430
- buniak_a_h
- Posts: 4262
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
Установка режима "Отмеченные впереди"
Ну, как послать
P/S. Вы давали ссылку на обсуждение изменения настроек. Но "помеченные впереди" - это не настройка ФАРа! Это - подрежим сортировки. В частности, он относится только к одной панели.
Shift+F12
- это я умею. Просто мне странно. Ведь и SortMode можно устанавливать через KeyStroke. Однако сделали же аж 3 функции (panel.SetSortMode
, panel.SetSortOrder
и panel.SetDirectoriesFirst
). И тут вдруг выясняется, что абсолютно аналогичный флаг не установить без клавишных. Даже имена флагов начинаются одинаково! Да и в пользовательских сортировках их все можно указать. Обидно! И автор отвалил… P/S. Вы давали ссылку на обсуждение изменения настроек. Но "помеченные впереди" - это не настройка ФАРа! Это - подрежим сортировки. В частности, он относится только к одной панели.
Last edited by buniak_a_h on Sat 30 Jan, 2021 14:51, edited 1 time in total.
- buniak_a_h
- Posts: 4262
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
Установка режима "Отмеченные впереди"
2useven10, это Вы к чему? Как определить состояние я знаю. Можно как Вы написали, можно через panel.GetPanelInfo . Вопрос не в том, как получить, а как установить. Для папок есть panel.SetDirectoriesFirst, а для отмеченных - нету. Дискриминация какая-то!
Установка режима "Отмеченные впереди"
как уже было отмечено, еще как настройкаbuniak_a_h wrote: ↑Sat 30 Jan, 2021 14:49 Но "помеченные впереди" - это не настройка ФАРа! Это - подрежим сортировки. В частности, он относится только к одной панели.
послать Shift-F12 нетрудно конечно,
но для этого надо знать стоит ли сейчас "Помеченные впереди".
Поэтому хоть и этот костыль "не совсем то",
но он показывает свой хоть и костыльный, но рабочий подход,
и я предположил что может быть полезен как отправная точка.
Ну я бы по крайней мере предпочел бы иметь готовую отправную точку,
даже и сам зная теоретически все нужные АПИ
- buniak_a_h
- Posts: 4262
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
Установка режима "Отмеченные впереди"
2useven10,citRiks, меня не интересует настройка ФАРа. Меня интересует текущее состояние переключателя для конкретной панели. И это - не одно и то же. Проверить легко: запомните состояние Panel.Left.SelectedFirst и Panel.Right.SelectedFirst, затем в панели нажмите Ctrl+F12 (поменяв это состояние на обратное), зайдите в far:config и убедитесь, что там ничего не изменилось. Ну, если не включено автосохранение…
Last edited by buniak_a_h on Sat 30 Jan, 2021 15:48, edited 2 times in total.
- buniak_a_h
- Posts: 4262
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
Установка режима "Отмеченные впереди"
Как я описал, из far:config этого не понять. А вот по panel.GetPanelInfo(...).Flags - можно (посмотреть, установлен ли флаг PFLAGS_SELECTEDFIRST).
Last edited by buniak_a_h on Sat 30 Jan, 2021 15:52, edited 1 time in total.
Установка режима "Отмеченные впереди"
Да вроде можно понять: а по panel.GetPanelInfo() зато можно понять текущее состояние, да.
Поэтому мне показалось что за неимением лучшего выбора надо использовать и это тоже,
но я мог и чего-то недопонять
- buniak_a_h
- Posts: 4262
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
Установка режима "Отмеченные впереди"
Ну а теперь поменяйте в панели и посмотрите в far:config. НО! Если у Вам выключено автосохранение!
Начальное состояние (на примере правой панели). SelectedFirst выключено:
Включаю SelectedFirst (жму Shift+F12):Panel.Right.SelectedFirst │boolean│false
Panel.Right.SelectedFirst │boolean│false
Установка режима "Отмеченные впереди"
С этим никто не спорит. И дискриминация SelectedFirst тоже не оспаривается.
add: Насколько я понимаю, из плагинов через PanelControl режим тоже не выставляется.
Last edited by 2useven10 on Sat 30 Jan, 2021 17:19, edited 1 time in total.
- buniak_a_h
- Posts: 4262
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
Установка режима "Отмеченные впереди"
Применил свой любимый приём - «враппер». Написал в _macroinit.lua следующее:
У указанной функции есть ограничения. Вот что знаю я:
1. работает только в area = Shell
2. Функция Keys в некоторых случаях вызывает сообщение типа accross yeld…
1. работает только в area = Shell
2. Функция Keys в некоторых случаях вызывает сообщение типа accross yeld…