From 8eba2f4ad58f6f9cc087e544e5f69a3285a99f10 Mon Sep 17 00:00:00 2001 From: Ken Moore Date: Thu, 27 Apr 2017 23:48:24 -0400 Subject: Move the unfinished utilities in Lumina over to an "experimental" directory. --- src-qt5/experimental/lumina-terminal/main.cpp | 47 +++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src-qt5/experimental/lumina-terminal/main.cpp (limited to 'src-qt5/experimental/lumina-terminal/main.cpp') diff --git a/src-qt5/experimental/lumina-terminal/main.cpp b/src-qt5/experimental/lumina-terminal/main.cpp new file mode 100644 index 00000000..a316ff35 --- /dev/null +++ b/src-qt5/experimental/lumina-terminal/main.cpp @@ -0,0 +1,47 @@ +//=========================================== +// Lumina-DE source code +// Copyright (c) 2015, Ken Moore +// Available under the 3-clause BSD license +// See the LICENSE file for full details +//=========================================== +#include +#include + +#include +#include + +#include + +#include "TrayIcon.h" +int main(int argc, char *argv[]) { + LTHEME::LoadCustomEnvSettings(); + LSingleApplication a(argc, argv, "lumina-terminal"); + if( !a.isPrimaryProcess() ){ return 0; } //poked the current process instead + + //First make sure a system tray is available + qDebug() << "Checking for system tray"; + bool ready = false; + for(int i=0; i<60 && !ready; i++){ + ready = QSystemTrayIcon::isSystemTrayAvailable(); + if(!ready){ + //Pause for 5 seconds + sleep(5); //don't worry about stopping event handling - nothing really running yet + } + } + if(!ready){ + qDebug() << "Could not find any available system tray after 5 minutes: exiting...."; + return 1; + } + + //Now go ahead and setup the app + //LuminaThemeEngine theme(&a); + QApplication::setQuitOnLastWindowClosed(false); + + //Now start the tray icon + TrayIcon tray; + QObject::connect(&a, SIGNAL(InputsAvailable(QStringList)), &tray, SLOT(slotSingleInstance(QStringList)) ); + //QObject::connect(&theme, SIGNAL(updateIcons()), &tray, SLOT(updateIcons()) ); + tray.parseInputs(a.inputlist); + tray.show(); + return a.exec(); +} -- cgit