是否可以使用python脚本运行当前应用程序

时间:2014-01-17 23:02:19

标签: python linux bash ubuntu scripting

我一直非常关心自己的工作效率。我最近遇到了这个美丽的镀铬扩展Limitless

但这只是衡量我在Chrome应用程序中所做的事情。由于我大部分时间都在使用pdf,视频等工作,所以我想为linux(ubuntu)桌面环境开发类似的应用程序。

基本上我希望只要工作站打开,脚本就会连续运行。 它应该能够知道我正在查看的内容(例如,vlc中的pdf文件或讲座视频)并获取相应文件的名称,开始时间,结束时间等,最后发布到db。 如果它能够知道系统是空闲还是处于睡眠状态会更好。

我对bash脚本没有丝毫的线索。所以我的问题是可以用python完成这项任务。

我尝试了什么?
我开始在谷歌搜索“获取当前应用程序python”,“当前窗口标题python”等等,并且真的很惊讶地看到荒谬的结果。

请指点我。

2 个答案:

答案 0 :(得分:1)

我认为你要求词汇量。所以我告诉你我所知道的。

您正在使用Ubuntu,因此您的窗口管理器可能是 Gnome 。 窗口管理器知道哪个窗口具有焦点。 因此,您可能希望找出哪个窗口具有焦点,并且您希望将其映射到打开窗口的过程。 您需要关注的是用于Python的模块或用于窗口管理器的 Python Binding 。该模块也可能能够控制窗口。

窗口管理器以 startx 启动。

答案 1 :(得分:0)

您可以尝试调用命令行工具并捕获结果

如何在命令行上获取进程列表: https://stackoverflow.com/questions/53489/how-do-you-list-all-processes-on-the-command-line-in-windows

如何用python调用工具: Python subprocess.call and subprocess.Popen stdout

[edit]在Intervals中重复调用并计算进程运行的时间间隔,可以很好地估计进程的运行时间......

[edit2]正如GreenAsJade所说,你搜索一种方法来找出哪些窗口具有焦点。 见How do I detect the currently focused application?