Terminal: Кнопки строки заголовка не работают (PowerToys)

Созданный на 25 окт. 2019  ·  65Комментарии  ·  Источник: microsoft/terminal

Окружающая обстановка

Windows build number: 10.0.18362.295
Windows Terminal version (if applicable): 0.6.2951.0

Any other software?

Действия по воспроизведению

Откройте терминал и нажмите закрыть / свернуть / развернуть / изменить среду.

Ожидаемое поведение

Он должен работать

Фактическое поведение

Он показывает странный курсор и не работает.

Снимок экрана

Area-User Interface Issue-Bug Needs-Repro Product-Terminal

Самый полезный комментарий

это происходит со мной тоже случайно, выход из процесса powertoys, кажется, исправляет.
в связанной проблеме попытка перетащить окно wt с нажатой клавишей Shift, заморозить окно на месте
но он начинает двигаться, когда вы отпускаете клавишу Shift

Все 65 Комментарий

Это очень странно. Бьюсь об заклад, это связано с нашим кодом WM_NCHITTEST в NonClientIslandWindow . Если бы мне пришлось выйти из-под контроля, это выглядело бы так, как если бы вся область заголовка обрабатывалась как HTTOP , что привело бы к тому, что эта область рассматривалась бы как «область верхнего перетаскивания».

К сожалению, я не могу воспроизвести это сам: /

@Ronkiro, если щелкнуть и перетащить, пока мышь такая,


PS

Совет: вы можете просто вставить изображения прямо в поле ввода на github, и он автоматически загрузит их в github и встроит их в строку. Это довольно аккуратно
image

@ zadjii-msft
Я попытался добавить изображение, но это не удалось ... Он создавал ссылку на github, но это была неправильная ссылка, лол, я думаю, что что-то упустил.

Вернемся к терминалу, удерживая нажатой кнопку мыши, размер окна не изменяется. Но при перемещении в область без кнопок в строке заголовка (средняя область) курсор снова возвращается в состояние по умолчанию.

image

Все еще в курсоре по умолчанию, я не могу щелкнуть закрыть / свернуть / и т. Д. Хотя ALT + F4 работает.
Немного протестировав, я также заметил, что я не могу выполнять какие-либо действия с мышью в терминале (например, отмечать текст, щелкать правой кнопкой мыши, чтобы вставить / открыть меню и т. Д.). Но такие сочетания клавиш, как CTRL + V, работают. Единственное исключение - это двойной щелчок по средней области (он правильно увеличивает экран) и изменение размера окна.

Кроме того, изображение, на котором находится курсор, является последним, на которое я наведен. Я имею в виду, что если я перейду в область «Изменить размер влево», а затем перейду к строке заголовка, мышь будет со значком «Изменить размер влево».

image

У меня тоже была эта проблема (Microsoft Windows [версия 10.0.18362.418]), но перезагрузка компьютера устранила ее.

@Ronkiro Исправит ли перезагрузка? @JohnFNovak указывает, что может. :улыбка:

Нет @ DHowett-MSFT. Я имею в виду, я уже много раз перезапускал, пока действительно не создал здесь проблему, но это не помогло.

Также отмечу, что это корпоративный W10, не уверен, что это может хоть как-то помочь.

это происходит со мной тоже случайно, выход из процесса powertoys, кажется, исправляет.
в связанной проблеме попытка перетащить окно wt с нажатой клавишей Shift, заморозить окно на месте
но он начинает двигаться, когда вы отпускаете клавишу Shift

Кажется, это связано с PowerToys для меня, выход также исправлен.

Приятно слышать. Вызов @crutkas, если у него есть идеи по этому поводу

На какой версии PowerToys вы используете

Я пытаюсь сделать репо, но не могу. Я использую PowerToys 0.14.1, и вот мои шаги по воспроизведению. Возможно, вам потребуется поделиться своими настройками FancyZone.

Мы делаем вещи со сдвигом, чтобы вы знали, что мы собираемся привязаться к вашим зонам.

