#include "viper_window.h"
#include "misc/findbinary.h"
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define FORCE_CRASH_HANDLER
#if defined(Q_OS_UNIX) && defined(QT_NO_DEBUG) || defined(FORCE_CRASH_HANDLER)
#define ENABLE_CRASH_HANDLER
#endif
#ifdef ENABLE_CRASH_HANDLER
#include "crashhandler/airbag.h"
#include "crashhandler/stacktrace.h"
#include
#include
#include
void crash_handled(int fd){
safe_printf(STDERR_FILENO, "Done! Crash report saved to /tmp/viper-gui.\n");
}
#endif
using namespace std;
int main(int argc, char *argv[])
{
findyourself_init(argv[0]);
char exepath[PATH_MAX];
find_yourself(exepath, sizeof(exepath));
#ifdef ENABLE_CRASH_HANDLER
EXECUTION_FILENAME = exepath;
mkdir("/tmp/viper-gui/", S_IRWXU);
int fd = safe_open_wo_fd("/tmp/viper-gui/crash.dmp");
airbag_init_fd(fd,crash_handled,EXECUTION_FILENAME);
#endif
gst_init(&argc, &argv);
QApplication a(argc, argv);
auto* appConf = new AppConfigWrapper();
appConf->loadAppConfig();
auto* translator = new QTranslator();
translator->load("lang_" + appConf->getLanguage(), QLatin1String(":/translations"));
appConf->deleteLater();
QApplication::installTranslator(translator);
QApplication::setFallbackSessionManagementEnabled(false);
QCommandLineParser parser;
parser.setApplicationDescription("Graphical User Interface for Viper4Linux2");
parser.addHelpOption();
QCommandLineOption tray(QStringList()