问题标签 [window-management]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3818 浏览

c++ - 有没有办法确定顶级 Qt 窗口是否已被移动?

我正在尝试确定我的应用程序的主窗口何时被移动。主窗口是一个标准的 QMainWindow,我们在 QApplication 上安装了一个 eventFilter 来寻找 QMainWindow 的 moveEvents,但没有一个被触发。由于各种原因,子类化 QMainWindow 并不是一个真正的选择。

除了启动 QTimer 来不断检查位置之外,对此的任何想法都将不胜感激。

0 投票
3 回答
25861 浏览

c++ - 在 Qt 中显示窗口而不窃取焦点

当用户不使用第二台显示器时,我正在使用 Qt 库在第二台显示器上显示幻灯片。一个示例是用户在第一台显示器中玩游戏并在第二台显示器中显示幻灯片。

问题是当我在 Qt 中打开一个新窗口时,它会自动从以前的应用程序中窃取焦点。有什么办法可以防止这种情况发生吗?

0 投票
3 回答
2838 浏览

xcode - Xcode:更改双击文件行为

我的一个项目突然改变了它的双击行为,我不知道如何改回来。

我想要的行为:

双击源代码文件会打开一个新窗口。

我的行为:

双击源代码文件会在现有窗口中打开该文件。这导致在任何时候都只允许为项目打开一个窗口。

不用说,这有点令人沮丧。我找不到任何似乎可以控制这一点的偏好。这似乎是每个项目的偏好(它只发生在一个项目中)。有任何想法吗?

注意:我使用的是精简布局。

注意 2:“在单独的编辑器中打开”不起作用。

0 投票
6 回答
9283 浏览

python - 如何在 Ubuntu 中获取 PyGTK 或 GTK 中打开的窗口列表?

如何获取 PyGTK 或 GTK 或其他编程语言中打开的窗口列表?在 Ubuntu 中?

编辑:

我想在桌面上获取列表路径打开​​的目录!

0 投票
2 回答
335 浏览

emacs - 如何使窗口移动命令忽略某个窗口?

所以我通常在 Emacs 中打开 3 个缓冲区。

  1. 我正在编写的实际代码的一个缓冲区。
  2. 用于所述代码的单元测试的一个缓冲区。
  3. 第三个缓冲区,显示单元测试的结果。当我运行单元测试时,该缓冲区位于其他两个缓冲区之下C-x SPACE

如何禁用第三个缓冲区,以便按下C-x o时仅在缓冲区 1 和缓冲区 2 之间切换?目前,我在缓冲区 1、缓冲区 2、缓冲区 3、缓冲区 1 之间切换,等等。具体来说,我只想C-x o在缓冲区 1 和 2 之间切换。

谢谢你。

0 投票
2 回答
590 浏览

c# - 在 WPF 中制作“帮助”窗口

我正在 WPF 中编写一个应用程序,并想制作一个“帮助”窗口。窗口需要可调整大小,没有最小化选项,也不会显示在任务栏中。如果应用程序获得焦点,它也应该出现,但无论它是在主窗口的前面还是后面,都应该保留。当主窗口关闭时,它应该与应用程序一起关闭。

一个示例是 Visual Studio 中的分离窗格。

我已使帮助窗口不出现在任务栏中,但无法获得我想要的其余行为。如果它们是它们自己的窗口,它们不会与应用程序的其余部分一起获得焦点。如果我将主窗口指定为其所有者,则主窗口不能位于辅助窗口之上。

有人知道解决这个问题的好方法吗?

0 投票
3 回答
26037 浏览

winapi - 如何从 Powershell 事件订阅者操作​​设置前台窗口

我有一个FileSystemWatcher实例在我的 PoSh 会话的后台运行,监视文本文件的更改。PoSh 事件订阅者附加到此事件,当被触发时,它通过调用Start-Process启动控制台程序。该程序从当前前台窗口(我的 PoSh 控制台)中窃取焦点。从 PoSh 事件订阅者调用SetForegroundWindow以将焦点返回到我的 PoSh 控制台不起作用。SwitchToThisWindow大部分时间都可以工作,但根据 MSDN 文档,不应该使用它。

在这种情况下,我是否可以防止Start-Process窃取焦点,或者将其从事件订阅者设置回在触发此事件之前拥有它的窗口?

0 投票
1 回答
111 浏览

expression-blend - Expression-Blend-3 - 有人丢过窗户吗?你怎么能把它拿回来?

这是我所做的:

  • 右键单击“对象和时间轴”面板中的项目。
  • 选择“查看 XAML”
  • 将窗口大小调整为“0”大小,使其离开屏幕底部。

现在,即使我:

  • 选择“重置当前工作区”...
  • 或者重新启动 Microsoft Expression Blend....
  • 我无法恢复 XAML 视图。

谁能帮我?

0 投票
2 回答
1933 浏览

c# - GetWindowPlacement/SetWindowPlacement 在 WinForms 中无法用于高 DPI

我有一个旧版 WinForms 应用程序,我想跨会话保存窗口位置和大小。在 FormClosing 和 Load 事件期间,我一直在使用GetWindowPlacementSetWindowPlacement 。我遇到的问题是,在较高的 DPI 设置下(例如中等,大小为 125%),大小会不断膨胀。我会以一定的大小对其调用 SetWindowPlacement,但是当调用 GetWindowPlacement 时,即使窗口一直是相同的大小,这些数字也会变大 25%。在表单中保存可调整大小元素的大小时也存在同样的问题。

现在,如果我创建一个新的 WinForms 项目,这可以正常工作:即使以更高的 DPI 运行,大小也能保持稳定。我猜在项目的内部有一些遗留设置或一些神秘的表单设置把它搞砸了,但我不知道在哪里。

我在这两个项目上都调用了 IsProcessDPIAware并且都是true. 有谁知道这可能是什么原因造成的?

0 投票
5 回答
5532 浏览

macos - 使用 AppleScript 访问停靠图标右键单击菜单项

当您右键单击停靠图标时,有什么方法可以让 AppleScript 访问出现的菜单项?

具体来说,这就是我想要做的:

我在 MacOS X Snow Leopard 上使用 Google Chrome 作为我的网络浏览器。我是一个键盘快捷键上瘾者,我使用 QuickSilver 为我能做的任何事情创建键盘快捷键。我做的最常见的事情之一是打开一个新的网络浏览器窗口。但是我经常使用 Spaces 来划分我当前正在处理的任务,当我使用 QuickSilver 触发器打开 Web 浏览器或网页时,Spaces 会切换到我使用 Chrome 的最后一个空间并打开一个新选项卡,这通常让我分心了好几个小时,因为它把我带到了一个不同的空间,从而完成了一项不同的任务。我可以通过右键单击 Google Chrome 图标并单击“新窗口”选项来解决此问题,这会在当前空间上打开一个新窗口。但是在 AppleScript 中,要使用 Google Chrome 做任何事情,我要做的第一件事就是激活它,这让我回到了原来的问题!谁能想到这个问题的解决方案,AppleScript 或其他?这已成为一个严重的问题。当我使用 Firefox 时,我通过更改“始终在新窗口中打开弹出链接”或类似内容的首选项解决了这个问题,这是一种大锤方法,但它确实有效。我总是可以回到 Firefox,但我想我会先在这里问我的问题。有任何想法的人吗?我总是可以回到 Firefox,但我想我会先在这里问我的问题。有任何想法的人吗?我总是可以回到 Firefox,但我想我会先在这里问我的问题。有任何想法的人吗?