Скроллеры после разблокирования компьютера (Windows XP)
Скроллеры после разблокирования компьютера (Windows XP)
В Windows XP всегда наблюдалась проблема, описанная здесь: после разблокирования компьютера на окне появлялись скроллеры, если оно было развернуто на весь экран. У меня разрешение экрана 1280*1024, и максимальный размер окна при шрифте Lucida Console 14 оказывается равным 160*69 -- так полуается, если нажать Alt-F9. Чтобы решить проблему, я установил размер 159*69, -- скроллеры появляться перестали.
Но теперь Far стал автоматически "нажимать" Alt-F9 при запуске. Пришлось убрать в ярлыке запуск в максимизированном окне, но и это помогает не всегда -- так или иначе приходилось сталкиваться с появлением скроллеров. Нельзя ли сделать это автоматическое Alt-F9 опциональным? Я не нашел таких параметров в настройках. Пока пришлось откатиться на версию 1.71 alpha 1 build 2104 -- там этого еще не было.
Но теперь Far стал автоматически "нажимать" Alt-F9 при запуске. Пришлось убрать в ярлыке запуск в максимизированном окне, но и это помогает не всегда -- так или иначе приходилось сталкиваться с появлением скроллеров. Нельзя ли сделать это автоматическое Alt-F9 опциональным? Я не нашел таких параметров в настройках. Пока пришлось откатиться на версию 1.71 alpha 1 build 2104 -- там этого еще не было.
Re: Скроллеры после разблокирования компьютера (Windows XP)
макросы?
We are the Borg. You will be assimilated.
So Say We All!
So Say We All!
Re: Скроллеры после разблокирования компьютера (Windows XP)
Можно пояснить? Как здесь могут помочь макросы?
Re: Скроллеры после разблокирования компьютера (Windows XP)
Не помочь, а проверь, есть ли у тебя в автозапуске макрос, который жмет Alt-F9.andr3w wrote:Можно пояснить? Как здесь могут помочь макросы?
Re: Скроллеры после разблокирования компьютера (Windows XP)
Обычный такой автостартующий макрос, "нажимающий" Alt-F9
А запуск far /p (т.е. без плагинов) как себя ведет?
Хмм... хотя какого черта.... в ярлыке запуска ФАРа небось стоит развернуть на весь экран?
А запуск far /p (т.е. без плагинов) как себя ведет?
Хмм... хотя какого черта.... в ярлыке запуска ФАРа небось стоит развернуть на весь экран?
We are the Borg. You will be assimilated.
So Say We All!
So Say We All!
Re: Скроллеры после разблокирования компьютера (Windows XP)
Поскольку глюк XP (вплоть до SP3) достал, решил поэкспериментировать. Короче говоря, скроллеры не появятся, если размер консольного окна хотя бы на пару пикселей (по любому из измерений) меньше размера экрана. Т.е. обход глюка - снимать в ярлыке Maximized, и ставить размер окна на 1 меньше максимального (хоть по вертикали, хоть по горизонтали). Какой стоит шрифт - неважно, хоть векторный, хоть растровый. Гады они все-таки в Microsoft...
Не знаю, может ли Far починить себя сам после возврата от скринсейвера или лока, но то, что событие ему зашлется, которое можно попытаться обработать, это факт. Событий там несколько, но обработка-то одна на все )) Если дойдут руки, надо будет поэкспериментировать с консольным окном, благо с нуля писать не придется - Open Source рулит
Не знаю, может ли Far починить себя сам после возврата от скринсейвера или лока, но то, что событие ему зашлется, которое можно попытаться обработать, это факт. Событий там несколько, но обработка-то одна на все )) Если дойдут руки, надо будет поэкспериментировать с консольным окном, благо с нуля писать не придется - Open Source рулит
-
- Posts: 270
- Joined: Mon 10 Apr, 2006 00:53
- Location: станица Григорополисская
- Has thanked: 147 times
- Contact:
Re: Скроллеры после разблокирования компьютера (Windows XP)
Не оно: Не совсем коректная максимизация окна?!
P.S. Есть и автостартующий макрос, содержащий Alt-F9.
Во всяком случае, после перехода на XP, у меня сейчас выставлено:Skirda wrote:…сдается ЭТО уже было (undocumented information)
Попробуй следующее:DeltaXY - это структура COORD.Code: Select all
Far\Screen/DeltaXY:REG_DWORD (default=0)
Компоненты X и Y добавляются к результату, который возвращает функция GetLargestConsoleWindowSize(). В коде это выглядит примерно так:
Т.е. надо понимать, что X и Y это не в пискселах, а в тикселах: т.е. изменение будет на размер шрифта, выставленного для окна ФАРа.Code: Select all
COORD coordScreen; coordScreen = GetLargestConsoleWindowSize(hConOut); coordScreen.X+=DeltaXY.X; coordScreen.Y+=DeltaXY.Y;
…
Code: Select all
REGEDIT4
[HKEY_CURRENT_USER\Software\Far\Screen]
"DeltaXY"=dword:ffffffff
Re: Скроллеры после разблокирования компьютера (Windows XP)
Оно. Почти ) Т.к. если после этого окно максимзировать вручную, то все равно скроллеры появятся. Да и некрасиво - хочется действительно Maximized, привычка, особенно на небольших экранах, где 800*600. Поэтому и пишу, что надо посмотреть в код и понять, можно ли написать workaround этого глюка XP. Т.е. после возврата из лока/скринсейвера надо это событие обрабатывать, возвращая окну правильные размеры, при условии, что окно было максимизировано на момент лока/скринсейвера. Уф.
Кстати, достаточно DeltaXY=0xffff, т.е. -1 только по X.
Кстати, достаточно DeltaXY=0xffff, т.е. -1 только по X.
- zg
- zero-gravity
- Posts: 6035
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Re: Скроллеры после разблокирования компьютера (Windows XP)
реализуемо плагином, так что дерзайDfDf wrote:Поэтому и пишу, что надо посмотреть в код и понять, можно ли написать workaround этого глюка XP. Т.е. после возврата из лока/скринсейвера надо это событие обрабатывать, возвращая окну правильные размеры, при условии, что окно было максимизировано на момент лока/скринсейвера. Уф.
ps: у меня кстати при локе такого не происходит. а вот при смене видеопараметров или при запуске некоторых фулскрин приложений происходит.
-
- Posts: 270
- Joined: Mon 10 Apr, 2006 00:53
- Location: станица Григорополисская
- Has thanked: 147 times
- Contact:
Re: Скроллеры после разблокирования компьютера (Windows XP)
У меня с установленным DeltaXY — нет.DfDf wrote:Оно. Почти ) Т.к. если после этого окно максимзировать вручную, то все равно скроллеры появятся.
Кому как.DfDf wrote:Кстати, достаточно DeltaXY=0xffff, т.е. -1 только по X.
Re: Скроллеры после разблокирования компьютера (Windows XP)
Если кто-то все-таки возьмется решить эту проблему раз и навсегда:
До включения скринсейвера или блокировки консоли левый верхний угол окна ФАРа, развернутого на весь экран, имеет отрицательные координаты (как правило, -4,-4). После отключения скринсейвера или разблокировки консоли левый верхний угол окна позиционируется в точку 0,0 - скорее всего, самим ФАРом, т.к. другие окна с такими же отрицательными координатами своих координат не меняют.
Для "лечения" нужно проверить, как ФАР обрабатывает, например, включение/выключение скринсейвера. Если он что-то делает с координатами своего окна - исправить. Если ничего - тогда нужно принудительно подвинуть окно на прежние координаты, после чего "развернуть на весь экран".
До включения скринсейвера или блокировки консоли левый верхний угол окна ФАРа, развернутого на весь экран, имеет отрицательные координаты (как правило, -4,-4). После отключения скринсейвера или разблокировки консоли левый верхний угол окна позиционируется в точку 0,0 - скорее всего, самим ФАРом, т.к. другие окна с такими же отрицательными координатами своих координат не меняют.
Для "лечения" нужно проверить, как ФАР обрабатывает, например, включение/выключение скринсейвера. Если он что-то делает с координатами своего окна - исправить. Если ничего - тогда нужно принудительно подвинуть окно на прежние координаты, после чего "развернуть на весь экран".
- zg
- zero-gravity
- Posts: 6035
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Re: Скроллеры после разблокирования компьютера (Windows XP)
в эти другие окна при эксперименте входила например обычная консоль?IVB wrote:скорее всего, самим ФАРом, т.к. другие окна с такими же отрицательными координатами своих координат не меняют.
Re: Скроллеры после разблокирования компьютера (Windows XP)
Не входила.
Повторил эксперимент - консоль "сдвигается" так же, как и ФАР. Вывод: окно сдвигается не ФАРом.
К сожалению, это никак не влияет на способ решения проблемы (сдвинуть свое окно на прежнее место и повторно "развернуться на весь экран", чтобы пропали скроллеры).
Пока что приходится делать это руками, что не просто раздражает, а убивает наповал
Повторил эксперимент - консоль "сдвигается" так же, как и ФАР. Вывод: окно сдвигается не ФАРом.
К сожалению, это никак не влияет на способ решения проблемы (сдвинуть свое окно на прежнее место и повторно "развернуться на весь экран", чтобы пропали скроллеры).
Пока что приходится делать это руками, что не просто раздражает, а убивает наповал
Re: Скроллеры после разблокирования компьютера (Windows XP)
Нажать два раза Alt+F9?IVB wrote:убивает наповал
Re: Скроллеры после разблокирования компьютера (Windows XP)
И сдвинуть окно на прежнее место.UJvu wrote:Нажать два раза Alt+F9?IVB wrote:убивает наповал
Если этого не сделать - слева между краем экрана и внутренней границей консольного окна получается "зазор" примерно пикселов 10, который меня убивает еще сильнее, чем необходимость вручную перемещать окно ФАРа влево/вверх.
А если учесть, что у меня обычно открыто 5-6 окон с ФАРом...
Ненавижу M$