summaryrefslogtreecommitdiff
path: root/core/apps/embeddedkonsole/main.cpp
Unidiff
Diffstat (limited to 'core/apps/embeddedkonsole/main.cpp') (more/less context) (show whitespace changes)
-rw-r--r--core/apps/embeddedkonsole/main.cpp45
1 files changed, 2 insertions, 43 deletions
diff --git a/core/apps/embeddedkonsole/main.cpp b/core/apps/embeddedkonsole/main.cpp
index 91199eb..f77fe24 100644
--- a/core/apps/embeddedkonsole/main.cpp
+++ b/core/apps/embeddedkonsole/main.cpp
@@ -19,61 +19,20 @@
19/* */ 19/* */
20/* -------------------------------------------------------------------------- */ 20/* -------------------------------------------------------------------------- */
21 21
22#include "konsole.h" 22#include "konsole.h"
23 23
24#include <qpe/qpeapplication.h> 24#include <qpe/qpeapplication.h>
25#include <opie/oapplicationfactory.h>
25 26
26#include <qfile.h> 27#include <qfile.h>
27 28
28#include <unistd.h> 29#include <unistd.h>
29#include <stdio.h> 30#include <stdio.h>
30#include <stdlib.h> 31#include <stdlib.h>
31 32
32#include <pwd.h> 33#include <pwd.h>
33#include <sys/types.h> 34#include <sys/types.h>
34 35
35 36
36/* --| main |------------------------------------------------------ */ 37/* --| main |------------------------------------------------------ */
37int main(int argc, char* argv[]) 38OPIE_EXPORT_APP( OApplicationFactory<Konsole> )
38{
39 if(setuid(getuid()) !=0) qDebug("setuid failed");
40 if(setgid(getgid()) != 0) qDebug("setgid failed"); // drop privileges
41
42 QPEApplication a( argc, argv );
43
44// QPEApplication::grabKeyboard(); // for CTRL and ALT
45
46 qDebug("keyboard grabbed");
47#ifdef FAKE_CTRL_AND_ALT
48 qDebug("Fake Ctrl and Alt defined");
49 QPEApplication::grabKeyboard(); // for CTRL and ALT
50#endif
51
52 QStrList tmp;
53 const char* shell = getenv("SHELL");
54
55 if (shell == NULL || *shell == '\0') {
56 struct passwd *ent = 0;
57 uid_t me = getuid();
58 shell = "/bin/sh";
59
60 while ( (ent = getpwent()) != 0 ) {
61 if (ent->pw_uid == me) {
62 if (ent->pw_shell != "")
63 shell = ent->pw_shell;
64 break;
65 }
66 }
67 endpwent();
68 }
69
70 if( putenv((char*)"COLORTERM=") !=0)
71 qDebug("putenv failed"); // to trigger mc's color detection
72
73 Konsole m( "test", shell, tmp, TRUE );
74 m.setCaption( Konsole::tr("Terminal") );
75 a.showMainWidget( &m );
76
77 return a.exec();
78}
79