diff options
Diffstat (limited to 'kdesktop/krootwm.cc')
| -rw-r--r-- | kdesktop/krootwm.cc | 29 | 
1 files changed, 29 insertions, 0 deletions
| diff --git a/kdesktop/krootwm.cc b/kdesktop/krootwm.cc index 58eb78a9f..a423471bb 100644 --- a/kdesktop/krootwm.cc +++ b/kdesktop/krootwm.cc @@ -131,7 +131,10 @@ KRootWm::KRootWm(KDesktop* _desktop) : TQObject(_desktop)    if (kapp->authorize("run_command"))    {       new KAction(i18n("Run Command..."), "run", 0, m_pDesktop, TQT_SLOT( slotExecuteCommand() ), m_actionCollection, "exec" ); +     new KAction(i18n("Konsole ..." ), "terminal", CTRL+Key_T, this, TQT_SLOT( slotOpenTerminal() ), +	m_actionCollection, "open_terminal" );    } +    if (!KGlobal::config()->isImmutable())    {       new KAction(i18n("Configure Desktop..."), "configure", 0, this, TQT_SLOT( slotConfigureDesktop() ), @@ -322,6 +325,12 @@ void KRootWm::buildMenus()              file->insertSeparator();          } +        action = m_actionCollection->action("open_terminal"); +        if (action) +        { +            action->plug( file ); +        } +          action = m_actionCollection->action("lock");          if (action)              action->plug( file ); @@ -396,6 +405,10 @@ void KRootWm::buildMenus()         needSeparator = true;      } +    action = m_actionCollection->action("open_terminal"); +    if (action) +	action->plug( desktopMenu ); +      if (needSeparator)      {          desktopMenu->insertSeparator(); @@ -723,6 +736,22 @@ TQStringList KRootWm::configModules() {    return args;  } +void KRootWm::slotOpenTerminal() +{ +    // kdDebug() << "KRootWm::slotOpenTerminal" << endl; +    KProcess* p = new KProcess; +    Q_CHECK_PTR(p); + +    KConfigGroupSaver gs(KGlobal::config(), "General"); +    TQString terminal = KGlobal::config()->readPathEntry("TerminalApplication", "konsole"); + +    *p << terminal; + +    p->start(KProcess::DontCare); + +    delete p; +} +  void KRootWm::slotConfigureDesktop() {    if (!m_configDialog)    { | 
