From 96cccdfb7d2540c665e0c1048741487902791d4d Mon Sep 17 00:00:00 2001 From: F1ash Date: Sun, 18 Jan 2015 14:17:08 +0300 Subject: [PATCH 1/2] add method for get pty slave fd; --- lib/Session.cpp | 1 + lib/Session.h | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/lib/Session.cpp b/lib/Session.cpp index e6eca88..39e0028 100644 --- a/lib/Session.cpp +++ b/lib/Session.cpp @@ -79,6 +79,7 @@ Session::Session(QObject* parent) : //create teletype for I/O with shell process _shellProcess = new Pty(); + ptySlaveFd = _shellProcess->pty()->slaveFd(); //create emulation backend _emulation = new Vt102Emulation(); diff --git a/lib/Session.h b/lib/Session.h index b3a389f..988d71d 100644 --- a/lib/Session.h +++ b/lib/Session.h @@ -363,6 +363,13 @@ public: // void cancelZModem(); // bool isZModemBusy() { return _zmodemBusy; } + /** + * Returns a pty slave file descriptor. + * This can be used for display and control + * a remote terminal. + */ + int getPtySlaveFd() const; + public slots: /** @@ -543,6 +550,8 @@ private: static int lastSessionId; + int ptySlaveFd; + }; /** From 109ee5796f58ce370196322b5ae8ffed52981697 Mon Sep 17 00:00:00 2001 From: F1ash Date: Sun, 18 Jan 2015 14:49:07 +0300 Subject: [PATCH 2/2] add method for get pty slave fd; --- lib/Session.cpp | 4 ++++ lib/qtermwidget.cpp | 4 ++++ lib/qtermwidget.h | 7 +++++++ 3 files changed, 15 insertions(+) diff --git a/lib/Session.cpp b/lib/Session.cpp index 39e0028..f87000b 100644 --- a/lib/Session.cpp +++ b/lib/Session.cpp @@ -929,6 +929,10 @@ int Session::processId() const { return _shellProcess->pid(); } +int Session::getPtySlaveFd() const +{ + return ptySlaveFd; +} SessionGroup::SessionGroup() : _masterMode(0) diff --git a/lib/qtermwidget.cpp b/lib/qtermwidget.cpp index 1b4f4a1..1c8fc6c 100644 --- a/lib/qtermwidget.cpp +++ b/lib/qtermwidget.cpp @@ -619,3 +619,7 @@ Filter::HotSpot* QTermWidget::getHotSpotAt(int row, int column) const return m_impl->m_terminalDisplay->filterChain()->hotSpotAt(row, column); } +int QTermWidget::getPtySlaveFd() const +{ + return m_impl->m_session->getPtySlaveFd(); +} diff --git a/lib/qtermwidget.h b/lib/qtermwidget.h index de1da2f..1b16bb3 100644 --- a/lib/qtermwidget.h +++ b/lib/qtermwidget.h @@ -165,6 +165,13 @@ public: */ Filter::HotSpot* getHotSpotAt(int row, int column) const; + /** + * Returns a pty slave file descriptor. + * This can be used for display and control + * a remote terminal. + */ + int getPtySlaveFd() const; + signals: void finished(); void copyAvailable(bool);