/* ---------------------------------------------------------------------- */ /* */ /* [main.C] Konsole */ /* */ /* ---------------------------------------------------------------------- */ /* */ /* Copyright (c) 1997,1998 by Lars Doelle */ /* */ /* This file is part of Konsole, an X terminal. */ /* */ /* The material contained in here more or less directly orginates from */ /* kvt, which is copyright (c) 1996 by Matthias Ettrich */ /* */ /* ---------------------------------------------------------------------- */ /* */ /* Ported Konsole to Qt/Embedded */ /* */ /* Copyright (C) 2000 by John Ryland */ /* */ /* -------------------------------------------------------------------------- */ #include "konsole.h" #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) odebug << "setuid failed" << oendl; if(setgid(getgid()) != 0) odebug << "setgid failed" << oendl; // drop privileges QPEApplication a( argc, argv ); #ifdef FAKE_CTRL_AND_ALT odebug << "Fake Ctrl and Alt defined" << oendl; 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) odebug << "putenv failed" << oendl; // to trigger mc's color detection Konsole m( "test", shell, tmp, TRUE ); m.setCaption( Konsole::tr("Terminal") ); a.showMainWidget( &m ); return a.exec(); } #endif