页次: 1
知道进程名,如:nautilus,其状态为最小化或者被其他窗口覆盖,现需要写一程序来激活它,使它成为当前窗口。这要怎么实现,请高手告之。谢谢!!!
最近编辑记录 jouyouyun (2013-04-27 21:47:48)
离线
xdotool search --name nautilus windowactivate
离线
xdotool search --name nautilus windowactivate
没有用啊,执行命令后没反应。我的桌面环境:gnome,窗口管理器:compiz
最近编辑记录 jouyouyun (2013-04-26 17:12:51)
离线
百合仙子 说:xdotool search --name nautilus windowactivate
没有用啊,执行命令后没反应。我的桌面环境:gnome,窗口管理器:compiz
你的 nautilus 窗口在哪里?gnome 2 吗?
没有用是什么情况?没有切换到对应的「桌面」去?
离线
窗口没有被设定为当前窗口,也未切换到对应的桌面。
离线
窗口没有被设定为当前窗口,也未切换到对应的桌面。
这就对了嘛……在 compiz 这种假桌面的 WM 里,你只有一个很大很大的桌面的哦。它被分成几块了,然后 compiz 骗你说它们是不同的桌面。所以,你把那个窗口移动到当前你看到的那部分区域再激活就可以了。
离线
额,用 wmctrl -a name 可以激活窗口,不过它的参数是窗口的标题。
再问一下:怎么向指定进程发送按键事件?
例如:firefox,CTRL+T 是新建标签,怎么用程序向其发送 CTRL+T 事件,达到新建标签的效果?
最近编辑记录 jouyouyun (2013-04-27 09:10:16)
离线
额,用 wmctrl -a name 可以激活窗口,不过它的参数是窗口的标题。
再问一下:怎么向指定进程发送按键事件?
例如:firefox,CTRL+T 是新建标签,怎么用程序向其发送 CTRL+T 事件,达到新建标签的效果?
先找到窗口,然后再 xdotool key ....。
不过火狐新建标签页直接调用就可以:firefox about:blank
离线
谢谢了!找到了一个方法,使用 xlib 库,先通过进程 id 获得此进程的 window id,然后在通过 window id 来激活窗口或发送按键事件。
离线
谢谢了!找到了一个方法,使用 xlib 库,先通过进程 id 获得此进程的 window id,然后在通过 window id 来激活窗口或发送按键事件。
xdotool 不是足够了么?
离线
jouyouyun 说:谢谢了!找到了一个方法,使用 xlib 库,先通过进程 id 获得此进程的 window id,然后在通过 window id 来激活窗口或发送按键事件。
xdotool 不是足够了么?
不懂,不知道是不是我用法不对,使用 xdotool 没有效果。例如 firefox 现对其他窗口覆盖,想把它呼出,使用 xdotool search --name firefox windowactivate 没反应。
离线
百合仙子 说:jouyouyun 说:谢谢了!找到了一个方法,使用 xlib 库,先通过进程 id 获得此进程的 window id,然后在通过 window id 来激活窗口或发送按键事件。
xdotool 不是足够了么?
不懂,不知道是不是我用法不对,使用 xdotool 没有效果。例如 firefox 现对其他窗口覆盖,想把它呼出,使用 xdotool search --name firefox windowactivate 没反应。
囧,我没说明白。
xdotool 无法正确激活 compiz 管理的窗口。不过从进程 ID 得到窗口 ID 还是没问题的。
离线
xdotool 无法正确激活 compiz 管理的窗口。不过从进程 ID 得到窗口 ID 还是没问题的。
不知是何方法?
离线
百合仙子 说:xdotool 无法正确激活 compiz 管理的窗口。不过从进程 ID 得到窗口 ID 还是没问题的。
不知是何方法?
man xdotool
离线
页次: 1