From eb2e474c18382c50774b868a17dc3cfc8ec026ba Mon Sep 17 00:00:00 2001 From: llornkcor Date: Wed, 07 Apr 2004 08:00:32 +0000 Subject: non opie main --- diff --git a/core/apps/embeddedkonsole/main.cpp b/core/apps/embeddedkonsole/main.cpp index b456ce2..b851d3e 100644 --- a/core/apps/embeddedkonsole/main.cpp +++ b/core/apps/embeddedkonsole/main.cpp @@ -21,10 +21,65 @@ #include "konsole.h" -#include +#ifdef QT_QWS_OPIE +#include /* --| main |------------------------------------------------------ */ using namespace Opie::Core; OPIE_EXPORT_APP( OApplicationFactory ) +#else //for non opie builds + +#include + +#include + +#include +#include +#include + +#include +#include + + +/* --| main |------------------------------------------------------ */ + int main(int argc, char* argv[]) { + if(setuid(getuid()) !=0) qDebug("setuid failed"); + if(setgid(getgid()) != 0) qDebug("setgid failed"); // drop privileges + + QPEApplication a( argc, argv ); +#ifdef FAKE_CTRL_AND_ALT + qDebug("Fake Ctrl and Alt defined"); + QPEApplication::grabKeyboard(); // for CTRL and ALT +#endif + + QStrList tmp; + const char* shell = getenv("SHELL"); + + if (shell == NULL || *shell == '\0') { + struct passwd *ent = 0; + uid_t me = getuid(); + shell = "/bin/sh"; + + while ( (ent = getpwent()) != 0 ) { + if (ent->pw_uid == me) { + if (ent->pw_shell != "") + shell = ent->pw_shell; + break; + } + } + endpwent(); + } + + if( putenv((char*)"COLORTERM=") !=0) + qDebug("putenv failed"); // to trigger mc's color detection + + Konsole m( "test", shell, tmp, TRUE ); + m.setCaption( Konsole::tr("Terminal") ); + a.showMainWidget( &m ); + + return a.exec(); +} + +#endif -- cgit v0.9.0.2