much like the old implementation except that empty QStringList is returned
if either terminal or kdesudo is required but not found, ideally errors
should be reported by klauncher when that is the case
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
thunderbird for one accepts a single URL (which probably is split into bits
and checked for query items). it does not have "t", "s", etc. placeholders
in its .desktop file so that whole map thing is not really working well
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
the matching could try basename and possibly second argument match tho,
e.g. the Exec key value could be relative or full path and interpreter may
be the first argument with the actual program (or script rather) second
making the matching kinda hard to get right
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
now that stat() is used for MIME type determination it is used in lots of
places and progress should not be shown more often than it should
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
if the mutex is not unlocked deadlock occurs, if the job is not removed
from the queue it will be attempted to start it again
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>
KRun already had such optimization in place for example, that makes the
file slave kinda special tho as it will determine MIME type only from mode
but the goal is to not even spin a job and a slave for local files
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
more accurate probing then before, notably by probing the file content
from the file slave (only the name was checked before because the
filepath was not a full path in some cases and the file could not be
open)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
only this time the missing feature to unmark slaves as idle and not mess
up the command queue is there
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
the specialized one, stat() does it now because emitting MIME type while
also emitting data (in or out) interrupts the data flow
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
because the speed is based on the processed size, for it to be precisely
calculated for 1sec (or whatever the speed timer may be in the future)
it better be emitted as often as it arives from the slave
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>