because Plasma::Theme (and Plasma::ThemePrivate indirectly) may be created
before QCoreApplication/QApplication instance by Theme::defaultTheme()
and application instance is required for QX11Info::display() to return
non-null (which KWindowSystem uses but has fallback in case it is null
in KWindowSystem::compositingActive())
note that KWindowSystem::compositingActive() returns cached value if
XFixes is available
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>
for Katana that does not do much tho, applications that have
X-DBUS-StartupType set to Unique use KUniqueApplication which does the
neccessary checks to make sure another instance is not started
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
since any message type can be set to log via syslog() that may be the only
way to know when a program without interface (such as service) crashes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
`apt-file` search yeilds 221 files matching (8 packages provide such),
it is also unused by plasma even tho there are leftovers from support for it
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
altough the complete program path is more informative, setting it to the
filename only matches the old behaviour
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>
it is breaking kdontchangethehostname. also kded4, kglobalaccel, knotify,
and kuiserver were redone to be proper D-Bus service with signal handlers
(see KApplication::quitOnSignal()) so if the dbus-daemon sends signal to
the processes they will clean up properly
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
the test is for the worse case scenario, i.e. what if /etc/passwd is
missing? in that case the system is borked and should be fixed, that's
not a problem Katana will (or should) solve nor workaround tho
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>