for programs that cannot be restarted by simply exec-ing them such as the
KIO slaves which require application socket as argument
note that restarting is maybe works thing - programs started by kdesudo
cannot be restarted (properly) as they are exec-ed by other program that
does the setup for them to function the way they should
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
generally, those signals should not be blocked but it seems something is
blocking consequent SIGSEGV signals send by `kill` for example
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
once KIO slaves are plugins it would not matter tho (KApplication sets the
KCrash::DrKonqi flag already) but for now since they are detached
process poping drkonqi in case they crash (and KDE_DEBUG is set) is more
usefull than printing trace to stderr
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
this was done only when there was pool socket (when klauncher was handling
slaves) but it has to be done anyway to prevent more tasks (commands) from
being send after error occurs
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>
much simpler and easier to maintain, also it will be proper D-Bus
service now with no sockets, process title hack and whatnot. KCrash
and startkde script (in kde-workspace repo) have to be adjusted for
it tho
note that the internal KIO scheduler already has the functionality to
put slaves on hold but now they will be started as detached process.
eventually they may become plugins (they are loaded as such by kioslave
program) without event loop dispatcher
fixes application startup notification (ASN) and cleanup issues
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
such items should not be in the queue for preview even, even items for
remote URLs have something vendor-specific or application/octet-stream as
MIME type. fixes KMimeTypeTrader runtime warning
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
the soft MIME matching via KMimeType::is() is way too.. soft. it can match
application/x-dvi as plain/text (and use ps thumbnailer) which is not ideal
(should use only textthumbnail thumbnailer for plain/text and ps
thumbnailer for application/x-dvi)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
the reason for checking the preffered offers first should be obvious - it
is questionable which match should be done first. should it be the glob or
the exact match? chicken and egg thing
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
mostly to make the MIME types check consistent by using KMimeType::is()
for the comparison (as done by KPreviewPropsPlugin::supports() for example)
and to filter the ThumbCreator service type (to avoid invalid KMimeType
checks)
fixed KFileMetaInfo regression for plugins that use globs aswell
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
none of the plugins support it and it slows down the thumbnail
preview generation (or fetching of existing thumbnail)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
ideally, the keys would also be stored in the .desktop files so that
plugin instances would not have to be created from
KFileMetaInfo::supportedKeys() too
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
the option to change them is hidden deep into the Dolphin configuration
meaning a thumbnail not being generated in gwenview may require from the
user to launch Dolphin and increase the limit (especially for images in
RAW format) but does he/she know about it?
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
fixes starting programs that require terminal from Plasma menu for
example
%i no longer expands to "--icon '%i'", I changed it to be so some time ago
so that different arguments can be passed along with %i to programs if they
support icon option but with different option name
%m is deprecated, for reference:
https://specifications.freedesktop.org/desktop-entry-spec/latest/ar01s07.html
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
that way it is registered from any KUrlRequester constructor not the just
one that takes two QWidget arguments
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>