Ivailo Monev
386f894043
kinit: delay deletion of processes by 3 seconds
...
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>
2024-05-20 02:25:05 +03:00
Ivailo Monev
06654a1bbd
kinit: ensure the startup timeout is atleast 1 second
...
has to be done in the KCM too
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-17 07:32:55 +03:00
Ivailo Monev
c72478ab01
kinit: check the process exit code on state change
...
for flexibility
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-16 06:33:13 +03:00
Ivailo Monev
c8304a4da7
kinit: do not use the program arguments to check for remote URLs
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-13 08:04:39 +03:00
Ivailo Monev
3523b1baa9
kinit: de-duplicate code
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-13 07:44:30 +03:00
Ivailo Monev
bc9f3cf339
kinit: download remote URLs for services lacking support for such
...
now klauncher has all required features (by the spec) and then some
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-13 07:32:39 +03:00
Ivailo Monev
9874c20d80
kinit: report failure to start program based on its exit code
...
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>
2024-05-13 05:14:10 +03:00
Ivailo Monev
39320266cc
kinit: error out when services do not support remote URLs and one is detected
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-13 04:47:21 +03:00
Ivailo Monev
e19f1d01f5
kinit: check only if the MIME type is executable
...
to be able to run services for files that have the executable bit set but
are not actually programs
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-12 16:30:19 +03:00
Ivailo Monev
ecef0ed675
kinit: remove exec_blind method from the D-Bus interface
...
no longer used by any other program
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-12 14:08:08 +03:00
Ivailo Monev
603c4ba5cf
kinit: use scheme handlers as fallback for remote URLs
...
the MIME type (if it can be obtained) is more accurate anyway
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-12 13:11:46 +03:00
Ivailo Monev
8da3ce890f
kinit: use the home path as default working directory
...
because klauncher is D-Bus service
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-12 09:30:09 +03:00
Ivailo Monev
18e3a27275
kinit: warn on invalid startup phase
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-12 08:58:39 +03:00
Ivailo Monev
480e652825
kinit: handle the special case of scheme handlers
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-12 07:01:41 +03:00
Ivailo Monev
33a2b8b80a
kinit: show a dialog to choose service when none can handle the URL
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-12 05:18:00 +03:00
Ivailo Monev
1ac69ccc74
kdecore: drop unused startup condition feature
...
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>
2024-05-12 05:02:58 +03:00
Ivailo Monev
ccb945dbce
kinit: deal with TODO related to multiple files
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-12 04:50:20 +03:00
Ivailo Monev
a2c8e312d8
kinit: remove temporary files when executable too
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-12 03:33:14 +03:00
Ivailo Monev
b90f90905b
kio: move most of the KRun bits to KLauncher
...
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>
2024-05-12 03:21:17 +03:00
Ivailo Monev
8ce0f2ec3f
kinit: delete finished processes
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-07 23:32:03 +03:00
Ivailo Monev
ae4c786744
kinit: start services in the service path if not empty
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-28 22:01:11 +03:00
Ivailo Monev
45b0ff8106
kinit: remove check for now gone config option
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-29 15:27:17 +03:00
Ivailo Monev
2d1d7daf82
kio: drop fake startup notification support
...
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>
2023-09-03 00:46:58 +03:00
Ivailo Monev
a50c72de91
generic: drop support for startup notification via D-Bus service
...
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>
2023-08-19 19:53:14 +03:00
Ivailo Monev
64e890cc1a
kinit: read the launch timeout from klaunchrc
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-08-19 01:16:26 +03:00
Ivailo Monev
4c5361d34d
kinit: implement public cleanup method for klauncher
...
to be used by ksmserver
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-29 00:16:32 +03:00
Ivailo Monev
61709722d0
kdecore: remove now unused no-wait/blind option of KToolInvocation
...
KToolInvocation processes application events now (see
4fb8a1d674
)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-20 15:40:32 +02:00
Ivailo Monev
74ba680406
kinit: autostart optimizations
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-19 14:22:13 +02:00
Ivailo Monev
4fb8a1d674
generic: call klauncher methods asynchronously from KToolInvocation
...
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>
2022-12-19 12:44:44 +02:00
Ivailo Monev
34d87abfd8
kinit: new method for dumping the system environment
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-10 09:01:48 +02:00
Ivailo Monev
c8223bd24b
kinit: store and reuse the converted environment in KLauncherAdaptor::exec_blind()
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-10 01:47:45 +02:00
Ivailo Monev
922b4b44d1
kinit: do not insert empty environment variables into the klauncher environment
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-10 01:41:19 +02:00
Ivailo Monev
89e0305c24
kinit: remove redundant reparseConfiguration() method of org.kde.KLauncher interface
...
klauncher is no longer responsible for KIO slaves
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-08 03:59:18 +02:00
Ivailo Monev
936cc87544
kinit: log messages when service status changes
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-07 23:45:49 +02:00
Ivailo Monev
e7375fce97
kinit: set the application ID of the ASN
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-07 22:41:52 +02:00
Ivailo Monev
d7d7888d28
kinit: warning message correction
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-06 00:31:18 +02:00
Ivailo Monev
d5027edeb5
kinit: comment clarification
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-05 23:21:46 +02:00
Ivailo Monev
6d0209a2e0
kinit: log message when ASN is disabled for service
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-05 23:07:33 +02:00
Ivailo Monev
8e0c48a7f7
kinit: log the ASN binary
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-06 00:47:51 +02:00
Ivailo Monev
54690e0d55
kinit: tweak the processes termination
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-05 19:54:32 +02:00
Ivailo Monev
a320630b94
kinit: check if ASN is disabled for service via KRun::checkStartupNotify()
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-05 08:50:21 +02:00
Ivailo Monev
e1db604f6b
kinit: inline static functions
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-05 08:49:23 +02:00
Ivailo Monev
e0b6830e53
kinit: fill more ASN info for services
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-05 08:33:24 +02:00
Ivailo Monev
5bc229297b
kinit: do not call KStartupInfo::sendStartup() with invalid ASN info
...
KStartupInfo::sendStartup() does this anyway but the debug message will not
be logged
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-05 08:08:26 +02:00
Ivailo Monev
eeb31af052
kinit: remove redundant sendSIFinish() call
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-05 06:31:14 +02:00
Ivailo Monev
dbb3316ce1
kinit: add exception to unique application/service starting logic
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-05 06:29:40 +02:00
Ivailo Monev
ce33f0e615
kinit: do not attempt to start service if it is started and its X-DBUS-StartupType is set to unique
...
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>
2022-12-05 06:12:51 +02:00
Ivailo Monev
705386b4e9
kinit: check if the process is running while waiting for its service
...
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-05 05:32:37 +02:00
Ivailo Monev
96de7d5684
kinit: send ASN start before starting the program
...
now that ASN update is send from signal it was possible update to be send
before start
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-05 04:07:43 +02:00
Ivailo Monev
7b2a33efec
kinit: include system signal header for kill()
...
fixes build on FreeBSD
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-05 02:50:12 +02:00