Принудительная перерисовка Far-а

Вам не хватает чего-то в Far? Вы считаете, что вашу идею стоит услышать? Пишите сюда.
Post Reply
User avatar
SeNS
Posts: 34
Joined: Wed 14 Dec, 2005 06:39
Has thanked: 1 time
Contact:

Принудительная перерисовка Far-а

Post by SeNS »

Не нашел, как осуществить subj, если размер консоли изменился. Проблема возникает при использовании PictureView и модифицированного ConEmu, отрабатывающего Alt+F9. При просмотре картинки и переключении по Alt+F9 консоль и PictureView изменяют свой размер (максимизируют консольное окно), а вот Far, при выходе из плагина, считает, что по-прежнему работает в небольшой консоли (и соответственно отрисовывает панели лишь на части консоли).

Понятно, что это не проблема, а "фича" (можно, например, запретить ConEmu рисайзить консоль во время работы PictureView, а пользоваться Num5), но все-таки.

Для себя я решил этот вопрос добавлением следующего кода в manager.cpp:

Code: Select all

	case KEY_F13:
	  GetVideoMode(CurScreenBufferInfo);
	  ChangeVideoMode(CurScreenBufferInfo.dwSize.Y, CurScreenBufferInfo.dwSize.X);
	  ResizeAllFrame();
	  return TRUE;
и эмуляцией нажатия клавиши VK_F13. Понятно, что это грубо и с "наскока". Может, FarTeam предложит более изящное решение данного вопроса?
User avatar
Александр Кряжев
Posts: 882
Joined: Sun 03 Dec, 2006 10:09
Location: Москва
Has thanked: 2 times
Contact:

Re: Принудительная перерисовка Far-а

Post by Александр Кряжев »

SeNS
Стопроцентно гарантирую, что сейчас тебя пошлют вот сюда: http://code.google.com/p/conemu-maximus5/. :ha:

Фар - маргинальный продукт. (c) zg
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: Принудительная перерисовка Far-а

Post by DrKnS »

Александр Кряжев
С предсказаниями - на форум гадалок.

Проблема имеет место быть и без PictureView, и без ConEmu, и без AltF9, так что не пошлют.
User avatar
SeNS
Posts: 34
Joined: Wed 14 Dec, 2005 06:39
Has thanked: 1 time
Contact:

Re: Принудительная перерисовка Far-а

Post by SeNS »

DrKnS wrote:Проблема имеет место быть и без PictureView, и без ConEmu, и без AltF9, так что не пошлют.
Дык, может, есть смысл добавить код проверки истинного размера консоли после отработки плагинов/внешних программ? Imho, не помешала бы такая проверка.
WBR, SeNS
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Принудительная перерисовка Far-а

Post by NightRoman »

SeNS wrote:
DrKnS wrote:Проблема имеет место быть и без PictureView, и без ConEmu, и без AltF9, так что не пошлют.
Дык, может, есть смысл добавить код проверки истинного размера консоли после отработки плагинов/внешних программ? Imho, не помешала бы такая проверка.
Для внешних программ, наверное. У меня вот есть скриптик (но суть внешняя программа), который "плавно меняет размеры консоли", но с консолью Фара не очень гладко выходит.

А для плагинов может и слишком жирно - потому что вместо бесконечных проверок (а Фар вызывает плуги будь здоров сколько) лучше предоставить плагинам АПИ все сделать грамотно самим, оповестив Фар при необходимости о чем надо.
User avatar
HaRT
Moderator
Posts: 10869
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: Принудительная перерисовка Far-а

Post by HaRT »

А как получается, что Фар не узнаёт про изменение размера консольного окна?
Если в „штатных” условиях это реальная ситуация, то не лучше ли делать проверку непосредственно перед перерисовкой?
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Принудительная перерисовка Far-а

Post by NightRoman »

Перепроверил свое утверждение, не совсем так, как я написал. Вроде все ок с внешней прогой (с этой конкретной) - при выходе из нее Фар нормально отрисовался в измененном окне. А вот если тот же .ps1 скрипт запустить плагином, то да, странные эффекты наблюдаются, скрипт отработал, и окно консоли "подрезает" Фар и он этого "не замечает".
Post Reply

Return to “Предложения и идеи”