Моя системная информация в настоящее время:

  • PowerToys 0.14.1
  • Терминал: 0.7.3451.0
  • Win10: 18363.535, версия 1909
  1. Запускайте силовые игрушки.
  2. Запустите Терминал.
  3. нажмите свернуть, развернуть (все работают)
  4. добавлена ​​вкладка PowerShell
  5. Добавлена ​​вкладка Cmd
  6. Удалите новую вкладку PowerShell с помощью X
  7. Удерживая Shift, перейдите в зону FancyZone

Win10: версия 1903, сборка 18362.295 (Enterprise)
PowerToys: 0.11.0

image

У меня также включен «Использовать новый опыт редактирования зоны», я не уверен, есть ли у него какие-либо отношения.

Кстати, сейчас я не могу воспроизвести проблему снова. Было бы хорошо, если бы кто-нибудь, у кого также была проблема, мог продолжать помогать с информацией. Но я не менял ни одну из версий, просто исправил обходной путь.

powertoys 0.14.1
win10 Insider медленное кольцо: 2004, сборка 19041.1
вес: 0.7.3451.0

ошибка произошла, когда я собирал версию wt,
Это также влияет на настройки Power Toys
я подключил дисплей и перемещение окна wt заставило кнопки работать
правда только на 2-м дисплее
использовал записывающее устройство для записи:
powertoys bug.zip
ошибка powertoys 2.zip

так что есть новости по этому поводу?

Я могу воссоздать это, но я думаю, что это с терминалом, поскольку я могу воспроизвести это поведение с полностью выключенным PowerToys. Обратите внимание, что это единственный способ воссоздать это.

Я на Терминале 0.8.10091.0

Что я делаю, чтобы воссоздать

  1. пусковой терминал
  2. Щелкните левой кнопкой мыши по строке заголовка
  3. Удерживайте смену
  4. Перетащите мышь вниз и на сам экран консоли
  5. Отпустить мышь

Фактическое поведение:
Окно зависает примерно на 3 секунды, его нельзя перетащить, или кнопки min / max / close также не реагируют на нажатие или наведение

Окно зависает примерно на 3 секунды, его нельзя перетащить, или кнопки min / max / close также не реагируют на нажатие или наведение

кнопки в окне не реагируют, когда вы отпускаете Shift?

Я могу воссоздать это, но я думаю, что это с терминалом, поскольку я могу воспроизвести это поведение с полностью выключенным PowerToys

но когда возникает ошибка, это также влияет на настройки powertoys

Да, окно не отвечает, но возвращается примерно через три секунды. Тот факт, что я могу сделать это без запуска PT, означает, что что-то происходит с терминалом, а не с PT.

Регистратор шагов был полезен, но немного сбивал с толку, так как все было на португальском языке и переводился вручную. Для показа неотзывчивых материалов здесь может быть более эффективным видео. Gamebar (win + g) может это сделать.

Так что, если мои шаги по замораживанию - это другое дело, давайте сделаем их шаг за шагом.

все было на португальском

извините за это, мне нужно было больше попытаться отредактировать файл, чтобы я мог его перевести.

Gamebar (win + g) может это сделать.

да, но он захватывает только окно, а не весь экран. попробую, когда это повторится снова, если это будет полезно

Да, окно не отвечает, но возвращается примерно через три секунды
running означает, что что-то происходит с терминалом, а не с PT.

я сообщил об этом поведении здесь # 3325 (комментарий)

@LuanVSO

  1. никогда не сожалей о том, что у тебя есть что-то на твоем родном языке.
  2. Если бы вы могли сделать шаг за шагом, как я сделал выше, возможно, это могло бы помочь.

кнопки строки заголовка не работают даже после переустановки приложения.

Итак, начнем, только что установил powertoys v0.15, перезагрузил компьютер и открыл терминал Windows
20200304023637-7c011ad592 gif-2-mp4 com
это также влияет на настройки pt:
20200304023343-0b6a9d442f gif-2-mp4 com
вот оригинальные видеоклипы:
bug-videos.zip

@LuanVSO , это происходит без работы PowerToys?

@crutkas нет, когда я останавливаюсь, он возвращается к нормальному поведению

Можете ли вы создать пошагово и куда вы нажимаете?

  1. запустить терминал (он закреплен на панели задач, поэтому я нажимаю win +2)
  2. щелкните правой кнопкой мыши кнопку свертывания (не работает)
  3. щелкните правой кнопкой мыши разделенную кнопку (не работает)
  4. наведите указатель мыши на края окна, чтобы показать, как ведет себя указатель (изменение размера окна работает, но запись остановится, поэтому я этого не сделал)

