В Windows 10 1709 (FCU) отвалилась прокрутка консоли с помощью горячих клавиш Topic is solved
В Windows 10 1709 (FCU) отвалилась прокрутка консоли с помощью горячих клавиш
Запускаете что-нибудь консольное с длинной выдачей, давите Ctrl-O, пытаетесь прокрутить консоль назад с помощью Ctrl-Alt-PgUp.
Не работат, только дергается.
Прокрутка мышкой скроллбара работает.
Не работат, только дергается.
Прокрутка мышкой скроллбара работает.
В Windows 10 1709 (FCU) отвалилась прокрутка консоли с помощью горячих клавиш
Еще у кого-нибудь эта проблема есть?
Если кто-нибудь из разработчиков смотрел, не мог бы он прокомментировать кратко что там?
"MS опять накосорезил с консольным API, ну их нафик, пусть сами чинят" или что?
Если кто-нибудь из разработчиков смотрел, не мог бы он прокомментировать кратко что там?
"MS опять накосорезил с консольным API, ну их нафик, пусть сами чинят" или что?
-
- Posts: 142
- Joined: Sun 20 Jun, 2010 12:37
- Has thanked: 49 times
- Been thanked: 7 times
В Windows 10 1709 (FCU) отвалилась прокрутка консоли с помощью горячих клавиш
Да никто не будет разбираться с инсайдерскими версиями Windows 10.
К примеру уже 3 версии подряд голый Far x64 не выгружается или валится с werfault.
Живем и ждем стабильности...
К примеру уже 3 версии подряд голый Far x64 не выгружается или валится с werfault.
Живем и ждем стабильности...
В Windows 10 1709 (FCU) отвалилась прокрутка консоли с помощью горячих клавиш
1709 уже не инсайдерская.stefanenko wrote: ↑Sun 26 Nov, 2017 11:30Да никто не будет разбираться с инсайдерскими версиями Windows 10.
Это вы о чём? На 1709 ничего подобного не наблюдаю.stefanenko wrote: ↑Sun 26 Nov, 2017 11:30К примеру уже 3 версии подряд голый Far x64 не выгружается или валится с werfault.
Живем и ждем стабильности...
Last edited by 2useven10 on Sun 26 Nov, 2017 12:23, edited 1 time in total.
В Windows 10 1709 (FCU) отвалилась прокрутка консоли с помощью горячих клавиш
Решил сам посмотреть в чем дело.
Оказалось, что 1709 дополнительно генерит `WINDOW_BUFFER_SIZE_EVENT`, после чего `ProcessBufferSizeEvent` возвращает всё взад.
Т.е., оно сначала скроллится как и раньше, а потом возвращается в исходное положение (получается упомянутое дерганье).
Я себе сделал тривиальный кривой костыль (добавил глобальный флаг inScroll, который взводится в `ConsoleScrollHook` и проверяется (очищается) в `ProcessBufferSizeEvent`. У меня, вроде, работает, так что если кому надо -- просите мейнтейнеров сделать по уму.
Оказалось, что 1709 дополнительно генерит `WINDOW_BUFFER_SIZE_EVENT`, после чего `ProcessBufferSizeEvent` возвращает всё взад.
Т.е., оно сначала скроллится как и раньше, а потом возвращается в исходное положение (получается упомянутое дерганье).
Я себе сделал тривиальный кривой костыль (добавил глобальный флаг inScroll, который взводится в `ConsoleScrollHook` и проверяется (очищается) в `ProcessBufferSizeEvent`. У меня, вроде, работает, так что если кому надо -- просите мейнтейнеров сделать по уму.
Last edited by awson on Wed 14 Feb, 2018 18:49, edited 2 times in total.
В Windows 10 1709 (FCU) отвалилась прокрутка консоли с помощью горячих клавиш
Положу-ка я этот патч сюда, просто чтоб мейнтейнерам было понятно о чем речь.
Code: Select all
diff -urN a/far/interf.cpp b/far/interf.cpp
--- a/far/interf.cpp 2018-10-01 17:43:10.507269200 +0300
+++ b/far/interf.cpp 2018-10-07 18:52:04.306438500 +0300
@@ -137,6 +137,8 @@
static SMALL_RECT InitWindowRect;
static COORD InitialSize;
+bool inScroll = false;
+
static os::event& CancelIoInProgress()
{
static os::event s_CancelIoInProgress;
@@ -192,6 +194,7 @@
// Удалить после появления макрофункции Scroll
if (Global->Opt->WindowMode && Global->WindowManager->IsPanelsActive())
{
+ inScroll = true;
switch (key())
{
case KEY_CTRLALTUP:
diff -urN a/far/interf.hpp b/far/interf.hpp
--- a/far/interf.hpp 2018-10-01 17:43:10.508268800 +0300
+++ b/far/interf.hpp 2018-10-07 18:52:04.312468400 +0300
@@ -51,6 +51,8 @@
extern SHORT PrevScrX,PrevScrY;
extern DWORD InitialConsoleMode;
+extern bool inScroll;
+
// типы рамок
enum
{
diff -urN a/far/keyboard.cpp b/far/keyboard.cpp
--- a/far/keyboard.cpp 2018-10-01 17:43:10.509269300 +0300
+++ b/far/keyboard.cpp 2018-10-07 18:53:11.814521200 +0300
@@ -699,6 +699,11 @@
static DWORD ProcessBufferSizeEvent(COORD Size)
{
+ if (inScroll) {
+ inScroll = false;
+ return KEY_NONE;
+ }
+
if (WindowState.is_restored())
{
SaveNonMaximisedBufferSize(Size);
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
В Windows 10 1709 (FCU) отвалилась прокрутка консоли с помощью горячих клавиш
WINDOW_BUFFER_SIZE_EVENT у вас генерируется при вызове SetConsoleWindowInfo, я правильно понимаю?
Мы, конечно, можем накостылить, вашим методом или иначе, но это же явный баг - меняется не размер буфера, а его относительная позиция, WINDOW_BUFFER_SIZE_RECORD.dwSize будет тем же.
Напишите им на багтрекер (а мы поддержим), может нормально исправят (ну или подтвердят, что это теперь такая фича).
Мы, конечно, можем накостылить, вашим методом или иначе, но это же явный баг - меняется не размер буфера, а его относительная позиция, WINDOW_BUFFER_SIZE_RECORD.dwSize будет тем же.
Напишите им на багтрекер (а мы поддержим), может нормально исправят (ну или подтвердят, что это теперь такая фича).
В Windows 10 1709 (FCU) отвалилась прокрутка консоли с помощью горячих клавиш
Я, честно говоря, не копал, кто там начал вдруг `WINDOW_BUFFER_SIZE_EVENT` генерить, я просто увидел, что оно возникло out of nowhere, и решил, не вдаваясь в детали, проверить что будет, если я его вот так выпилю.
Если б что-то сломалось, я бы дальше стал смотреть, но ничего не сломалось.
Если б что-то сломалось, я бы дальше стал смотреть, но ничего не сломалось.
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
В Windows 10 1709 (FCU) отвалилась прокрутка консоли с помощью горячих клавиш
Поставил эту вашу windows 10, проверил, предположение подтвердилось, написал им багрепорт.
Господа, предлагаю сходить и лайкнуть https://github.com/Microsoft/console/issues/281, дабы привлечь внимание Microsoft к проблеме.
Рано или поздно все на это наступим.
Господа, предлагаю сходить и лайкнуть https://github.com/Microsoft/console/issues/281, дабы привлечь внимание Microsoft к проблеме.
Рано или поздно все на это наступим.
В Windows 10 1709 (FCU) отвалилась прокрутка консоли с помощью горячих клавиш
Радует что оба репорта признаны багами и помечены
Не радует, что там порядка 45 репортов с такими метками.
bug
conhost
.Не радует, что там порядка 45 репортов с такими метками.
Last edited by 2useven10 on Fri 12 Oct, 2018 00:20, edited 2 times in total.
-
- Posts: 10
- Joined: Sun 03 Nov, 2013 08:44
- Been thanked: 1 time
В Windows 10 1709 (FCU) отвалилась прокрутка консоли с помощью горячих клавиш
Ах вот в чём дело, сейчас задался целью настроить прокрутку, все клавиши перепробовал - не работает, скачал макрос - не работает
Уж стал сомневаться в своём уровне интеллекта. А оно вононо что. Багу лайкнул.
Code: Select all
Macro
{
description="Прокрутка панелей или UserScreen";
area="Shell";
key="MsWheelUp";
action=function()
if Area.Shell and (APanel.Visible or PPanel.Visible) then Keys("MsWheelUp") else Far.Window_Scroll(-3) end
end;
}
Macro
{
description="Прокрутка панелей или UserScreen";
area="Shell";
key="MsWheelDown";
action=function()
if Area.Shell and (APanel.Visible or PPanel.Visible) then Keys("MsWheelDown") else Far.Window_Scroll(3) end
end;
}
-
- Posts: 10
- Joined: Sun 03 Nov, 2013 08:44
- Been thanked: 1 time
В Windows 10 1709 (FCU) отвалилась прокрутка консоли с помощью горячих клавиш
А кто-нибудь знает, как сделать чтобы в Windows 10 в консоли в Far в полноэкранном режиме не скрывалась полоса прокрутки? Чтобы хотя бы так скроллить.