Commit graph

381 commits

Author SHA1 Message Date
Ivailo Monev
c8926347cd kwin: de-duplcate rules loading/saving bits
for reference:
3d78c01c4b

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-25 11:09:00 +03:00
Ivailo Monev
fbcd357824 kwin: setup icons for the rules KCM buttons
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-25 10:41:52 +03:00
Ivailo Monev
7fef6648ce kwin: restore the "demands attention" of clients from the session config
comes with a hack, for reference:
https://ivailo-monev.atlassian.net/browse/KDE-2

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-25 10:09:00 +03:00
Ivailo Monev
e3ae38991c kwin: write and read "demands attentions" state of clients from/to session config
this is only the part related to the session config, currently the state
is not restored

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-25 09:05:04 +03:00
Ivailo Monev
3cba95c89a generic: adjust to KIntNumInput and KDoubleNumInput changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-21 09:00:16 +03:00
Ivailo Monev
6c4c7aa6b9 kwin: set init_demand_attention instead of calling KWin::Client::demandAttention()
on a side note the demanding attention state is no saved and restored
across sessions

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-19 23:04:59 +03:00
Ivailo Monev
d86d3fb0b8 kwin: delay setting attention demand as much as possible
about as late as it can be. after being minimized, stamp is updated, rules
applied once (applyWindowRules()), twice (updateWindowRules(Rules::All))
and then again (via the demandAttention() call). it does make tasks
require attention now tho

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-19 14:00:40 +03:00
Ivailo Monev
70ab393c4a kwin: remove unused atom
not sure what spec that atom is from anyway, not in the spec at:
https://specifications.freedesktop.org/wm-spec/wm-spec-latest.html

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-19 13:44:08 +03:00
Ivailo Monev
4dbd193381 kwin: check the rules for all demandAttention() calls in KWin::Client::manage()
verified the state is demanding attention when started via kstart program,
KTaskManager::demandsAttention() does not detect it as demanding attention
tho. on a side note there is a TODO for states in KWin::Client::manager()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-19 13:13:12 +03:00
Ivailo Monev
19df562aa2 kwin: delete the plugin config widget from kwindecoration KCM
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-19 13:05:06 +03:00
Ivailo Monev
653752bbe2 kwin: check rules for demanding attention in KWin::Client::manage()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-19 11:17:05 +03:00
Ivailo Monev
b70b1aa272 kwin: remove unused activity rule
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-19 11:08:03 +03:00
Ivailo Monev
3d78c01c4b kwin: load additional rules from .kwinrules files everywhere
these bits are in 3 places now, have to do something about it but more
importantly the .kwinrules files are now loaded and shown by the KCM

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-19 07:38:27 +03:00
Ivailo Monev
8c8246d810 kwin: use the description as ID for rules when none is set
because rules created by the configuration interface do not have an ID
and one must be set for duplicates to be filtered correctly, ideally the
whole rule should be checked for equality instead of the ID only (the ID
should not be a thing, it is not used for other purpose really)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-19 05:10:52 +03:00
Ivailo Monev
045749b5d5 kwin: implement demand attention rule
note that this rule is kinda special - if a window is activated the window
will no longer demand attention regardless if set in rule (i.e. it is like
temporary rule but will apply if the initial window state is iconified or
minimized for whatever reason)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-19 04:07:03 +03:00
Ivailo Monev
77adca3615 generic: sync startup timeout related bits
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-17 07:35:09 +03:00
Ivailo Monev
25c25215a4 kwin: kill via SIGKILL just in case XKillClient() does not get the job done
only for clients on the local machine tho

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-17 05:48:52 +03:00
Ivailo Monev
9d5db89a12 kwin: delete the killer process before killing the window
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-17 05:47:39 +03:00
Ivailo Monev
a63ddc9327 kwin: remove unused headers inclusions
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-17 05:34:29 +03:00
Ivailo Monev
572c42865d kwin: correct branch for debug message
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-17 05:34:16 +03:00
Ivailo Monev
50cf4b81fb kwin: comment correction
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-16 01:58:13 +03:00
Ivailo Monev
87c93679b8 kwin: rework client killing to not rely on xon program
because xon is no longer a thing (not in debian repos apparently) killing
remote clients and killing remote clients required it, assuming
XKillClient() knows how to kill remote clients then it will now. if not
then..

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-16 00:50:57 +03:00
Ivailo Monev
94bfe02289 kwin: remove unused logout effect members
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-16 00:00:17 +03:00
Ivailo Monev
0a5808cc21 kwin: break the rules dialog hints text into lines
this can be done automagically tho

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-14 13:13:23 +03:00
Ivailo Monev
c90b03837f kwin: sync default focus stealing level
continue from 3ee6dded37

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-13 09:06:33 +03:00
Ivailo Monev
3ee6dded37 kwin: default to no focus stealing prevention
the only reason I can think of to not give focus to window is when a
okular in presentation mode or gwenview in fullscreen mode is the active
window, i.e. a fullscreen window but that may need additional hint for the
window manager

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-12 14:01:21 +03:00
Ivailo Monev
957da2bb43 generic: adjust to KRun changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-12 03:22:02 +03:00
Ivailo Monev
4b7ecbde0a kwin: call KApplication::saveSession() before saving session
see the warning in the KApplication::saveSession() implementation why that
is done

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-10 06:27:16 +03:00
Ivailo Monev
05df032f1e kwin: format and indent
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-10 04:11:24 +03:00
Ivailo Monev
c5d650418e kwin: store the client active state in the session config
still kwin does not place clients on the correct virtual desktop tho

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-10 01:42:53 +03:00
Ivailo Monev
1512fbcac4 generic: remove session management support leftovers
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-09 08:50:40 +03:00
Ivailo Monev
fb686dc3c1 plasma: implement session manager
comes along with plenty of other changes

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-09 08:33:28 +03:00
Ivailo Monev
3e5dfaa22b ksmserver: drop it and move session initialization to plasma-desktop
everything except the actual session management, second time ksmserver
starts crashing as I work on something for no reason and is time for it
to be done anew as there were quite some unsafe bits in it

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-07 02:33:19 +03:00
Ivailo Monev
29c5495be3 kwin: reparse the configuration file and re-read the action collections settings when reconfiguring effect
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-27 05:21:59 +03:00
Ivailo Monev
77e6ddb138 kwin: prepare for Katie changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-26 23:01:36 +03:00
Ivailo Monev
ad52daae2d kwin: adjust to shortcut changes
tested it and settings are saved and restored but needs more testing

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-26 03:22:54 +03:00
Ivailo Monev
3b8a6bf261 kwin: use meta+tab for presenting all windows
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-25 10:50:34 +03:00
Ivailo Monev
d5f4d2596e kwin: sync presentwindows shortcuts
as it turns out setting a shortcut programatically now matters

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-25 04:18:10 +03:00
Ivailo Monev
62726382e8 generic: adjust to KShortcutsEditor changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-24 21:46:48 +03:00
Ivailo Monev
36bc690df1 generic: adjust to shortcut changes
notice how the use of primary shortcut only disappears

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-24 10:25:20 +03:00
Ivailo Monev
5fa76ea4e7 kwin: prepare for KAction changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-22 02:48:39 +03:00
Ivailo Monev
b636ba6903 kglobalaccel: drop it
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-22 00:18:26 +03:00
Ivailo Monev
df65bab6e9 kwin: use KApplication instead of KSystemEventFilter to catch mouse events in startupfeedback effect
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-21 20:59:42 +03:00
Ivailo Monev
accd8f09c3 generic: drop support for locking
first thing first - that feature was not in the spec and still is not,
people fucked up at some level and now things like gnome-screensaver are
just deprecated, that is the bottom line

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-20 03:20:39 +03:00
Ivailo Monev
740366f940 generic: tweak margins
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-20 00:07:52 +03:00
Ivailo Monev
2b9066142a generic: adjust to Katie changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-19 23:50:19 +03:00
Ivailo Monev
554f6c0b37 kwin: adjust to KSettings::Dispatcher removal
KSettings::Dispatcher was never used to register anything meaning the
KSettings::Dispatcher::reparseConfiguration() call was not doing anything,
it will now tho

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-17 18:19:33 +03:00
Ivailo Monev
1c6fe75f8a generic: prepare for KMessageWidget changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-16 19:57:29 +03:00
Ivailo Monev
9b4ba3ef26 generic: adjust to KMessageWidget changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-16 18:28:21 +03:00
Ivailo Monev
32097dc723 generic: adjust to KMessageWidget changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-16 03:24:54 +03:00