Articles of 焦点

如何禁止用户在Linux上更改OS窗口焦点/types键几秒钟

我为网站编写自动化testing。 其中一个testing需要按Ctrl + S键入一些字母来保存包含CSS / JS的网页。 testing应该要求Firefox有几秒钟的窗口焦点才能input文件名并点击“保存”(当前XDoTool用于按键并单击鼠标)。 有时我在我的电脑上运行testing。 我不希望在保存页面时偶尔input内容或改变窗口焦点,所以我想禁止在鼠标点击/按键运行的几秒钟内改变焦点。 在Webdriver级别(我用来控制浏览器的工具)不可能做到这一点,所以我认为我应该在操作系统级别上做到这一点。 我可以禁止用户更改窗口焦点或在一段时间内input任何内容吗? 它可能看起来像: prohibit user from typing keys/change window focus save page allow user to type/change window focus

如何停止/解决Java应用程序窃取Linux窗口pipe理器的焦点

我们想要在Java中快速构build小部件。 我们将它们覆盖在用专有第三方graphics软件包编写的显示屏上。 我们发现Java GUI从窗口pipe理器中窃取键盘焦点。 窗口pipe理器是fvwm,我已经尝试过configuration它,所以Java应用程序设置为不让焦点,而且如果它有焦点把它拿走并把它给另一个GUI。 如果我用Java应用程序运行它,它不起作用(只要鼠标在Java GUI上,它有键盘焦点) – 如果我交换一些标准的X GUI小部件(XEyes)来代替Java GUI,它就像一个魅力。 这使得Java不尊重ICCCM的说法(由fvwm的人维护)有所缓解。 我想知道如果其他人已经解决了这个问题,如果是的话如何。 到目前为止,我有几个select如何尝试和解决这个问题: 1)twiddle Java设置,希望如果我关掉焦点,也许它会把焦点控制交给窗口pipe理器(到目前为止,我已经尝试过“setFocusable(false)”在父JFrame上,这是行不通的。线程“ http://java.sun.com/javase/6/webnotes/trouble/TSG-Desktop/html/awt.html#gdaao ”表示我应该改为“Window.setFocusableWindowState(false)”有问题的GUI hasn但是我还没有完全相信Java会重新关注焦点 2)使用JNI在Java程序中进行低级别的X调用。 我认为这可能会工作,但是,我从来没有玩过低水平的X.我不确定我应该使用什么样的调用(XtSetKeyboardFocus()应该是危险的)或者我怎样才能识别我操作的graphics用户界面(在这方面fvwm是很好的,因为他们有一个graphics用户界面,让你点击另一个graphics用户界面,找出它的“名称”和“类”) 3)使用“更强”的窗口pipe理器。 一些不使用ICCCM的窗口pipe理器可能会更好地处理Java。 当然,有很多pipe理者,我不知道该集中注意力。 同样地,很多人似乎都没有明确指出应用程序的重点(大多数人似乎只关心广泛的政策)。

在所有其他窗口上显示一个tkinter窗口

#!/usr/bin/env python # Display window with toDisplayText and timeOut of the window. from Tkinter import * def showNotification(notificationTimeout, textToDisplay): ## Create main window root = Tk() Button(root, text=textToDisplay, activebackground="white", bg="white", command=lambda: root.destroy()).pack(side=LEFT) root.update_idletasks() # Remove window decorations root.overrideredirect(1) timeOut = int(notificationTimeout*1000) # Convert to ms from s ## Run appliction root.after(timeOut,root.destroy) root.mainloop() 上面的代码用timout创build一个通知。 但是,在Windows上,通知不会自动popup所有其他当前窗口。 你必须点击杀死button(文本),并在第一次集中它,之后,根窗口将显示在所有其他窗口之上。 […]

我如何find当前焦点的程序?

我怎样才能知道哪个过程当前的重点? 编辑:Windows操作系统,从XP到7的任何地方

如何从python在后台运行imagemagick

你怎么能使用python imagemagick而不打开一个新的命令行窗口和失去焦点? 这个循环显示了问题; 在处理图像时系统变得不可用,因为每次系统调用都会失去焦点: for i in range(0,100,1): image = 'convert -background '+'black'+' -fill '+'white'+' -font '+'arial'+' -size '+'50'+'x50'+' -encoding utf8'+' -gravity center caption'+':'+'"just stole your focus"'+' '+'C:/'+'testFile.png' os.system(image) “开始/分钟”或“/ b”只能将窗口快速缩小,所以仍然失去焦点。 由于某种原因,如果我把这些放在'图片'之前,我不会得到一个输出文件。 有没有办法使用os.system , os.system , os.spawnv或其他系统命令在后台调用imagemagick? 我读了关于PythonMagickWand,但只发现nix的安装指导: ImageMagick的MagickWand API的Python绑定 我可以在Windows下安装/编译这些绑定吗? 如果是这样,怎么样? 编辑:MRAB的解决scheme: import os import subprocess # Start all the processes. processes = [] […]

在代码中复制鼠标行为

这与问题: JDK7和本地组件的焦点问题有关。 在处理变通方法时,我们注意到,如果我们单击窗口上的另一个组件(即显示图片的标签),然后单击文本字段(在Flash应用程序中),一切似乎都正常工作。 所以我一直试图从代码重现,但没有成功。 基本上,当检测到鼠标hover在文本框上时,我会收到来自Flash程序的通知,并要求将注意力集中在标签上,所以当用户点击实际字段时,标签已经有了焦点。 我要求重点如下: draggableComponent.requestFocus(); 其中draggableComponent是我一直在谈论的标签。 我想这不等于点击标签。 我错过了什么?