RecentScreens — переключение между окнами как в MS Windows™
Posted: Tue 09 Apr, 2013 13:02
by John Doe
В большинстве приложений, которые я использую, переключение между окнами происходит в порядке их использования (MRU order).
Но не во всех, пример исключений: FAR manager, Google Chrome.
Для решения этой проблемы в фаре был когда-то такой плагинчик RecentScreens — меню «Экраны» в порядке использования
http://plugring.farmanager.com/plugin.php?pid=813 wrote:Плагин RecentScreens может служить заменой стандартному меню Screens (Экраны). При этом список окон в меню отсортирован в порядке использования. Так же плагин позволяет переключаться между окнами с помощью Ctrl-Tab аналогично тому, как это происходит в Opera (или Visual Studio).
Переключение окон-экранов по умолчанию заменяет LCtrlTab (только левый Ctrl).
В отличии от обычного переключения экранов — в процессе переключения может отображаться список окон (до тех пор, пока удерживается Ctrl).
За исключением порядка элементов, вид списка соответствует стандартному меню Screens (F12).
- так же: (*) помечены редакторы с несохранёнными изменениями.
- отличие: для панелей отображаются путь папки, открытой на активной панели (а не файл под курсором)
- отличие: корректно обрабатываются модальные окна Update: после 4138 билда отображаемые номера окон не соответствуют
CtrlTab / CtrlShiftTab — вперёд/назад по списку.
Также работают и Ctrl- Up|Down|PgUp|PgDn|Home|End. Пока список на экране — перемещаться по его элементам можно и с помощью мыши.
Ctrl<hot_key> — переход к окну с заданной горячей клавишей (хоткей фиксированный, соответствует тому, что в стандартном Screens)
Если отображение списка отключено в настройках, то его можно вызвать по CtrlF12
Независимо от настроек список показывается при вызове из единственного окна, и в модальных редакторах/вьюверах
Настройка осуществляется прямо в списке окон, вот справка (доступна по F1).
Re: RecentScreens — переключение между окнами как в MS Windows™
Posted: Sun 05 Oct, 2014 13:13
by Tim Sobolev
Latest post of the previous page:
Будет ли возвращена настраиваемая поддержка Desktop Screen и удалены костыли которые были добавлены до применения фиксов в FAR?
Re: RecentScreens — переключение между окнами как в MS Windows™
Posted: Sun 05 Oct, 2014 19:42
by AleXH
FAR3.4040 открыт в конему. Открываем в панелях редактор любого файла, ctrl-tab в панели, открываем вьювер любого файла, ESC - должны вернуться в панели, но вместо этого попадаем в редактор. Проявляется дефект и через скрипты.
Re: RecentScreens — переключение между окнами как в MS Windows™
Posted: Mon 06 Oct, 2014 06:32
by fml2
FAR3.4040 открыт
Вроде ж уже 41хх на дворе?!
Re: RecentScreens — переключение между окнами как в MS Windows™
Posted: Mon 06 Oct, 2014 07:13
by John Doe
Tim Sobolev wrote:Будет ли возвращена настраиваемая поддержка Desktop Screen
Если объясните какая требуется поддержка.
RecentScreens — переключение между окнами как в MS Windows™
Posted: Mon 06 Oct, 2014 08:21
by John Doe
AleXH wrote:...но вместо этого попадаем в редактор.
Conemu обрабатывает комбинацию CtrlTab самостоятельно, в фар она не приходит, соответственно RecentScreens работает некорректно.
Если бы можно было как-то отловить событие перехода в панели, то такой проблемы не было бы.
Впрочем, насколько я знаю у Conemu есть собственная функция Recent, поэтому стоит запретить RecentScreens при наличии Conemu.
AleXH wrote:Проявляется дефект и через скрипты.
И без Conemu? Причина та же: если переход в панели выполнен не изнутри RecentScreens, то он просто не регистрируется.
Re: RecentScreens — переключение между окнами как в MS Windows™
Posted: Tue 07 Oct, 2014 21:42
by Tim Sobolev
John Doe wrote:
Tim Sobolev wrote:Будет ли возвращена настраиваемая поддержка Desktop Screen
Если объясните какая требуется поддержка.
Показ в списке, переключение из/в по CtrlTab
Re: RecentScreens — переключение между окнами как в MS Windows™
Posted: Wed 08 Oct, 2014 07:43
by John Doe
Tim Sobolev wrote:
John Doe wrote:
Tim Sobolev wrote:Будет ли возвращена настраиваемая поддержка Desktop Screen
Если объясните какая требуется поддержка.
Показ в списке, переключение из/в по CtrlTab
Настроить легко, добавьте в конец строки 73 это: [F.WTYPE_DESKTOP]="Desktop",
И дайте знать, полностью ли устраивает итоговое поведение.
Re: RecentScreens — переключение между окнами как в MS Windows™
Posted: Wed 08 Oct, 2014 20:31
by Tim Sobolev
В общем, пока что поведение устраивает.
John Doe wrote:
Tim Sobolev wrote:Показ в списке, переключение из/в по CtrlTab
Настроить легко, добавьте в конец строки 73 это: [F.WTYPE_DESKTOP]="Desktop",
И дайте знать, полностью ли устраивает итоговое поведение.
Re: RecentScreens — переключение между окнами как в MS Windows™
Posted: Thu 16 Oct, 2014 05:03
by Kildor
А как отключить третий пункт?
У меня конэму, фар во вкладке, но перехват CtrlTab отключен именно заради RecentScreens.
Re: RecentScreens — переключение между окнами как в MS Windows™
Posted: Thu 16 Oct, 2014 05:31
by sToLp
Kildor wrote:У меня конэму, фар во вкладке, но перехват CtrlTab отключен именно заради RecentScreens.
Аналогичная ситуация. Закоммитил строку: --- if Plugin.SyncCall("4b675d80-1d4a-4ea9-8436-fdc23f2fc14b","IsConEmu()") then return end --do not work under conemu
и макрос работает в КонЭму.
Re: RecentScreens — переключение между окнами как в MS Windows™
Posted: Thu 16 Oct, 2014 07:10
by John Doe
Kildor
sToLp
Расскажите зачем вам "RecentScreens.lua" при наличии в Conemu функции "Recent mode"?
Re: RecentScreens — переключение между окнами как в MS Windows™
Posted: Thu 16 Oct, 2014 09:39
by Kildor
Ну например затем, что сейчас у меня в конэму 3 фара и 4 sh-консоли. В двух фарах открыто по модальному файлу через SCP, в третьем -- три локальных файла. Каждый фар и консоль -- отдельный контекст работы. Если мне нужно сменить контекст, я пользуюсь Win-Number.
Recent mode бегает между всеми консолями и файлами, что мне не нужно. Кроме того, нифига неочевидно, какая вкладка откроется следующей. В твоём меню мне сразу очевидно, что будет следующим, а заодно и состояния открытых файлов. Мне не нужно бегать глазами между панелью вкладок и собственно содержимым вкладки.
PS: Строчку с выходом я тоже закомментировал, но по мне это не совсем правильный подход.
Re: RecentScreens — переключение между окнами как в MS Windows™
Posted: Thu 16 Oct, 2014 09:45
by John Doe
>Строчку с выходом я тоже закомментировал, но по мне это не совсем правильный подход.
Тогда какой подход правильный?
Re: RecentScreens — переключение между окнами как в MS Windows™
Posted: Thu 16 Oct, 2014 10:23
by Kildor
Ну во первых, если человек ставит этот макрос, то он наверное хочет им пользоваться? Поэтому не стоит как-то его в этом ограничивать.
А если хочется как-то ограничить, то можно либо воткнуть переключатель в конфиге, как это сделано с показом меню, либо по умолчанию закомментировать эту проверку. Опять же, потому что человек поставил этот скрипт чтоб им пользоваться.
Я конечно могу представить ситуацию одновременного использования фара as-is и фара as-conemu, где в первом случае хочется пользоваться скриптом, во втором нет, но по моему, это куда более редкий случай чем варианты "хочу использовать скрипт" и "не хочу использовать скрипт"
Re: RecentScreens — переключение между окнами как в MS Windows™
Posted: Thu 16 Oct, 2014 13:54
by sToLp
John Doe wrote:Kildor
sToLp
Расскажите зачем вам "RecentScreens.lua" при наличии в Conemu функции "Recent mode"?
Ответ банальный: наглядность. Я даже предлог visual к названию добавляю.
Спасибо за полезный и удобный макрос!