RecentScreens — переключение между окнами как в MS Windows™
- John Doe
- Бюрократ
- Posts: 13855
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 428 times
- Contact:
RecentScreens — переключение между окнами как в MS Windows™
В большинстве приложений, которые я использую, переключение между окнами происходит в порядке их использования (MRU order).
Но не во всех, пример исключений: FAR manager, Google Chrome.
Для решения этой проблемы в фаре был когда-то такой плагинчик RecentScreens — меню «Экраны» в порядке использования
Вашему вниманию предлагается LuaMacro-реализация подобной функциональности.
Переключение окон-экранов по умолчанию заменяет LCtrlTab (только левый Ctrl).
В отличии от обычного переключения экранов — в процессе переключения может отображаться список окон (до тех пор, пока удерживается Ctrl).
Требуется FAR3 build 5547 или новее.
[download] https://chiselapp.com/user/johnd0e/repo ... creens.lua
Но не во всех, пример исключений: FAR manager, Google Chrome.
Для решения этой проблемы в фаре был когда-то такой плагинчик RecentScreens — меню «Экраны» в порядке использования
Вашему вниманию предлагается LuaMacro-реализация подобной функциональности.
Переключение окон-экранов по умолчанию заменяет LCtrlTab (только левый Ctrl).
В отличии от обычного переключения экранов — в процессе переключения может отображаться список окон (до тех пор, пока удерживается Ctrl).
Требуется FAR3 build 5547 или новее.
[download] https://chiselapp.com/user/johnd0e/repo ... creens.lua
- Tim Sobolev
- Posts: 729
- Joined: Fri 01 Apr, 2005 14:46
- Location: Украина
- Has thanked: 1 time
- Been thanked: 7 times
Re: RecentScreens — переключение между окнами как в MS Windows™
Latest post of the previous page:
Будет ли возвращена настраиваемая поддержка Desktop Screen и удалены костыли которые были добавлены до применения фиксов в FAR?Re: RecentScreens — переключение между окнами как в MS Windows™
FAR3.4040 открыт в конему. Открываем в панелях редактор любого файла, ctrl-tab в панели, открываем вьювер любого файла, ESC - должны вернуться в панели, но вместо этого попадаем в редактор. Проявляется дефект и через скрипты.
- John Doe
- Бюрократ
- Posts: 13855
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 428 times
- Contact:
Re: RecentScreens — переключение между окнами как в MS Windows™
Если объясните какая требуется поддержка.Tim Sobolev wrote:Будет ли возвращена настраиваемая поддержка Desktop Screen
- John Doe
- Бюрократ
- Posts: 13855
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 428 times
- Contact:
RecentScreens — переключение между окнами как в MS Windows™
Conemu обрабатывает комбинацию CtrlTab самостоятельно, в фар она не приходит, соответственно RecentScreens работает некорректно.AleXH wrote:...но вместо этого попадаем в редактор.
Если бы можно было как-то отловить событие перехода в панели, то такой проблемы не было бы.
Впрочем, насколько я знаю у Conemu есть собственная функция Recent, поэтому стоит запретить RecentScreens при наличии Conemu.
И без Conemu? Причина та же: если переход в панели выполнен не изнутри RecentScreens, то он просто не регистрируется.AleXH wrote:Проявляется дефект и через скрипты.
- Tim Sobolev
- Posts: 729
- Joined: Fri 01 Apr, 2005 14:46
- Location: Украина
- Has thanked: 1 time
- Been thanked: 7 times
Re: RecentScreens — переключение между окнами как в MS Windows™
Показ в списке, переключение из/в по CtrlTabJohn Doe wrote:Если объясните какая требуется поддержка.Tim Sobolev wrote:Будет ли возвращена настраиваемая поддержка Desktop Screen
- John Doe
- Бюрократ
- Posts: 13855
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 428 times
- Contact:
Re: RecentScreens — переключение между окнами как в MS Windows™
Настроить легко, добавьте в конец строки 73 это:Tim Sobolev wrote:Показ в списке, переключение из/в по CtrlTabJohn Doe wrote:Если объясните какая требуется поддержка.Tim Sobolev wrote:Будет ли возвращена настраиваемая поддержка Desktop Screen
[F.WTYPE_DESKTOP]="Desktop",
И дайте знать, полностью ли устраивает итоговое поведение.
- Tim Sobolev
- Posts: 729
- Joined: Fri 01 Apr, 2005 14:46
- Location: Украина
- Has thanked: 1 time
- Been thanked: 7 times
Re: RecentScreens — переключение между окнами как в MS Windows™
В общем, пока что поведение устраивает.
John Doe wrote:Настроить легко, добавьте в конец строки 73 это:Tim Sobolev wrote:Показ в списке, переключение из/в по CtrlTab[F.WTYPE_DESKTOP]="Desktop",
И дайте знать, полностью ли устраивает итоговое поведение.
- John Doe
- Бюрократ
- Posts: 13855
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 428 times
- Contact:
r3.8
- В списке теперь отображается т.н. "Desktop Screen".
Не знаю правда зачем ) - Убран ненужный более обход бага.
- При загрузке добавлена проверка на Conemu: если фар запущен во вкладке, то скрипт не загружается.
(Conemu перехватывает CtrlTab) - Исправлен баг: скрипт не учитывал, что событие VE_READ может приходить в один и тот же экземпляр вьювера неоднократно.
-
- Posts: 1515
- Joined: Wed 16 Mar, 2005 06:26
- Location: Новосибирск
- Been thanked: 1 time
- Contact:
Re: RecentScreens — переключение между окнами как в MS Windows™
А как отключить третий пункт?
У меня конэму, фар во вкладке, но перехват CtrlTab отключен именно заради RecentScreens.
У меня конэму, фар во вкладке, но перехват CtrlTab отключен именно заради RecentScreens.
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.
xmpp:kildor@jabber.ru
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.
xmpp:kildor@jabber.ru
Re: RecentScreens — переключение между окнами как в MS Windows™
Аналогичная ситуация. Закоммитил строку:Kildor wrote:У меня конэму, фар во вкладке, но перехват CtrlTab отключен именно заради RecentScreens.
--- if Plugin.SyncCall("4b675d80-1d4a-4ea9-8436-fdc23f2fc14b","IsConEmu()") then return end --do not work under conemu
и макрос работает в КонЭму.
- John Doe
- Бюрократ
- Posts: 13855
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 428 times
- Contact:
Re: RecentScreens — переключение между окнами как в MS Windows™
Kildor
sToLp
Расскажите зачем вам "RecentScreens.lua" при наличии в Conemu функции "Recent mode"?
sToLp
Расскажите зачем вам "RecentScreens.lua" при наличии в Conemu функции "Recent mode"?
-
- Posts: 1515
- Joined: Wed 16 Mar, 2005 06:26
- Location: Новосибирск
- Been thanked: 1 time
- Contact:
Re: RecentScreens — переключение между окнами как в MS Windows™
Ну например затем, что сейчас у меня в конэму 3 фара и 4 sh-консоли. В двух фарах открыто по модальному файлу через SCP, в третьем -- три локальных файла. Каждый фар и консоль -- отдельный контекст работы. Если мне нужно сменить контекст, я пользуюсь Win-Number.
Recent mode бегает между всеми консолями и файлами, что мне не нужно. Кроме того, нифига неочевидно, какая вкладка откроется следующей. В твоём меню мне сразу очевидно, что будет следующим, а заодно и состояния открытых файлов. Мне не нужно бегать глазами между панелью вкладок и собственно содержимым вкладки.
PS: Строчку с выходом я тоже закомментировал, но по мне это не совсем правильный подход.
Recent mode бегает между всеми консолями и файлами, что мне не нужно. Кроме того, нифига неочевидно, какая вкладка откроется следующей. В твоём меню мне сразу очевидно, что будет следующим, а заодно и состояния открытых файлов. Мне не нужно бегать глазами между панелью вкладок и собственно содержимым вкладки.
PS: Строчку с выходом я тоже закомментировал, но по мне это не совсем правильный подход.
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.
xmpp:kildor@jabber.ru
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.
xmpp:kildor@jabber.ru
- John Doe
- Бюрократ
- Posts: 13855
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 428 times
- Contact:
Re: RecentScreens — переключение между окнами как в MS Windows™
>Строчку с выходом я тоже закомментировал, но по мне это не совсем правильный подход.
Тогда какой подход правильный?
Тогда какой подход правильный?
-
- Posts: 1515
- Joined: Wed 16 Mar, 2005 06:26
- Location: Новосибирск
- Been thanked: 1 time
- Contact:
Re: RecentScreens — переключение между окнами как в MS Windows™
Ну во первых, если человек ставит этот макрос, то он наверное хочет им пользоваться? Поэтому не стоит как-то его в этом ограничивать.
А если хочется как-то ограничить, то можно либо воткнуть переключатель в конфиге, как это сделано с показом меню, либо по умолчанию закомментировать эту проверку. Опять же, потому что человек поставил этот скрипт чтоб им пользоваться.
Я конечно могу представить ситуацию одновременного использования фара as-is и фара as-conemu, где в первом случае хочется пользоваться скриптом, во втором нет, но по моему, это куда более редкий случай чем варианты "хочу использовать скрипт" и "не хочу использовать скрипт"
А если хочется как-то ограничить, то можно либо воткнуть переключатель в конфиге, как это сделано с показом меню, либо по умолчанию закомментировать эту проверку. Опять же, потому что человек поставил этот скрипт чтоб им пользоваться.
Я конечно могу представить ситуацию одновременного использования фара as-is и фара as-conemu, где в первом случае хочется пользоваться скриптом, во втором нет, но по моему, это куда более редкий случай чем варианты "хочу использовать скрипт" и "не хочу использовать скрипт"
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.
xmpp:kildor@jabber.ru
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.
xmpp:kildor@jabber.ru
Re: RecentScreens — переключение между окнами как в MS Windows™
Ответ банальный: наглядность. Я даже предлог visual к названию добавляю.John Doe wrote:Kildor
sToLp
Расскажите зачем вам "RecentScreens.lua" при наличии в Conemu функции "Recent mode"?
Спасибо за полезный и удобный макрос!