问题标签 [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.
window-management - 如何在平铺布局中使用箭头键在 Awesome WM 中导航打开的程序?
在 Awesome WM 中,您在打开的程序之间切换的方式是转到上一个或下一个客户端。默认情况下,它分别使用键绑定 Mod4 + k 和 Mod4 + j。
但是,假设我在屏幕上使用磁贴布局打开了四个客户端,而屏幕上有四个磁贴显示每个程序。如果目前我在左上角,我想去左下角,我需要按两次 Mod4 + j,在到达左下角之前循环到右上角。我想要的是使用单个键绑定直接进入该图块,这在 Awesome 中是否可行。我知道在 i3 WM 中,这是使用箭头键在打开的程序之间上下左右移动的默认行为。
ruby - 使用 Ruby 管理 Unity 窗口
我正在使用带有 Unity 桌面的 Ubuntu,我想编写一个 Ruby 脚本来最小化我的所有 Chrome 窗口并打开我的 LibreOffice Calc 窗口。我确信有一个 API 可以解决这个问题,但是每当我用 Google 搜索“Ruby Unity API”、“Ruby Unity 窗口管理”或“从 CLI 管理 Unity”时,我都会得到错误的结果。有人可以指出我应该使用哪个 Gem 的方向,或者我应该调查哪些 shell 命令?
linux - Linux:获取窗口边框高度
我尝试在 bash 脚本中获取窗口的最大大小(即屏幕大小减去屏幕边缘的面板)。我正在使用 Kubuntu,但如果它适用于任何 linux 系统,那就太好了。
目前,我的解决方案是通过 wmctrl 最大化活动窗口:
然后通过 xwininfo 获取窗口的大小:
不幸的是,我没有得到窗口的大小,而是得到了窗口的大小和它的边框(如果我删除了边框,我得到了预期的值)。
所以我的问题是:
1 - 是否有删除窗口边框的命令?(我只知道手动操作)
2 - 有没有更好的方法来做到这一点?(如果可以在不最大化窗口的情况下完成它可能会很棒)
在此先感谢您的帮助
python - 从当前正在运行的程序启动另一个 pyqt 程序
我有两个 pyqt 程序。两者都应该可以自己运行,但我需要从另一个运行其中一个。仅手动运行的一个被调用foo
,第二个(我想从中调用的那个foo
)被调用bar
。我试图按照这个例子,我得到了新的窗口,但有一个错误
AttributeError:“bar”对象没有属性“exec_”
我想我可以创建它,但我不知道在里面放什么。那么如何通过单击第一个窗口中的按钮来弹出另一个窗口?
可以使原始窗口不活动的人的奖励积分。
这是我的函数现在的样子:
没有想象力,我知道。
java - 多个 JFrame 应用程序,我如何将它们全部放在一起?
我的用户喜欢拥有多个JFrame
s;它允许他们调整不同组件的大小并将它们放置在屏幕上的任何位置。但是,我有一个要求让所有子窗口一起出现在前面......换句话说,假设他们最大化所有窗口前面的另一个窗口,然后使用任务栏单击其中一个JFrame
s。我怎样才能设置它让他们都来到前面?注意:也可以关闭子窗口;如果他们真的被隐藏了,我不希望他们来到前面。我有一个类ApplicationModel
可以跟踪窗口是否隐藏。
我尝试过的事情:
- 使用
windowActivated()
andfocusGained()
尝试将它们全部放在前面。这通常会导致无限循环。问题是我的事件框架将这些请求从事件调度线程发送出去,所以任何类型的阻塞AtomicBoolean
都不会持续足够长的时间。- 主要的问题不是我不能让他们上前线……我已经让他们上前线了。问题是他们一直试图走到最前面,因为把一个窗口带到前面会引发 focusGained 和 windowActivated 事件,这会创建一个无限循环......
- 将一个窗口设为主窗口,将其他窗口设为
JDialog
. 不幸的是,这些窗口要么是无模式的(因此不会出现在主窗口的前面),要么它们是模态的(因此会阻塞主窗口)。
我该如何解决这些问题,或者是否有完全不同的第三种解决方案?
linux - 如何在 Linux 中操作窗口
我多年来一直在 Linux 中编程,但在显示方面没有太多知识。现在我被要求编写一个单独的进程来监视用户关注的窗口(可能不是我的进程创建的窗口)并执行一些简单的操作,例如移动和调整大小。
可能吗?有没有一种通用的方法来实现这一目标?有人可以给出我可以调查的任何提示吗?谢谢!
show-hide - _NET_WM_STATE_HIDDEN 是否暗示 _NET_WM_STATE_SKIP_TASKBAR
从 KDE 切换到 XFCE 后,我注意到当我关闭窗口时,boinc 管理器窗口将作为最小化窗口在任务栏中保持可见。在 KDE 上(据我所知),关闭窗口具有完全隐藏它的效果,而系统托盘图标仍然用于控制应用程序。我想这在任何情况下都是预期的行为。
据xprop
, 窗户有
明确表示从任务栏中省略的状态原子_NET_WM_STATE_SKIP_TASKBAR
不包括在该列表中。
现在我想弄清楚在哪里纠正这个问题。我应该修复xfce-panel
跳过具有隐藏状态的窗口吗?或者我应该尝试使窗口状态包括_NET_WM_STATE_SKIP_TASKBAR
?隐藏窗口的代码路径似乎是通过 wxWidgets 及其wxWindowGTK::Show
方法 to gtk_widget_hide
,XWithdrawWindow
所以也许xfwm4
应该做出反应并添加该原子?
是否有任何关于隐藏窗口应该如何工作的官方文档?
window - 将属于我启动的独立进程的X11窗口嵌入到我自己的窗口中?
是否有捷径可寻?我从来没有在任何地方看到过这个(除了 Adobe/... Firefox 插件),所以我怀疑它...
如果没有,是否有可靠的、hacky 的方式(例如通过 连接到该进程的Xlib
调用LD_PRELOAD
)?
如果重要的话,假设外部进程是mplayer
,我的编程语言是C
。我有一种预感,Xlib
直接使用是我最好的选择,但请随时提出其他选择。-onlymplayer
解决方案是不够的。
java - javafx 关闭其他类的窗口
我在一个小的 javaFX 窗口中连接到服务器。连接是由一个新线程建立的。但是我希望在建立连接时关闭窗口。我该如何做到这一点?
这是我尝试过的。
连接到服务器的类
objective-c - OS X 如何加载基于故事板的应用程序,以及它如何进行窗口管理?
我正在开发一个全新的 OS X 应用程序,并且我采取了大胆的做法,使用了一些我以前很少使用的技术。(我是一名 iOS 开发人员。)
我在我的应用程序中使用 Storyboards、Swift 和 Core Data,所有这些都来自 Xcode 模板。当我的应用程序启动时,它会从 Storyboard 创建一个 NSWindowController。
在我用 Objective-C 制作的另一个 OS X 应用程序中,我使用委托方法applicationShouldHandleReopen:hasVisibleWindows:
告诉窗口控制器调出窗口控制器的窗口。
我知道 Swift 中的语言语义保持不变,但 Core Data 和 Storyboard 给我留下了两个问题。
我的项目使用 Core Data 的事实是否将其更改为“基于文档的应用程序”,从而改变了管理窗口的方式?
在我的旧项目中,我使用的是笔尖而不是情节提要。似乎我正在手动实例化一个
NSWindowController
,并使用它来管理重新打开。如果有办法获得我的 Storyboard 无疑为我制作的那个,那将是最佳的,对吗?只是将插座连接到我的 App Delegate 是要走的路吗?还有其他约定吗?