Commit graph

66 commits

Author SHA1 Message Date
Ivailo Monev
0e0db0b815 kdeui: move session management to KApplicaiton
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>
2024-05-09 08:29:51 +03:00
Ivailo Monev
302a470d3b kded: drop unused window registration feature
no point in passing around windows to kded4 or its modules, job UI delegate
windows are different thing tho

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-20 15:45:36 +03:00
Ivailo Monev
e482da9067 kded: rework phases logic to take any desktop session into account
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>
2023-08-31 23:01:34 +03:00
Ivailo Monev
c73567cb65 kded: log the error string when module fails to load
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-05 09:50:52 +03:00
Ivailo Monev
3380664558 kded: Kded::updateDirWatch() optimization
KDirWatch already checks if the path is added and appends trailing slash
as neccessary

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-03 13:15:55 +03:00
Ivailo Monev
38e370d475 kdeui: new KApplication::quitOnDisconnected() method, also setup quit signal handler by default
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-23 15:09:48 +02:00
Ivailo Monev
e921df61cf kdecore: implement option to recurse into sub-directories from KDirWatch::addDir()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-21 11:47:56 +02:00
Ivailo Monev
03aba012a0 kdecore: KDirWatch rewrite
I rewrote QFileSystemWatcher some time ago for it to be able to watch
non-existing directories, did rewrite KDirWatch too to not use FAM
and inotify making the created() and deleted() signals non-operational
(with the plan to maybe implement them in QFileSystemWatcher but that
will be hack-ish for directories with stat()-based implementation)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-21 00:24:49 +02:00
Ivailo Monev
86082941ab kded: load service modules in defined order
previously autoloaded modules would be loaded in arbitrary order regardless
of what phase they are ment for from Kded::initModules() but phase two
should be done by ksmserver

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-25 20:51:10 +02:00
Ivailo Monev
bab2e1b6e4 kded: log the kde_running variable value
if it is false then modules that are not ment for full session are not
automatically loaded on init so it shall serve as a hint when debugging

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-25 20:01:24 +02:00
Ivailo Monev
2178afec68 kded: do not send notification to ksplash
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-03 11:36:22 +02:00
Ivailo Monev
68cae26289 kded: look for kdontchangethehostname program via KStandardDirs::findExe()
kdontchangethehostname is not in PATH, it is installed (usually) as
/usr/lib/kde4/kdontchangethehostname and QProcess::execute() will not find
it if the full path is not passed to it

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-03 00:52:58 +03:00
Ivailo Monev
b6671dbbac kded: merge KHostnameD class into Kded class
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-03 00:47:25 +03:00
Ivailo Monev
0200224ba3 kded: attach the hostname watcher to the Kded object
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-06-13 19:11:17 +03:00
Ivailo Monev
dd7bbd86aa kdecore: use kcheckrunning to check if it is full session in KToolInvocation::invokeBrowser()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-06-01 01:39:49 +03:00
Ivailo Monev
d6d9273029 kded: replace Kded::readDirectory() with its body
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-30 14:02:29 +03:00
Ivailo Monev
4213d1a06e kded: update resource list before directory watch
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-30 13:55:42 +03:00
Ivailo Monev
5968bc3c46 kded: check if timer is active instead of using member as re-creation guard
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-26 13:21:05 +03:00
Ivailo Monev
84afe0c4a9 generic: run kbuildsycoca4 directly when checking database and start kded4 only to monitor resources
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-26 12:20:02 +03:00
Ivailo Monev
8cbb665395 kded: remove now redundant KDE_FULL_SESSION X11 atom check
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-26 09:02:53 +03:00
Ivailo Monev
738b4caea0 kded: disable session manager via SESSION_MANAGER environment variable unset too
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-26 06:36:20 +03:00
Ivailo Monev
7708044f26 kdeui: implement KApplication::quitOnSignal() and use it in kded4
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-26 02:38:06 +03:00
Ivailo Monev
e83a89249c kded: do not pass --incremental to kbuildsycoca4
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-25 09:57:45 +03:00
Ivailo Monev
fd0befa582 kded: check for KDE_FULL_SESSION X11 atom if KDE_FULL_SESSION is not set
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-24 02:05:44 +03:00
Ivailo Monev
6c007d6851 kded: do not set custom signals handler
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-24 01:03:24 +03:00
Ivailo Monev
fcee5ed25f kded: correct condition for initial sycoca database re-creation
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-23 23:58:30 +03:00
Ivailo Monev
d712c60cd1 kded: message filter micro-optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-22 10:54:33 +03:00
Ivailo Monev
abc282545a kded: fallback to kcheckrunning for checking of it is Katana session, disregard session version
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-22 10:30:39 +03:00
Ivailo Monev
393101ed0e kded: use the application instance as parent for the KHostnameD pointer
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-22 06:53:00 +03:00
Ivailo Monev
1391b07bca kded: Q_DBUS_EXPORT is always defined now
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-22 06:46:48 +03:00
Ivailo Monev
e3a0f02909 kded: fix possible crash
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-22 06:38:14 +03:00
Ivailo Monev
7a8cdcc01b kded: do not deep-copy the QString object when iterating over resource directories
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-22 06:29:13 +03:00
Ivailo Monev
71e791e4d8 kded: ensure message filter does not process kded service unregistration messages
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-22 05:45:12 +03:00
Ivailo Monev
f0451272ec kded: parent the Kded object to the application instance
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-22 05:40:13 +03:00
Ivailo Monev
d9281db1f8 kded: refuse to start if service is already registered
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-22 04:34:18 +03:00
Ivailo Monev
7448e0b21d kded: disable session management via KApplication::disableSessionManagement()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-22 02:37:55 +03:00
Ivailo Monev
c8549a09f6 kded: remove now redundant command-line option
same as calling `kbuildsycoca4`

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-22 02:37:31 +03:00
Ivailo Monev
492be17944 kded: setup signals handler immediately after application is constructed
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-22 02:17:59 +03:00
Ivailo Monev
32f2290ec3 kded: initialize all Kded members
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-22 02:17:04 +03:00
Ivailo Monev
07991ac99d kded: do not auto-restart on crash
D-Bus will start the kded4 if the service is required and not running

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-22 01:49:23 +03:00
Ivailo Monev
bf88004569 kded: unregister objects and service from destructor
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-22 01:48:20 +03:00
Ivailo Monev
0d2195c4d8 kded: start on demand as session D-Bus service
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-22 01:40:02 +03:00
Ivailo Monev
a6cee97e0b kded: rework sycoca database recreation
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-11-14 17:47:13 +02:00
Ivailo Monev
92b5103cc7 kded: indent and format
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-07-06 03:30:21 +03:00
Ivailo Monev
63c78ae986 kded: avoid temporary in Kded::updateResourceList()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-01-02 21:30:25 +02:00
Ivailo Monev
c0e06f8215 generic: adjust to Katie changes
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2019-07-04 23:59:42 +00:00
Ivailo Monev
6c67e5adf8 generic: make use of QHostInfo::localHostName()
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2019-06-21 19:56:58 +00:00
Ivailo Monev
aede58befc generic: reimplement KDirWatch
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2019-05-29 12:18:09 +00:00
Ivailo Monev
61333c4671 generic: namespaced Qt4/Katie build fixes
most of the changes were done trought Katie's namefsck script which
convertes forward class declarations to include directives, however
other fixes here and there were needed as well as some questionable
changes to Q_DECLARE_TYPEINFO() macro calls because they most likely
have to do the namespacing themselfs (QT_BEGIN/END_NAMESPACE, and
probably will be in Katie) meaning that some of the changes may be
temporary and reverted later.

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2017-08-04 09:24:39 +00:00
Ivailo Monev
fe63492fc7 kded: fix regression since 8493b8a0
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-04-21 23:56:48 +00:00