Commit graph

2204 commits

Author SHA1 Message Date
Ivailo Monev
517837966e plasma: correct breaks scope in PanelController::maximizePanel()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-11 16:52:28 +02:00
Ivailo Monev
866fdb3dea plasma: remove redundant notification config
support for installing plasmoid over the network was dropped long ago

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-11 16:43:52 +02:00
Ivailo Monev
c920743903 ksmserver: try filename match when checking if the command is the window manager
Exec may or may not be set to full path in the .desktop file for the window
manager, still it is like brute-force guess

note that the default in KSMServer::selectWm() is just kwin (filename) but
programs are (usually) looked for first in PATH (QProcess does that now for
example)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-11 13:00:11 +02:00
Ivailo Monev
1bbca06982 kwin: copyrighting the startupfeedback effect to me
I rewrote the effect two times already, i.e. there is nothing left of the
code

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-11 08:48:25 +02:00
Ivailo Monev
d3a7c7571a kwin: remove unused X-KDE-Ordering property
the effects have no dependencies and can be loaded and unloaded at any,
also none of the effects provide the same functionality (there used to be
such effects before but not anymore)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-11 08:41:29 +02:00
Ivailo Monev
0748256390 kwin: correct cases indendation in Oxygen::Factory::supports()
the oxygen style source and header files format is wonky

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-11 06:23:17 +02:00
Ivailo Monev
f9c0870657 kcontrol: openbox hack
if openbox still fails to launch check the system log, it has not been
maintained for years so I do not expect a crash to get fixed

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-11 04:37:49 +02:00
Ivailo Monev
fe23eb4d95 kcontrol: use QFileInfo instead of QRegExp to get the window manager basename
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-10 15:11:54 +02:00
Ivailo Monev
ed44557733 kcontrol: use KProcess to start the window manager processes
by using KProcess::setShellCommand() the Exec key can contain not only
program but also arguments, ksmserver splits the Exec key already (see
kde-workspace/ksmserver/server.cpp)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-10 14:41:47 +02:00
Ivailo Monev
2ccfe10531 kcontrol: format and indent componentchooser KCM source and header files
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-10 14:26:38 +02:00
Ivailo Monev
f1de78f207 kcontrol: set X-KDE-WindowManagerConfigure to obconf for openbox
it is the official configuration manager

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-10 10:57:49 +02:00
Ivailo Monev
e98a79801d kcontrol: replace timer with counter
don't need to register timer for this, just a bit of math

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-10 10:33:25 +02:00
Ivailo Monev
681aec5d18 ksmserver: log message when the window manager changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-10 10:30:13 +02:00
Ivailo Monev
063a7132e8 kwin: do not insert the kwin_art_clients catalog when loading plugin
the translations from that catalog were for v2.x things (styles,
decorations, etc.)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-10 07:32:04 +02:00
Ivailo Monev
cdae932788 kwin: remove unused KWin::EffectsHandler members
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-10 07:28:55 +02:00
Ivailo Monev
e9fff98398 kcontrol: remove compiz-custom desktop file
references script that is not provided by Katana nor compiz

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-10 07:11:06 +02:00
Ivailo Monev
4ffb216b5f kwin: do not start the kwin_killer_helper program as detached process
simplifies the process checks, the process is terminated from the
KWin::Client destructor anyway

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-10 08:13:04 +02:00
Ivailo Monev
4e74fe086e kwin: minor Client::killProcess() optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-10 07:39:27 +02:00
Ivailo Monev
94bed6baf5 kwin: drop support for effect plugins, fix crash
completing what I started when I made the effects builtin, the
configuration modules for the effects are (and will probably remain)
plugins tho

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-10 05:01:15 +02:00
Ivailo Monev
0b6cf10b59 startkde: do not wait for drkonqi when shutting down
ksmserver logs backtraces on crash now, the rest are on their own

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-09 12:56:02 +02:00
Ivailo Monev
264cb151f9 ksmserver: log backtrace in case of crash
if it crashes a startup error will be shown via `xmessage`, there will
be not window manager (most likely) at that point and many things will
not work as expected.

ksmserver cannot be restarted for example, drkonqi is not option either
because attempting to report a bug will open a browser but the backtrace
cannot be copied (the browser window will be on top of any other window
if it launches with no way to switch to the drkonqi window), etc.

in other words - the best thing that can be done is log the backtrace to
the system log (the ksmserver debug area has to be configured for that)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-09 12:30:31 +02:00
Ivailo Monev
ec6d40c9ba kwin: disable auto-restart when the selection is claimed
one if the things that were not be done by the previous crash handler

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-09 09:51:26 +02:00
Ivailo Monev
57034bbac3 kcontrol: set X-KDE-WindowManagerConfigure to xfwm4-settings for xfwm4
it has two more programs for that tho - xfwm4-tweaks-settings and
xfwm4-workspace-settings

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-09 10:51:46 +02:00
Ivailo Monev
dea51842b8 kcontrol: disable the window manager choose while the timer dialog is active
clicking on any of its widgets before the dialog is closed can mess up the
configuration because the widgets are still connected to signals and slots

