QT アプリケーション内に urxvt ターミナルを埋め込む際に問題があります。以下は単純化されたコード例です。QT ウィンドウを作成し、(-embed パラメータを使用して) 内部に urxvt ターミナルを埋め込むと、フォーカスに問題があります。ウィンドウが作成されると、ウィンドウへの最初のクリックで埋め込み端末にフォーカスが置かれます -> すべて問題ありませんが、ウィンドウを 2 回目にクリックすると、通常のキーボードとマウスの入力は引き続き機能しますが、端末はフォーカスを失ったように見えます。しかし、端末自体は考えているようで、フォーカスがありません。フォーカスがありませんが、イベントはまだ埋め込みウィンドウに送信されているようです。C++ QT バインディングを使用すると、同じ問題が発生します。
.Xdefaults に設定を追加する (および必要な xrdb -load .Xdefaults を実行する) と、うまく表示されます: URxvt*fading: -40
簡単な例を次に示します。
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
class embterminal(QWidget):
def __init__(self):
QWidget.__init__(self)
self.setGeometry(1,1,600,400)
self.process = QProcess(self)
self.terminal = QX11EmbedContainer(self)
layout = QVBoxLayout(self)
layout.addWidget(self.terminal)
self.terminal.showMaximized();
self.process.start('urxvt',['-embed', str(self.terminal.winId())])
if __name__ == "__main__":
app = QApplication(sys.argv)
main = embterminal()
main.show()
sys.exit(app.exec_())`