From 71737f70949bd25f9aa8bc4e7d03039ba83c6cb1 Mon Sep 17 00:00:00 2001 From: Kris Moore Date: Thu, 4 Sep 2014 11:42:13 -0400 Subject: Initial import of the lumina code from pcbsd git repo --- lumina-desktop/main.cpp | 100 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 lumina-desktop/main.cpp (limited to 'lumina-desktop/main.cpp') diff --git a/lumina-desktop/main.cpp b/lumina-desktop/main.cpp new file mode 100644 index 00000000..1ae8cb51 --- /dev/null +++ b/lumina-desktop/main.cpp @@ -0,0 +1,100 @@ +//=========================================== +// Lumina-DE source code +// Copyright (c) 2012, Ken Moore +// Available under the 3-clause BSD license +// See the LICENSE file for full details +//=========================================== +#include +//#include +#include +#include +#include +#include +//#include +//#include +//#include +#include + + +//#include "WMProcess.h" +//#include "LDesktop.h" +#include "LSession.h" +#include "Globals.h" + +#include //from libLuminaUtils + +#ifndef PREFIX +#define PREFIX QString("/usr/local") +#endif + +QFile logfile(QDir::homePath()+"/.lumina/logs/runtime.log"); +void MessageOutput(QtMsgType type, const char *msg){ + QString txt; + switch(type){ + case QtDebugMsg: + txt = QString("Debug: %1").arg(msg); + break; + case QtWarningMsg: + txt = QString("Warning: %1").arg(msg); + break; + case QtCriticalMsg: + txt = QString("CRITICAL: %1").arg(msg); + break; + case QtFatalMsg: + txt = QString("FATAL: %1").arg(msg); + break; + } + + QTextStream out(&logfile); + out << txt; + if(!txt.endsWith("\n")){ out << "\n"; } +} + +int main(int argc, char ** argv) +{ + //Setup any pre-QApplication initialization values + LXDG::setEnvironmentVars(); + setenv("DESKTOP_SESSION","LUMINA",1); + setenv("XDG_CURRENT_DESKTOP","LUMINA",1); + LSession::setGraphicsSystem("native"); //make sure to use X11 graphics system + //Setup the log file + qDebug() << "Lumina Log File:" << logfile.fileName(); + if(logfile.exists()){ logfile.remove(); } //remove any old one + //Make sure the parent directory exists + if(!QFile::exists(QDir::homePath()+"/.lumina/logs")){ + QDir dir; + dir.mkpath(QDir::homePath()+"/.lumina/logs"); + } + logfile.open(QIODevice::WriteOnly | QIODevice::Append); + //Startup the Application + LSession a(argc, argv); + //Setup Log File + qInstallMsgHandler(MessageOutput); + a.setupSession(); + //Start up the Window Manager + //qDebug() << " - Start Window Manager"; + //WMProcess WM; + //WM.startWM(); + //QObject::connect(&WM, SIGNAL(WMShutdown()), &a, SLOT(exit()) ); + //Load the initial translations + //QTranslator translator; + a.LoadLocale(QLocale().name()); + //Now start the desktop + /*QDesktopWidget DW; + QList screens; + for(int i=0; i