diff options
-rw-r--r-- | src-qt5/core/lumina-desktop/LDesktop.cpp | 5 | ||||
-rw-r--r-- | src-qt5/core/lumina-open/main.cpp | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/src-qt5/core/lumina-desktop/LDesktop.cpp b/src-qt5/core/lumina-desktop/LDesktop.cpp index 0dd28f11..cf1fe25f 100644 --- a/src-qt5/core/lumina-desktop/LDesktop.cpp +++ b/src-qt5/core/lumina-desktop/LDesktop.cpp @@ -102,9 +102,8 @@ void LDesktop::SystemLogout(){ void LDesktop::SystemTerminal(){ LSession::handle()->sessionSettings()->sync(); //make sure it is up to date QString term = LXDG::findDefaultAppForMime("application/terminal"); //LSession::handle()->sessionSettings()->value("default-terminal","xterm").toString(); - if(term.endsWith(".desktop")){ term = "lumina-open \""+term+"\""; } - else if(term.isEmpty() || !LUtils::isValidBinary(term)){ term = "xterm"; } - LSession::LaunchApplication(term); + if(term.isEmpty() || !LUtils::isValidBinary(term)){ term = "xterm"; } + LSession::LaunchApplication("lumina-open \""+term+"\""); } void LDesktop::SystemFileManager(){ diff --git a/src-qt5/core/lumina-open/main.cpp b/src-qt5/core/lumina-open/main.cpp index 62a14f4c..b5f0d97f 100644 --- a/src-qt5/core/lumina-open/main.cpp +++ b/src-qt5/core/lumina-open/main.cpp @@ -347,6 +347,12 @@ int main(int argc, char **argv){ //qDebug() << "Run CMD:" << cmd << args; //Now run the command (move to execvp() later?) if(cmd.isEmpty()){ return 0; } //no command to run (handled internally) + QString bin = cmd.section(" ",0,0); + if( !LUtils::isValidBinary(bin) ){ + //invalid binary for some reason - open a dialog to warn the user instead + QMessageBox::warning(0, QObject::tr("Binary Missing"), QString(QObject::tr("Could not find \"%1\". Please ensure it is installed first.")).arg(bin)+"\n\n"+cmd); + return 1; + } qDebug() << "[lumina-open] Running Cmd:" << cmd; int retcode = 0; //Provide an override file for never watching running processes. |