• Skip to content
  • Skip to link menu
KDE 4.1 API Reference
  • KDE API Reference
  • API Reference
  • Sitemap
  • Contact Us
 

Konsole

Konsole::Pty

Konsole::Pty Class Reference

#include <Pty.h>

Inheritance diagram for Konsole::Pty:

Inheritance graph
[legend]

List of all members.


Detailed Description

The Pty class is used to start the terminal process, send data to it, receive data from it and manipulate various properties of the pseudo-teletype interface used to communicate with the process.

To use this class, construct an instance and connect to the sendData slot and receivedData signal to send data to or receive data from the process.

To start the terminal process, call the start() method with the program name and appropriate arguments.

Definition at line 52 of file Pty.h.


Public Slots

void lockPty (bool lock)
void sendData (const char *buffer, int length)
void setUtf8Mode (bool on)

Signals

void receivedData (const char *buffer, int length)

Public Member Functions

char erase () const
bool flowControlEnabled () const
int foregroundProcessGroup () const
 Pty (int ptyMasterFd, QObject *parent=0)
 Pty (QObject *parent=0)
void setErase (char erase)
void setFlowControlEnabled (bool on)
void setWindowSize (int lines, int cols)
void setWriteable (bool writeable)
int start (const QString &program, const QStringList &arguments, const QStringList &environment, ulong winid, bool addToUtmp, const QString &dbusService, const QString &dbusSession)
QSize windowSize () const
 ~Pty ()

Protected Member Functions

void setupChildProcess ()

Constructor & Destructor Documentation

Pty::Pty ( QObject *  parent = 0  )  [explicit]

Constructs a new Pty.

Connect to the sendData() slot and receivedData() signal to prepare for sending and receiving data from the terminal process.

To start the terminal process, call the run() method with the name of the program to start and appropriate arguments.

Definition at line 235 of file Pty.cpp.

Pty::Pty ( int  ptyMasterFd,
QObject *  parent = 0 
)

Construct a process using an open pty master.

See KPtyProcess::KPtyProcess()

Definition at line 230 of file Pty.cpp.

Pty::~Pty (  ) 

Definition at line 252 of file Pty.cpp.


Member Function Documentation

char Pty::erase (  )  const

Definition at line 119 of file Pty.cpp.

bool Pty::flowControlEnabled (  )  const

Queries the terminal state and returns true if Xon/Xoff flow control is enabled.

Definition at line 73 of file Pty.cpp.

int Pty::foregroundProcessGroup (  )  const

Returns the process id of the teletype's current foreground process.

This is the process which is currently reading input sent to the terminal via. sendData()

If there is a problem reading the foreground process group, 0 will be returned.

Definition at line 283 of file Pty.cpp.

void Pty::lockPty ( bool  lock  )  [slot]

Suspend or resume processing of data from the standard output of the terminal process.

See K3Process::suspend() and K3Process::resume()

Parameters:
lock If true, processing of output is suspended, otherwise processing is resumed.

Definition at line 274 of file Pty.cpp.

void Konsole::Pty::receivedData ( const char *  buffer,
int  length 
) [signal]

Emitted when a new block of data is received from the teletype.

Parameters:
buffer Pointer to the data received.
length Length of buffer

void Pty::sendData ( const char *  buffer,
int  length 
) [slot]

Sends data to the process currently controlling the teletype ( whose id is returned by foregroundProcessGroup() ).

Parameters:
buffer Pointer to the data to send.
length Length of buffer.

Definition at line 256 of file Pty.cpp.

void Pty::setErase ( char  erase  ) 

TODO Document me.

Definition at line 105 of file Pty.cpp.

void Pty::setFlowControlEnabled ( bool  on  ) 

Enables or disables Xon/Xoff flow control.

The flow control setting may be changed later by a terminal application, so flowControlEnabled() may not equal the value of on in the previous call to setFlowControlEnabled()

Definition at line 57 of file Pty.cpp.

void Pty::setupChildProcess (  )  [protected]

Definition at line 295 of file Pty.cpp.

void Pty::setUtf8Mode ( bool  on  )  [slot]

Put the pty into UTF-8 mode on systems which support it.

Definition at line 86 of file Pty.cpp.

void Pty::setWindowSize ( int  lines,
int  cols 
)

Sets the size of the window (in lines and columns of characters) used by this teletype.

Definition at line 44 of file Pty.cpp.

void Pty::setWriteable ( bool  writeable  ) 

TODO: Document me.

Definition at line 220 of file Pty.cpp.

int Pty::start ( const QString &  program,
const QStringList &  arguments,
const QStringList &  environment,
ulong  winid,
bool  addToUtmp,
const QString &  dbusService,
const QString &  dbusSession 
)

Starts the terminal process.

Returns 0 if the process was started successfully or non-zero otherwise.

Parameters:
program Path to the program to start
arguments Arguments to pass to the program being started
environment A list of key=value pairs which will be added to the environment for the new process. At the very least this should include an assignment for the TERM environment variable.
winid Specifies the value of the WINDOWID environment variable in the process's environment.
addToUtmp Specifies whether a utmp entry should be created for the pty used. See K3Process::setUsePty()
dbusService Specifies the value of the KONSOLE_DBUS_SERVICE environment variable in the process's environment.
dbusSession Specifies the value of the KONSOLE_DBUS_SESSION environment variable in the process's environment.

Definition at line 151 of file Pty.cpp.

QSize Pty::windowSize (  )  const

Returns the size of the window used by this teletype.

See setWindowSize()

Definition at line 52 of file Pty.cpp.


The documentation for this class was generated from the following files:
  • Pty.h
  • Pty.cpp

Konsole

Skip menu "Konsole"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

API Reference

Skip menu "API Reference"
  • Konsole
  • Libraries
  •   libkonq
Generated for API Reference by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal