Terminal: 标题栏按钮不起作用(PowerToys)

创建于 2019-10-25  ·  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流程似乎可以解决此问题。
在一个相关的问题中,尝试通过按住Shift键拖动wt窗口将窗口冻结到位
但是当您松开Shift键时它开始移动

所有65条评论

这太奇怪了。 我敢打赌这与我们在NonClientIslandWindow WM_NCHITTEST代码有关。 如果我不得不弯腰,几乎就像整个标题栏区域都被视为HTTOP ,这将导致该区域被视为“顶部拖动区域”。

不幸的是,我自己不能真正对此进行复制:/

@Ronkiro如果您在像这样鼠标的同时单击并拖动,它会调整窗口大小吗? 如果是这样,那可能会证实我的怀疑。 另外,它在标题栏区域的整个高度上是否像这样?


聚苯乙烯

提示:您实际上可以直接将图像直接粘贴到github上的输入框中,它会自动将它们上载到github并内联。 挺整齐的
image

@ zadjii-msft
我尝试添加图像,但是失败了……它正在创建github的链接,但是它是一个错误的链接,哈哈,我想我错过了一些东西。

返回终端,按住click不会调整窗口大小。 但是,当移动到标题栏的非按钮区域(中间区域)时,光标会再次变为默认值。

image

仍然在默认光标中,我无法单击关闭/最小化/等。 ALT + F4起作用。
测试了一下,我还注意到我无法在终端中执行任何鼠标操作(例如标记文本,右键单击以粘贴/打开菜单等)。 但是像CTRL + V这样的快捷方式也可以使用。 唯一的例外是双击中间区域(它将适当地最大化屏幕)并调整窗口大小。

另外,光标停留的图像是我所徘徊的最后一个图像。 我的意思是,如果我移至“向左调整大小”区域,然后移至标题栏,则鼠标将带有“向左调整大小”图标。

image

我也遇到了这个问题(Microsoft Windows [Version 10.0.18362.418]),但重新启动计算机后已解决。

@Ronkiro重新启动会为您解决吗? @JohnFNovak表示可以。 :微笑:

不,@ DHowett-MSFT。 我的意思是,我已经重新启动了很多次,直到我在这里真正创建问题为止,但这没有帮助。

还注意到这是企业级W10,因此不确定是否有帮助。

这也是随机发生的,退出powertoys流程似乎可以解决此问题。
在一个相关的问题中,尝试通过按住Shift键拖动wt窗口将窗口冻结到位
但是当您松开Shift键时它开始移动

对我来说似乎也与PowerToys有关,退出也已修复。

很高兴听到。 召集@crutkas,如果他

您正在使用什么版本的PowerToys

我正在尝试回购,但不能。 我使用的是PowerToys 0.14.1,这是我的重现步骤。 您可能需要共享您的FancyZone设置。

我们会做一些变动工作,以使您知道我们将紧贴您的区域。

我的系统信息当前:

  • 动力玩具0.14.1
  • 终端:0.7.3451.0
  • Win10:18363.535,版本1909
  1. 发射动力玩具。
  2. 启动终端。
  3. 单击最小化,最大化(它们全部起作用)
  4. 添加了PowerShell选项卡
  5. 添加了Cmd选项卡
  6. 使用X删除新的PowerShell选项卡
  7. 按住Shift键并转到FancyZone区域

Win10:Ver 1903,内部版本18362.295(企业)
动力玩具:0.11.0

image

我还启用了“使用新区域编辑体验”,不确定是否有任何关系。

顺便说一句,我现在无法重现该问题。 如果还有任何问题的人可以继续提供信息,那将是很好的。 但是我没有更改任何版本,只是解决了解决方法。

动力玩具0.14.1
win10内部慢速环:2004,版本19041.1
重量:0.7.3451.0

该错误是在我收集wt版本时发生的,
它也被认为会影响电动玩具的设置
我连接了显示器并移动了wt窗口,使按钮正常工作
虽然仅在第二个显示屏上
使用步进记录器捕获它:
powertoys bug.zip
powertoys错误2.zip

那么有什么新闻吗?

我可以重新创建它,但我认为它是在终端上,因为我可以在完全关闭PowerToys的情况下恢复此行为。 请注意,这是我可以重新创建它的唯一方法。

我在航站楼0.8.10091.0

我正在做的重建

  1. 发射终端
  2. 左击标题栏
  3. 保持换档
  4. 向下拖动鼠标并进入控制台屏幕本身
  5. 释放鼠标

实际行为:
窗口冻结约3秒钟,无法拖动它,或者最小/最大/关闭按钮也不会响应单击或悬停

窗口冻结约3秒钟,无法拖动它,或者最小/最大/关闭按钮也不会响应单击或悬停

释放班次时,窗口上的按钮是否保持不响应?

我可以重新创建它,但我认为它是在终端上,因为我可以在完全关闭PowerToys的情况下恢复此行为

但是当错误发生时,powertoys设置也会受到影响

