我这里有窗口ID:
cchilders@cchilders-Dell-Precision-M3800:~$ xdotool selectwindow
65011713
这是针对chrome本身的,每个选项卡在点击时得到相同的值。所以我希望在ps或窗口管理器中找到它,但没有:
cchilders@cchilders-Dell-Precision-M3800:~$ wmctrl -l
0x03a00001 0 cchilders-Dell-Precision-M3800 views.py - /home/cchilders/work_projects - Atom
0x03a00048 0 cchilders-Dell-Precision-M3800 pip_freeze_update.py - /home/cchilders/scripts - Atom
0x03a000bc 0 cchilders-Dell-Precision-M3800 urls.py - /home/cchilders/work_projects - Atom
ps也不起作用:
(clientsite)cchilders@cchilders-Dell-Precision-M3800:~$ ps -alx
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
4 0 1 0 20 0 185188 5752 ep_pol Ss ? 0:06 /sbin/init splash
1 0 2 0 20 0 0 0 kthrea S ? 0:00 [kthreadd]
1 0 3 2 20 0 0 0 smpboo S ? 0:02 [ksoftirqd/0]
1 0 5 2 0 -20 0 0 worker S< ? 0:00 [kworker/0:0H]
1 0 7 2 20 0 0 0 rcu_gp S ? 1:10 [rcu_sched]
1 0 8 2 20 0 0 0 rcu_gp S ? 0:00 [rcu_bh]
...etc...
(scripts)cchilders@cchilders-Dell-Precision-M3800:~/scripts/bash$ wmctrl -l
0x03e00001 0 cchilders-Dell-Precision-M3800 Edit - Stack Overflow - Google Chrome
...
并抓取第一个空格分隔的数字到int:
In [13]: int("0x03e00001", 16)
Out[13]: 65011713
int中的16标志告诉它需要十六进制
In [14]: int("0x03e00001")
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-14-96517b980767> in <module>()
----> 1 int("0x03e00001")
ValueError: invalid literal for int() with base 10: '0x03e00001'
您可以使用awk
从wmctrl-l
的输出中提取ID。
例如:
wmctrl -l | awk '/Google Chrome/ {print $1}'
xdoTool
可能会很好地处理十六进制ID,但如果不能,您可以使用strtonum
将其转换为十进制表示:
wmctrl -l | awk '/Google Chrome/ {print strtonum($1)}'
问题内容: 我试图用Java升级我的应用程序,使其仅在具有特定名称的进程窗口处于活动状态时才能工作。我发现使用JNI可以做到这一点,但是我不知道该怎么做。我只是找不到任何可以解释它的描述或示例。我的问题是- 如何获取Windows中当前活动窗口的进程名称(通过JNI或其他方式-我接受任何其他解决方案)? 问题答案: 减轻您的痛苦,并使用JNA。您将需要下载 Win32 API的 jna.jar 和
问题内容: 我在AWT中看到了一种方法:。在JavaFx中,是否有任何方法可以获取所有窗口的JavaFx应用程序? 谢谢, 问题答案: AFAIK,仍然没有适当的方法来执行此操作。 尽管有一种 肮脏的短期 方法: 浏览的源代码,有一个静态方法似乎可以满足您的期望:。 但是有很多免责声明:
问题内容: 我有一个AJAX聊天程序,将消息输出到div溢出:自动,所以如果它太长,则会出现滚动条。有没有办法让它在添加新消息时自动滚动到底部?最好使用jQuery? 问题答案: 这将通过以下行完成 这是将滚动条设置为自己元素的高度 只需在每条新消息中都调用它即可:) 干杯
问题内容: 我希望找到一种方法来获取当前可见窗口的位置(相对于总页面宽度/高度),以便可以将其强制从一个部分滚动到另一部分。但是,要猜测哪个对象对您的浏览器拥有真正的X / Y,似乎有很多选择。 为了确保IE 6 +,FF 2+和Chrome / Safari能正常工作,我需要选择以下哪两项? 还有其他吗?一旦知道窗口在哪里,就可以设置一个事件链,该事件链将缓慢调用直到到达所需的位置。 问题答案:
问题内容: 我正在尝试获取活动窗口的标题。该应用程序是一个后台任务,因此如果用户打开Eclipse,该函数将返回“ Eclipse- blabla”,因此它不会获取我自己窗口的窗口标题。我正在使用PyQt4在Python 2.6中进行开发。 我当前的解决方案是从SO的旧答案中借用并稍作修改的,看起来像这样: 它适用于大多数窗口,但不是全部。例如,它找不到我的kopete聊天窗口,或者找不到我当前正
xdotool 工具可以从命令行操作xwindow里面的窗口,包括:移动位置、调整大小等等。特别适合启动rdesktop之后把远程桌面窗口自动放到辅屏幕上。例如: #!/bin/bashTITLE="Remote Windows Desktop"retry=5(while ! xdotool search --name "$TITLE" windowmove 1680 0; do sleep 1