[Konsole-devel] [Bug 102941] User created sessions with "~" (like "~/somescript") in execute field or error in command doesn't appear in menu

Kurt V.Hindenburg kurt.hindenburg at kdemail.net
Fri Apr 1 04:43:58 UTC 2005


------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=102941         




------- Additional Comments From kurt.hindenburg kdemail net  2005-04-01 06:43 -------
Well, something is wrong with using BUGS: and CCMAIL in CVS commits tonight:

CVS commit by hindenburg: 

Try this again... expand ~ in Exec=~/script
Qt/KDE needs a function for this.

CCBUGS: 102941


  M +13 -2     konsole.cpp   1.527


--- kdebase/konsole/konsole/konsole.cpp  #1.526:1.527
 @ -3068,7 +3068,18  @ void Konsole::addSessionCommand(const QS
   }
 
-  exec = exec.replace( "~", QDir::homeDirPath() );
   exec = KRun::binaryName(exec, false);
+
+  if ( exec.startsWith( "~/" ) ) {        // ~/script
+    exec = exec.remove( 0, 1 );      // ~
+    exec = exec.prepend( QDir::homeDirPath() );
+  } else if ( exec.startsWith( "~" ) ) {  // ~user/script
+      // FIXME: What do when ~user != ~ ?
+      // We could check that user == current user... blah!
+    kdWarning()<<"Unable to handle Exec=~user/ (use ~/ or full path): "<<exec<<" in "<<path.latin1()<<endl;
+    return;    // ignore
+  }
+
   QString pexec = KGlobal::dirs()->findExe(exec);
+
   if (typ.isEmpty() || txt.isEmpty() || typ != "KonsoleApplication"
       || ( !exec.isEmpty() && pexec.isEmpty() ) )
 @ -3076,6 +3087,6  @ void Konsole::addSessionCommand(const QS
     if (!path.isEmpty())
        delete co;
+    kdWarning()<<"Unable to use "<<path.latin1()<<endl;
     return; // ignore
-
   }



More information about the konsole-devel mailing list