![如何让终结者专注于取消隐藏?](https://linux22.com/image/5095/%E5%A6%82%E4%BD%95%E8%AE%A9%E7%BB%88%E7%BB%93%E8%80%85%E4%B8%93%E6%B3%A8%E4%BA%8E%E5%8F%96%E6%B6%88%E9%9A%90%E8%97%8F%EF%BC%9F.png)
我一直使用 Terminator 作为下拉终端,使用hide_window
键绑定。它运作良好,但有一个明显的缺陷。当“终结者”窗口取消隐藏时,它没有焦点。通常,我只要按下终结者的键,立即开始打字……然后欢闹就会随之而来。如何让终结者也获得焦点?
- 侏儒外壳
- Arch Linux / Ubuntu 14.04(两个系统上的行为相同)
- 在任何给定时间只有一个终结者窗口在运行。
有时,快速连续地取消隐藏-隐藏-取消隐藏会导致终结者获得焦点,但这非常麻烦(而且有些不可靠)。
答案1
试试这个补丁。我在错误报告@斯帕霍克提供和用户说它有效。我假设您知道如何使用该patch
命令。它也对我有用。 (我有同样的问题。)
=== modified file 'terminatorlib/window.py'
--- terminatorlib/window.py 2011-08-22 20:05:38 +0000
+++ terminatorlib/window.py 2012-03-30 21:02:28 +0000
@@ -273,6 +273,12 @@
if self.position:
self.move(self.position[0], self.position[1])
self.show()
+ self.grab_focus()
+ try:
+ t = gtk.gdk.x11_get_server_time(self.window)
+ except AttributeError:
+ t = 0
+ self.window.focus(t)
else:
self.position = self.get_position()
self.hidefunc()
对于《终结者》1.90,似乎必须做出不同的改变。从对同一错误报告的评论 #18:
我已将第 307-311 行更改为:
try: from gi.repository import GdkX11 t = GdkX11.x11_get_server_time(self.get_window()) except AttributeError: t = 0 self.get_window().focus(t)