хоть убей, я не могу это сделать. Можете ли вы написать мне письмо, и, может быть, давайте синхронизируем команды, где мы сможем поделиться экраном? [email protected]

хорошо, я имею в виду, что я не могу повторять это каждый раз, это очень привередливо

если он следует схеме, описанной выше, то это вне powertoys, и я могу повторить это без запуска PT.

Что я делаю, чтобы воссоздать

  1. пусковой терминал
  2. Щелкните левой кнопкой мыши по строке заголовка
  3. Удерживайте смену
  4. Перетащите мышь вниз и на сам экран консоли
  5. Отпустить мышь

@crutkas, кажется, я узнал, что происходит.

  1. закрепить выигрышный терминал на панели задач
  2. удерживайте клавишу выигрыша
  3. непосредственно перед тем, как появится руководство по быстрым клавишам, нажмите #, соответствующий сроку выигрыша, и быстро отпустите обе клавиши.
  4. попробуйте взаимодействовать с элементами управления в срок

Кроме того, после выполнения этих шагов руководство по быстрым клавишам больше не появляется

Для меня строка заголовка работает, у меня проблема с раскрывающимся списком профилей и настроек. При использовании отладки VS2019 возникает исключение.
Я могу открыть новый терминал в режиме отладки с помощью «ctrl + shift + 2,3,4», но если нажать кнопку раскрывающегося списка.

image

К сожалению, _that_ является ошибкой платформы (которая, кажется, была исправлена ​​в 19041+). Извините: smile:

У меня есть то же самое на моей машине, но становится еще сложнее.
Это происходит только на моем основном экране. Когда я перемещаю окно WT на другой экран, все возвращается в нормальное состояние. Те же симптомы, окно не получает событий мыши, даже курсор зависает над окном WT. Max / Min / Close не работают, необходимо переместить окно на другой экран, чтобы оно работало.
Я тоже пользуюсь СТ, и, видимо, ее отключение помогает сразу.
Однако шаги воспроизведения @crutkas также работают без запуска PT.

@ DHowett-MSFT, это должно быть смешно? Это все еще только для инсайдеров ... К счастью, WT все еще не может конкурировать с моей текущей настройкой, так что не беспокойтесь ..
Я просто подожду и вернусь через полгода или около того.

@ DHowett-MSFT, это должно быть смешно?

Просто для ясности: вы думаете, что эта ошибка, которую _ никто из моей команды не может воспроизвести, и мы обсуждаем с командой ввода информации о_ это шутка, которую мы над вами играем? Это классно.

У меня были те же проблемы на https://github.com/microsoft/terminal/issues/5724, и у меня нет проблем после обновления PowerToys до версии 0.17.0.

Те из вас, кто сталкивался с этой проблемой с PowerToys, можете ли вы проверить, сохраняется ли проблема с PowerToys v0.17.0 ? Благодарю.

Нет, мне не нужно было отключать его, чтобы он заработал. Я закрыл PowerToys, обновил и снова открыл. Важно отметить, что я использовал Scoop для установки PowerToys.

со мной этого больше не происходит

Те из вас, кто сталкивался с этой проблемой с PowerToys, можете ли вы проверить, сохраняется ли проблема с PowerToys v0.17.0 ? Благодарю.

