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>
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>
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>
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>
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>
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>
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>
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)
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>
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>
doubles as performance optimization by reusing the already created
interface (klauncherSignals member)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
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>