aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/core
diff options
context:
space:
mode:
Diffstat (limited to 'src-qt5/core')
-rw-r--r--src-qt5/core/lumina-desktop/LDesktop.cpp5
-rw-r--r--src-qt5/core/lumina-open/main.cpp6
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.
bgstack15