问题标签 [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 投票
1 回答
191 浏览

c++ - 什么时候创建qt窗口?

如果 QWidget 是在没有父级的情况下创建的,它会创建一个窗口。

那么,窗口究竟是什么时候创建的呢?是在show()被调用的时候吗?或者当对象被构造时?

0 投票
1 回答
4598 浏览

c++ - 使用 SetParent 将窗口嵌入外部进程的各种问题

可能重复:
使用 SetParent 将 HWND 嵌入到外部进程中

我正在尝试使用该函数将我的进程中的一个窗口嵌入到外部进程的窗口中,SetParent并且遇到了一些我希望有人可以帮助我解决的问题。首先,这是我目前将窗口嵌入应用程序的概述:

此代码有效,我的窗口出现在其他应用程序中,但引入了以下问题:

  • 当我的窗口获得输入焦点时,外部进程的主应用程序窗口失去焦点(即标题栏改变颜色)。
  • 当我的窗口有焦点时,主应用程序的键盘快捷键命令不起作用。

有人知道这些问题的解决方法吗?我希望我的窗口被视为主应用程序的另一个子窗口。

谢谢。

0 投票
1 回答
387 浏览

x11 - 将 X11 窗口的部分标记为可拖动

如果我想要一个未装饰的窗口(例如,我可以自己绘制装饰),有没有办法告诉当前 X11 窗口管理器一个窗口区域应该是可拖动的并由窗口管理器管理?我对低级解决方案(Xlib、XCB 或类似)感兴趣。我也在寻找尽可能标准的解决方案。

另外,我可以将窗口区域标记为代表关闭按钮吗?

我问这个是因为如果我可以在窗口的装饰上附加额外的内容会很棒。这受到 Apple 的 OS X 的启发,其中所有装饰都是普通的旧NSViews,并且一些(关闭按钮等)甚至可以以记录的方式访问。添加其他内容也受到 OS X 的启发,可以右键单击与窗口相关联的文档的名称(在标题栏上)并获取文档的路径。同时,即使应用程序没有响应,窗口仍然是可移动的,因此可拖动区域必须以某种方式传递给窗口管理器(即WindowServer,对吗?)。

因此,如果在 X11 下有一种标准方式(或广泛的 FreeDesktop.org 扩展或其他方式)可以做到这一点,我很想知道它。:-)

0 投票
3 回答
1732 浏览

c++ - 如何正确清理 QWidget/管理一组窗口?

假设我的应用程序中有 2 个窗口,以及负责它们的两个类: class MainWindow: public QMainWindowclass SomeDialog: public QWidget.

在我的主窗口中,我有一个按钮。单击它时,我需要显示第二个窗口。我这样做:

现在,用户在窗口中做一些事情,然后关闭它。此时我想从那个窗口获取一些数据,然后,我想,我将不得不delete dlg. 但是我如何捕捉到那个窗口被关闭的事件呢?

还是有另一种不发生内存泄漏的方法?也许在启动时创建每个窗口的实例会更好,然后就Show()/Hide()他们?

我该如何处理这种情况?

0 投票
1 回答
494 浏览

applescript - 如何使用 Applescript 在两个终端窗口中运行两个 shell 脚本?

我无法弄清楚 Applescript 代码在两个窗口中运行两个不同的 shell 脚本。

到目前为止我得到的是...

但这会在一个窗口中显示所有内容。这让我很生气,请帮助!

0 投票
1 回答
918 浏览

vim - 当存在现有水平拆分时,如何将垂直拆分窗口移动到水平拆分?

在 Vim 中,我倾向于在新的垂直分割中打开缓冲区(偶尔水平分割)。我将我的代码保持在 80 个字符宽,所以这在大型显示器上运行良好。

我经常以这种窗口布置结束:

在四到五列宽时,它可能会开始变得有点太窄,所以我想四处移动窗户,使它看起来像这样:

据我所知,这是不可能通过在 Vim 中移动窗口来实现的。

获得我发现的窗口排列的唯一方法是关闭窗口 A,然后重新打开 A 作为窗口 B 的新水平拆分。

这是正确的,还是有办法像在 Vim 中那样移动/重新排列窗口?也许是插件?

我还没有找到任何东西,所以我想我会问,因为我发现窗户的打开/关闭很烦人并且打断了我的流程。

FWIW,我发现Ctrl-W + J/Ctrl-W + K快捷方式没用,因为它们使新的水平分割与整个屏幕一样宽,而不是与相邻窗口分割。即Ctrl-W + J会给我这个:

这通常不是我想要的。

如果有人有一些想法,请告诉我!

0 投票
2 回答
102 浏览

windows - pidgin的“好友列表”窗口的行为叫什么名字?

我注意到windows上pidgin的“好友列表”窗口有以下特点:如果把窗口拖到桌面右上角不远处,会出现以下情况:

  • 边框的外观略有变化:

前:在此处输入图像描述

后:在此处输入图像描述

  • 它停靠在桌面的右侧
  • 这是最有趣的:它保留了桌面上的空间。所有其他最大化的窗口都减少了 pigin 窗口的宽度。所有其他窗口的行为就好像桌面的宽度比 pidgin 窗口的宽度短

问:最后一点实现的功能名称是什么?

0 投票
3 回答
229 浏览

java - 链接两个 JFrame,这样一个 JFrame 将始终完全位于另一个之上

我需要创建两个JFrame,f1 和 f2,以便:

  • 即使 f2 获得焦点, f2 也总是正好在 f1 之下。
  • f1 不一定总是在顶部(例如,弹出窗口可以出现在顶部)。
  • 不能在 f1 和 f2 之间插入其他窗口(来自同一个 java 应用程序或来自操作系统的任何其他应用程序)。

注意:我不能使用 CardLayout 或 InternalFrames 或其他轻量级组件。我真的需要两个JFrames(或Window)。原因是我必须在 Java 应用程序上重新设置 X-Window,出于几个原因,我需要这个 X-Wwindow 在 f2 框架上重新设置,并且 f1 窗口的那部分是透明的,以便用户可以看到X-Window 后面。

0 投票
1 回答
293 浏览

python - 如何监控在 linux/tcl/python 中打开或启动的应用程序?

我正在尝试构建一个面板应用程序,例如前卫窗口导航器或 ubuntu unity。

我的问题是,一旦我使用预定义的应用程序构建面板,我如何在应用程序打开或启动时向面板添加项目?

这是我在 tcl 中的源代码:

是否有任何终端、tcl 或 python 命令可以实现这一点?

欣赏任何见解。先感谢您。

0 投票
3 回答
3116 浏览

wpf - 使用 WindowManager 重新激活退出窗口

我正在将 WPF 与当前最新最好的 Caliburn.Micro (1.4.1) 版本一起使用。我使用IWindowManager.ShowWindow(...)打开一个新的无模式窗口:

而不是每次OpenOrReactivateInfoView()调用时都打开一个新窗口,我想检查窗口是否仍然打开,如果是,现有窗口应该重新获得焦点。

我们有什么好的 Calibrun.Micro 方法来解决这个问题?我当然想避免在视图模型中保留对窗口(或任何 UIElement)本身的引用。另请注意,这是许多无模式对话框的常见行为,因此最好以通用的可重用方式解决此问题。

Caliburn.Micro 是否已经内置了这个功能?