side note: if the overview button is clicked (i.e. the componentchoooser
KCM is closed) while the timer dialog is active is can happen regardless

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-09 10:45:47 +02:00
Ivailo Monev
2168e10dbc kcontrol: essentially window manager chooser rewrite
two things were not done properly before:
 - current window manager was not replaced if the window manager that
   would replace does not have --replace command (or alternative)
 - waiting for the window manager to become active

now that that is done, any window manager can be started right away and
more .desktop files may be added in the future

also, something that occurred to me while writing the code for it - KWin
replaces the window manager on the current screen only and it is
possible to code the window manager chooser to start the replacing window
manager on any screen (assuming it has --screen argument or something
like that)
2022-12-09 10:21:27 +02:00
Ivailo Monev
2b0f76ed00 kgreeter: turn the test button into kill button while the process is running
the tooltip should say it all - if the lightdm process does not stop I've
coded big red button for you

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-09 09:24:29 +02:00
Ivailo Monev
9ecf22314d plasma: check if the unclutter/cascade actions are operational before adding them
adding actions that do nothing (e.g. when the window manager is not KWin)
to menu is not a smart thing to do, one would expect those actions to do
something

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-09 06:36:59 +02:00
Ivailo Monev
d405007ad3 libs: implement method for checking if KWindowListMenu window placement slots are operational
to be used in the next commit

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-09 06:34:23 +02:00
Ivailo Monev
ec7db89409 libs: remove redundant explicit KWindowListMenu destructor
doesn't even have to be virtual because KWindowListMenu has no
virtual methods

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-09 06:23:43 +02:00
Ivailo Monev
c0e8920ee9 libs: remove unused and private KWindowListMenu member
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-09 06:21:01 +02:00
Ivailo Monev
9e3d5fd979 kwin: remove irrelevant TODO
there is C++11 now but what is it needed for?

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-09 06:11:26 +02:00
Ivailo Monev
4e7c4da52c plasma: remove reference to non-existing sectionsRepeater
that line was there even before the fork

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-08 11:29:56 +02:00
Ivailo Monev
ef45c755f6 kdepasswd: set the accountservice email
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-08 10:50:18 +02:00
Ivailo Monev
4d67caea11 kdepasswd: de-duplicate code
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-08 10:44:20 +02:00
Ivailo Monev
eba0c48859 generic: adjust to KToolInvocation changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-08 06:36:46 +02:00
Ivailo Monev
5d2fc37272 ksmserver: prepare for klauncher changes
doubles as performance optimization by reusing the already created
interface (klauncherSignals member)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-08 05:49:36 +02:00
Ivailo Monev
24e21ea89d kcontrol: remove redundant KToolInvocation::klauncher()->reparseConfiguration() call
the terminal application config option does not affect klauncher

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-08 04:00:43 +02:00
Ivailo Monev
ef3f6007f5 Merge branch 'master' of https://scm.osdn.net/gitroot/kde/kde-workspace 2022-12-08 03:51:15 +02:00
Ivailo Monev
b05ebfe992 kdontchangethehostname: block while calling setLaunchEnv()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-08 03:51:06 +02:00
Ivailo Monev
37f2410331 ksmserver: explicitly compare the qstrcmp() return value with 0
still, strcmp() is not very reliable. see my test case:
https://github.com/fluxer/strcmp

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-08 01:55:29 +02:00
Ivailo Monev
9d3e4be98a ksmserver: explicitly compare the qstrcmp() return value with 0
still, strcmp() is not very reliable. see my test case:
https://github.com/fluxer/strcmp

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-07 10:35:52 +02:00
Ivailo Monev
dd35263d37 ksmserver: set the default debug area
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-07 10:21:07 +02:00
Ivailo Monev
e9335d77fc ksmserver: setup quit signals via KApplication::quitOnSignal()
note that for SIGHUP sighandler() was calling signal()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-07 08:46:37 +02:00
Ivailo Monev
36ec6aac95 kwin: replace custom crash handler with the auto-restart feature of KCrash
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-07 02:58:39 +02:00
Ivailo Monev
5e6ea65ed8 libs: typo
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-07 01:57:39 +02:00
Ivailo Monev
b1362e5fb0 generic: compiler warnings fix
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-07 00:36:01 +02:00
Ivailo Monev
2315772e5a generic: MOC warnings fix
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-06 23:59:08 +02:00
Ivailo Monev
379e150f0d plasma: remove unused private Kickoff::LeaveModel member
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-06 23:30:01 +02:00
Ivailo Monev
413b442118 kgreeter: check the lightdm process exit code
it may start but finish with exit code 1 regardless (and not even show the
greeter)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-07 00:00:24 +02:00
Ivailo Monev
34b6e2389d kgreeter: set Exec to the full path to lightdm-kgreeter-greeter executable
fixes greeter start in some cases (such as when PATH does not include
/usr/sbin by default even if the current user is root, e.g. on Arch Linux)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-06 10:47:23 +02:00