KRun did not do that, it is done now tho and (essentially) instead of
starting the service for inode/vnd.kde.service.http (which there is no
registered service for, that MIME type is made up for the sake of KIO)
the service for the target URL (e.g. http://192.168.1.100:12216) will be
started (which since that is http service would be most likely web browser)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
NOTE: this is potentionally dangerous thing to do because KLauncher reaps
processes and there is no interruption point for it right now which is one
of the reasons upload confirmation is not in place (user interaction will
have to be potentionally canceled too)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
because the process is connected to shortly after started but it may finish
before the connection is made and attempting to connect to it will result
in a crash
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
assuming 0 means success and anything else failure, unifdef for example
exits with exit code 1 if the output is different tho so there are
exceptions to it
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
there are other conditions that are checked tho like the allowed
environment but this one is Katana specific and unused so
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
two things doing the same thing - one has to go away. also KRun does not
fork and the launched service/application lifetime was bound to the
process launching it, that is not the case with klauncher - it is bound
to the session (in the usual case)
a few things on the TODO list but mostly for services/applications
lacking features
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
every comment about X11 and session management in general claims it was
broken, not going to claim otherwise. everything that does not use
KApplication shall not be involved into session management now and gets
the middle finger (SIGTERM or SIGKILL) after 5 sec by klauncher when the
session is done
also session management has to be explicitly enabled by applications
now, disabled by default
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
silent_arg was used to fake startup notification for non-compliant
applications, that shall not be the case anymore - when applications do not
claim startup notification support or it is simply disabled for specific
use case (as is done by ark for its service actions) then there shall be no
startup notification, silent or otherwise
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
just another way to do what ASN does, the KService::DBusWait mode was
not used too. with this change however all of the process setup code is
moved to a seperate class and the responsibility of KLauncher about ASN
is reduced (ASN now works better for process that fork but if application
claims ASN support and does not send ASN finish then the timeout will be
reached)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
so that application event processing is not blocked by any
KToolInvocation method, the D-Bus service name and PID return arguments
are not used anyway so removing them
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
with klauncher no longer responsible for KIO slave the next step is to
make them plugins and the feature to put them on hold will be of no value
because QLibrary reuses library/plugin instances and creating a new
slave object will be cheap
in other words the performance will be similar to that of KFileMetaInfo
for which I also wrote the plugins myself - they are pretty quick
compared to what strigi was doing and with more flexible configuration
interface but it took some effort to get there
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>