O_CLOEXEC won't do it but saving the locks in /tmp or other directory that
is purged across reboot will remove stale locks
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
the PID check was racy, bonus points for not writing data at all to the
lock and not reading it meaning less disk I/O
oh, yes - by using O_CLOEXEC the lock is stale-safe
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
because the string returned by udev_device_get_action() is valid for as
long as the device is storing it in QByteArray is redundant
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
the service check is racy, KLockFile is as not (assuming the combination of
O_EXCL and O_CREAT is not racy which is not KLockFile's responsibility)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
so that, for example, the plasma devicenotifier applet does not block
plasma-desktop events when mounting/unmounting
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
KKeyboardLayout along with Solid::Input are to be used not only in a
reimplementation of the keyboard plasma applet but also potentially
for a software input panel (QEvent::RequestSoftwareInputPanel and
QEvent::CloseSoftwareInputPanel handler)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
includes camel-case header for Solid::Video as it was noticed to be
missing while working on the handling the new class in kde-workspace
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
because 0 should be invalid cookie, much like the inhibition cookie of the
org.freedesktop.ScreenSaver interface
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
that means to get the translations linking to solid library or calling
KGlobal::locale()->insertCatalog("solid_qt") is required
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
KToolInvocation does not check if the application/service that is to be
started actually supports startup notification, it is done by KLauncher and
KRun tho (as it should be)
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>
KFileItem::isRegularFile() is a simple mode (member) check while
KFileItem::mostLocalUrl() does some dirty work
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
tottaly a hack, restoring applications on specific display will not work
either (not as long as it is possible to start session on any display, i.e.
restoring on specific display is unreliable)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
much like XDG autostart except for KDED modules, requires adjustments to
modules that are automatically loaded in phase-1
in the future the logic may apply not only to modules during startup but
also when attempting to load a module in general
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
browser shall be determinted by the preferred service for "text/html",
"application/xhtml+xml" or any other MIME type for it (that includes
scheme handlers)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>