Пришел сюда в первый раз, когда я это заметил - да, у powertoys 0.17.0 такая же проблема (на самом деле это единственная версия, которую я когда-либо устанавливал). Это просто случилось со мной. На самом деле , когда вопрос проявляющие себя, мышь не работать даже в пределах PowerToys либо. Я даже не использую powertoys, потому что я только пробовал. Когда я убиваю powertoys, проблема уходит. Когда я перезапускаю powertoys, проблема все еще отсутствует, поэтому предполагая, что это связано с какой-то комбинацией событий, вызывающей взаимоблокировку, которая блокирует оба приложения :(. Я постараюсь обратить более пристальное внимание на любые предыдущие события в следующий раз, когда это произойдет, но Мне жаль, что вы пытаетесь устранить эту проблему.

Только что случилось со мной с PowerToys 0.18.0, перезапуск PowerToys, похоже, устранил проблему.

нашел верный способ воспроизвести это на powertoys 0.18.1:
вот файл записи шагов, который я сделал (теперь он на правильном языке 😅):
окно powertoys не отвечает bug.zip
это должно быть в первый раз, когда запускается руководство по быстрым клавишам, иначе оно не будет воспроизводиться

Мне удалось воспроизвести эту ошибку, как сообщается в PowerToys # 4287 . Если Fancy Zones выключен, PowerToys перезапущен и Fancy Zones включены, он работает должным образом.

Я не согласен, что это непосредственно PT, я могу воссоздать эту ошибку без запуска powertoys. рендеринг окна терминала зависает. FancyZones усугубляет проблему из-за горячей клавиши

Что я делаю, чтобы воссоздать

  1. пусковой терминал
  2. Щелкните левой кнопкой мыши по строке заголовка
  3. Удерживайте смену
  4. Перетащите мышь вниз и на сам экран консоли
  5. Отпустить мышь
  6. тип

вы увидите остановку курсора и прекращение ввода всех данных.

он ведет себя так при отпускании Shift?
terminal
Это падает после того, как вы отпускаете?

k,
Итак, здесь 2 ошибки:

  1. это перетаскивание сдвига заставляет его зависать
  2. это

нашел верный способ воспроизвести это на powertoys 0.18.1:
вот файл записи шагов, который я сделал (теперь он на правильном языке 😅):
окно powertoys не отвечает bug.zip
это должно быть в первый раз, когда запускается руководство по быстрым клавишам, иначе оно не будет воспроизводиться

вот гифка, показывающая процесс:
terminal
когда я отпустил клавишу выигрыша, я больше не мог взаимодействовать с кнопками в настройках точки

Мне удалось воспроизвести ошибку в отладочной сборке pt, и когда я приостановил выполнение, она перетащила меня в этот файл
image

это происходит, когда создается окно d2doverlaywindow, поскольку ошибка возникает только в том случае, если это отображается в первый раз

@LuanVSO
ошибка, обнаруженная вами при длительном нажатии клавиши Win во время переназначения клавиши, не связана с ошибкой Терминала при перетаскивании клавиши Shift.

Это случилось со мной с версией терминала 1.0.1811.0

Похоже на конфликт с PowerShell:
У меня была установлена ​​версия 7 , а также у меня был .Net, который также установил PowerShell, но версии 6 . Удаление PowerShell из .Net, похоже, решило проблему для меня.

@DHowett У меня такая же проблема с Powertoys 0.18, когда я не могу использовать мышь, чтобы щелкнуть по игрушкам или терминалу Windows. Удаление powertoys решает проблему.

Может ли кто-нибудь подтвердить, что выхода из PowerToys недостаточно для предотвращения этой ошибки, и требуется ее удалить?

@ DHowett-MSFT
это очень интересное (и странное) открытие:
https://github.com/microsoft/PowerToys/issues/5944
Терминал по неизвестной причине использует класс окна, определенный в PowerToys.
Регистратор шагов показывает элемент пользовательского интерфейса, который «крадет» ввод, является частью Терминала, а не PowerToys.exe.
Непонятно, что здесь происходит, активно ли Терминал создает этот элемент пользовательского интерфейса или PowerToys каким-то образом вводит его в Терминал?

@enricogior Хороший улов. Терминал определенно не создает этот класс окна - единственное окно, которое мы создаем вручную, - это наше CASCADIA_HOSTING_WINDOW_CLASS (см. IslandWindow.cpp # L18-L68 ).

Технически мы также создаем остров XAML - может, он каким-то образом взаимодействует с руководством по быстрым клавишам?

Когда это произошло со мной, я просто смог восстановить работоспособность, отключив игрушку «Краткое руководство». Удаление _тоже_ сработает, но может быть немного лишним 😄

Я просто понимаю, что в # 6120 также есть тонна дополнительной информации по этой проблеме и куча других репро.

@ zadjii-msft
Краткое руководство - это приложение на чистом C ++. Тот факт, что класс окна, определенный в Кратком руководстве, попадает в Терминал, весьма удивителен.

Терминал @enricogior также является родным приложением на C ++. Используемый язык не влияет на возможные классы окон.

@DHowett
Я имел в виду чистый Win32, без XAML, единственное, что я нашел до сих пор, что может быть потенциальной точкой входа для проблемы, описано в
https://github.com/microsoft/PowerToys/issues/5944#issuecomment -674981994
Я предложил создать отладочную версию Терминала для отслеживания этого имени класса, чтобы проверить, правильно ли устройство записи шагов идентифицирует элемент пользовательского интерфейса как дочерний для процесса Терминала, это подтвердит, что есть инъекция объекта класса извне.

Теперь это случилось и со мной, но на самом деле это гибрид этого и https://github.com/microsoft/terminal/issues/4448, где я не могу печатать и не могу нажимать кнопки строки заголовка, прокручивать или использовать какие-либо Элемент пользовательского интерфейса (хотя я могу изменить размер окна). Такое случалось не раз.

  • Я использую PowerToys v0.20.1
  • Я не использую краткое руководство
  • изменение размера и привязка окон (выигрыш + стрелка) работает
  • щелчок в окне (заголовок, панель вкладок, мин. / макс. / выход) не работает
  • ввод в окно не имеет никакого эффекта
  • оболочка - это powershell (а затем запускается wsl внутри нее), а дерево процессов все еще живо
  • Я использую масштабирование 150% DPI, но у меня подключен только 1 монитор
  • Я запустил приложение вчера, и с тех пор компьютер спал / просыпался. Я заметил проблему только после пробуждения компьютера
  • Я запустил второй экземпляр терминального приложения, и он отлично работает

@aharpervc

Я не использую краткое руководство

В настройках PowerToys отключено руководство по ярлыкам или вы его просто не запускаете?

Выключено:

image

@aharpervc
благодарю вас.

Похоже, что это исключает возможность того, что ошибка вызвана непосредственно Руководством по ярлыкам, поскольку оно не работает и, следовательно, не может быть тем, что внедряет класс PToyD2DPopup в процесс Терминала.

@aharpervc с каким графическим чипсетом вы работаете? NVidia?

@aharpervc с каким графическим чипсетом вы работаете? NVidia?

AMD Radeon Pro 560

Я также столкнулся с этой проблемой (не могу взаимодействовать с панелью окна Power Shell, кроме как перетаскивать ее). Перезапуск Windows и завершение работы приложения «Терминал Windows» в диспетчере задач не помогло мне.

Power Toys версии 0.19.1
Windows 10 Pro 19042.541

Я только что открыл Power Toys, чтобы проверить, включено ли мое руководство по быстрым клавишам, как было предложено выше, но я также не мог взаимодействовать с этим пользовательским интерфейсом. Затем я убил процесс Powertoys runner с помощью диспетчера задач, и он, по крайней мере, исправил обе проблемы.

Хорошо, что я нашел эту ветку в Google!
После обновления до выпуска 2004 года Windows 10 на прошлой неделе я не мог щелкнуть где-либо в строке заголовка приложения Windows Terminal (ни элементы управления вкладками, ни минимизировать / развернуть / закрыть).
Также не удалось выделить текст в окне терминала.
Проблема исчезла сразу при закрытии Power Toys в лотке 👍

В моем случае это происходит как с Windows Terminal ( Version: 1.4.3243.0 ), и с Windows Terminal Preview ( Version: 1.5.3242.0 ), независимо от того, запущен ли PowerToys ( Version: 0.25.0 ). Моя версия Windows 10 - 1909 а сборка ОС - 18363.1198 .

Вероятно, это бесполезная информация, но, используя WindowSpy (компонент проверки Autohotkey), я заметил разницу между именем класса / номером экземпляра (ClassNN в WindowSpy) задействованных элементов управления.

Когда я _can_ взаимодействую с мышью, свертывания / развертывания и т. Д .:

ClassNN:  Windows.UI.Composition.DesktopWindowContentBridge1
Text:     DesktopWindowXamlSource

image


Когда я _не могу_ взаимодействовать с мышью на этих элементах управления, это меняется на:

ClassNN: Windows.UI.Core.CoreWindow1
Text:        DesktopWindowXamlSource

image

Была ли эта страница полезной?
0 / 5 - 0 рейтинги