是的,窗口没有响应,但大约三秒钟后返回。 我可以在不运行PT的情况下执行此操作,这意味着终端(而不是PT)正在发生某些事情。

步进记录器很有帮助,但由于所有内容都是葡萄牙语,并且需要手动翻译,因此有些混乱。 对于显示无响应的内容,此处的视频可能更具影响力。 Gamebar(win + g)可以做到这一点。

因此,如果我造成冻结的步骤与众不同,请逐步进行操作。

一切都用葡萄牙语

对此感到抱歉,我应该更努力地编辑文件,以便我可以翻译它。

Gamebar(win + g)可以做到这一点。

是的,但它仅捕获窗口而不捕获整个屏幕。 如果会有所帮助,将在再次发生时尝试

是的,窗口没有响应,但大约三秒钟后返回
运行意味着终端(而不是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不,当我停止pt时,它会恢复正常行为

您可以一步一步地创建您要单击的位置吗?

  1. 启动终端(它固定在我的任务栏上,所以我按win +2)
  2. 右键单击“最小化”按钮(无效)
  3. 右键单击拆分按钮(无效)
  4. 将鼠标悬停在窗口的边缘以显示指针的行为(调整窗口的大小确实有效,但是它将停止记录,所以我没有这样做)

为了我的一生,我无法回购这个。 您可以给我发送电子邮件吗?也许可以让团队进行同步以进行屏幕共享? [email protected]

好的,我是说我每次都无法回购,这很挑剔

如果它遵循我上面概述的模式,那就是在powertoys之外,我可以在不运行PT的情况下回购它。

我正在做的重建

  1. 发射终端
  2. 左击标题栏
  3. 保持换档
  4. 向下拖动鼠标并进入控制台屏幕本身
  5. 释放鼠标

@crutkas我想我发现了发生了什么事。

  1. 将Win终端固定到任务栏
  2. 按住胜利键
  3. 在快捷指南出现之前,按与获胜条款对应的#并快速释放两个键
  4. 尝试在获胜期间与控件进行交互

此外,执行这些步骤后,快捷指南将不再显示

对我来说,标题栏正在运行,而我的问题是下拉菜单中的配置文件和设置。 使用VS2019调试时,它将导致异常。
我可以使用“ ctrl + shift + 2,3,4”在调试模式下打开一个新终端,但是如果选择了下拉按钮。

image

不幸的是,_that_是一个平台错误(似乎已在19041+中修复)。 对不起:微笑:

我在机器上安装了相同的设备,但变得更加棘手。
它仅在我的主屏幕上发生。 当我将WT窗口移至其他屏幕时,一切恢复正常。 同样的症状,窗口没有接收到鼠标事件,即使光标在WT窗口上冻结了。 最大/最小/关闭不起作用,必须将窗口移到另一个屏幕上才能起作用。
我也是PT用户,显然将其关闭将立即提供帮助。
但是,在不运行PT的情况下, @crutkas repro步骤也可以正常工作。

@ DHowett-MSFT应该有趣吗? 那仍然只在Insiders上...好吧,幸运的是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 0.18.0刚发生在我身上,重新启动PowerToys似乎已解决了该问题。

找到了一种可靠的方法可以在powertoys 0.18.1上进行复制:
这是我所做的步骤记录文件(现在使用正确的语言😅):
powertoys无响应窗口bug.zip
它必须是第一次触发快捷方式指南,否则它不会复制

PowerToys#4287中所述,我设法重现了此错误。 如果关闭了“花式区域”,重新启动了PowerToys,并打开了“花式区域”,则它会按预期工作。

我不同意这直接是PT,我可以在不运行powertoys的情况下重新创建此错误。 终端窗口渲染冻结。 FancyZones通过热键扩大了问题

我正在做的重建

  1. 发射终端
  2. 左击标题栏
  3. 保持换档
  4. 向下拖动鼠标并进入控制台屏幕本身
  5. 释放鼠标
  6. 类型

您会看到光标停止,所有输入停止都进入。

释放换档时,它的行为是否如此?
terminal
放开后,它会掉落吗?

k,
所以这里有两个错误:

  1. 是因为拖动wt导致其挂起
  2. 这是

找到了一种可靠的方法可以在powertoys 0.18.1上进行复制:
这是我所做的步骤记录文件(现在使用正确的语言😅):
powertoys无响应窗口bug.zip
它必须是第一次触发快捷方式指南,否则它不会复制

这是显示过程的gif文件:
terminal
当我释放胜利键时,我无法再与pt设置上的按钮进行交互

我设法在pt的调试程序中重现了该错误,当我暂停执行时,它把我放到了该文件中
image

这在创建d2doverlaywindow时会发生,因为该错误仅在第一次显示时发生

@LuanVSO
在重新映射键时长按Win键时发现的错误与在按住Shift键拖动时出现的终端错误无关。

终端版本1.0.1811.0发生在我

看起来像与PowerShell发生冲突:
我安装了版本7 ,并且我也安装了.Net ,但版本6也安装了PowerShell。 从.Net卸载PowerShell似乎可以解决此问题。

@DHowett我在Powertoys 0.18上遇到了同样的问题,无法使用鼠标单击电动玩具或Windows终端。 卸载powertoys即可解决问题。

有人可以确认退出PowerToys不足以防止此bug并需要将其卸载吗?

@ DHowett-MSFT
这是一个非常有趣(而且很奇怪)的发现:
https://github.com/microsoft/PowerToys/issues/5944
终端出于某种未知原因正在使用PowerToys中定义的窗口类。
步骤记录器显示“偷”输入的UI元素是终端的一部分,而不是PowerToys.exe。
不清楚发生了什么,是终端在积极创建此UI元素,还是将PowerToys以某种方式注入到终端中?

@enricogior好收获。 终端肯定不是在创建该窗口类-我们手动创建的唯一窗口是CASCADIA_HOSTING_WINDOW_CLASS (请参阅IslandWindow.cpp#L18-L68 )。

从技术上讲,我们还在创建一个XAML岛-也许以某种方式与快捷方式指南进行交互?

当发生这种情况时,我可以通过禁用“快捷指南” powertoy来恢复功能。 卸载也可以工作,但可能有点多余😄

我只是意识到#6120还拥有关于此问题的大量信息以及其中的许多其他代表。

@ zadjii-msft
“快捷指南”是一个纯C ++应用程序,“快捷指南”中定义的窗口类最终出现在Terminal中这一事实令人惊讶。

@enricogior终端也是本机C ++应用程序。 使用的语言与可能的窗口类无关。

@DHowett
我的意思是纯Win32,没有XAML,到目前为止,我发现的唯一可以作为该问题潜在入口点的内容描述如下:
https://github.com/microsoft/PowerToys/issues/5944#issuecomment -674981994
我建议构建一个Terminal的调试版本来监视该类名,以验证Steps记录器是否正确地将UI元素标识为Terminal进程的子级,它将确认是否从外部注入了类对象。

现在我也遇到了这种情况,但是实际上是这和https://github.com/microsoft/terminal/issues/4448的混合,在这里我无法键入,也不能单击标题栏按钮或滚动或使用任何UI元素(不过,我可以调整窗口的大小)。 这已经发生了不止一次。

  • 我正在使用PowerToys v0.20.1
  • 我没有使用快捷方式指南
  • 调整窗口大小和对齐(win +箭头)
  • 单击进入窗口(标题栏,标签栏,最小/最大/退出)不起作用
  • 在窗口中输入无效
  • shell是powershell(然后在其中运行wsl),并且进程树仍然存在
  • 我正在执行150%的DPI缩放比例,但是我只插入了1个监视器
  • 我昨天启动了该应用程序,此后计算机一直处于睡眠/唤醒状态。 我只有在唤醒计算机后才注意到问题
  • 我启动了终端应用程序的第二个实例,并且工作正常

@aharpervc

我没有使用快捷方式指南

是在PowerToys设置中关闭了“快捷指南”,还是只是您没有在调用它?

已关闭:

image

@aharpervc
谢谢。

这似乎排除了该错误直接由“快捷方式指南”引起的可能性,因为它没有运行,因此不能在终端进程中注入PToyD2DPopup类。

@aharpervc您正在运行什么图形芯片组? NVidia?

@aharpervc您正在运行什么图形芯片组? NVidia?

AMD Radeon Pro 560

我也遇到了这个问题(除了将其拖到其他位置之外,无法与Power Shell窗口栏进行交互)。 重新启动Windows并杀死任务管理器中的“ Windows Terminal”应用程序并不能为我修复它。

电动玩具版本0.19.1
Windows 10专业版19042.541

我刚刚打开Power Toys来检查是否按照上面的建议启用了快捷方式指南,但是我也无法与该UI进行交互。 然后,我使用任务管理器终止了“ Powertoys赛跑者”过程,至少现在至少解决了两个问题。

好东西,我在Google上发现了这个主题!
在上周更新到Windows 10功能2004版之后,我无法单击Windows Terminal App标题栏上的任何位置(既没有选项卡控件,也没有最小化/最大化/关闭)。
也无法在终端窗口中选择文本。
关闭托盘中的电动玩具后,问题立即消失👍

就我而言,无论PowerToys( Version: 0.25.0 )是否正在运行,Windows Terminal( Version: 1.4.3243.0 )和Windows Terminal Preview( Version: 1.5.3242.0 )都会发生这种情况。 我的Windows 10版本为1909 ,操作系统内部版本为18363.1198

这可能是无用的信息,但是使用WindowSpy(自动热键检查组件)时,我注意到所涉及控件的类名/实例号(WindowSpy中的ClassNN)之间存在差异。

当我_can_用鼠标悬停在新标签页按钮或最小化/最大化等按钮的交互:

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

image


当我无法与这些控件上的鼠标交互时,

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

image

此页面是否有帮助?
0 / 5 - 0 等级