kwin/src
Vlad Zahorodnii 3663e1ec13 Apply "Accepts focus" window rule to WM_TAKE_FOCUS messages as well
Currently the window rule is not 100% effective because the "take focus"
message is not guarded. So depending on the input model of the X11
window, kwin can still activate a window even if it has a window rule
to force no focus.

workspace()->setShouldGetFocus() should be guarded too to help the focus
stealing prevention logic.

Technically though, forcing XSetInputFocus() or WM_TAKE_FOCUS if the
client doesn't advertise supporting them is finiky. But on the other
hand, the window rules are an advanced feature, so its assumed that the
user knows what they do.
2024-01-23 22:11:16 +02:00
..
3rdparty
backends move vao from WorkspaceSceneOpenGL to GlxContext 2024-01-23 19:40:30 +00:00
colors colors/colordevice: make channel factors linear 2024-01-18 21:51:40 +01:00
core core/renderjournal: improve render time heuristics 2024-01-19 20:26:20 +01:00
decorations Remove unneeded includes from headers and cpp files 2024-01-13 11:34:45 +01:00
effect Rename UnmanagedLayer to OverlayLayer 2024-01-18 13:13:55 +00:00
helpers helpers/wayland_wrapper: Bump the buffer size for display_name 2024-01-23 21:55:19 +02:00
kcms SVN_SILENT made messages (.desktop file) - always resolve ours 2024-01-23 01:13:11 +00:00
opengl opengl: Let OpenGL implementation handle if preprocessor directive 2024-01-19 16:57:50 +02:00
platformsupport move more opengl related files to the opengl folder 2024-01-09 19:45:59 +01:00
plugins plugins/fallapart: use InCubic easing 2024-01-23 22:00:14 +02:00
qml Port to Kirigami.Icon 2023-07-31 16:29:49 +00:00
scene move vao from WorkspaceSceneOpenGL to GlxContext 2024-01-23 19:40:30 +00:00
scripting Make sure window thumbnails and Qt Quick resources are destroyed properly 2024-01-16 13:45:52 +01:00
tabbox SVN_SILENT made messages (.desktop file) - always resolve ours 2024-01-23 01:13:11 +00:00
tiles core: Rename Output::fractionalGeometry() 2024-01-11 18:10:04 +00:00
utils move more opengl related files to the opengl folder 2024-01-09 19:45:59 +01:00
wayland wayland: Add missing wp_security_context_manager_v1.destroy implementation 2024-01-23 21:00:15 +02:00
xwayland core: Rename Output::fractionalGeometry() 2024-01-11 18:10:04 +00:00
activation.cpp Drop {client,window}DemandsAttentionChanged 2023-08-23 11:58:08 +00:00
activities.cpp Port away from deprecated KConfigBase::group() api 2023-11-28 10:02:03 +00:00
activities.h Remove unneeded includes from headers and cpp files 2024-01-13 11:34:45 +01:00
appmenu.cpp Add explicit moc includes to sources for moc-covered headers 2023-07-15 08:40:49 +00:00
appmenu.h Remove unneeded includes from headers and cpp files 2024-01-13 11:34:45 +01:00
atoms.cpp
atoms.h
client_machine.cpp libkwineffects/ -> effect/ 2023-11-20 11:32:43 +00:00
client_machine.h
CMakeLists.txt effect: Install xcb.h 2024-01-11 09:10:06 +00:00
compositor.cpp Fix software cursor stucking on old monitor 2024-01-12 14:14:53 +02:00
compositor.h Remove unneeded includes from headers and cpp files 2024-01-13 11:34:45 +01:00
compositor_wayland.cpp scene: Fix software cursor clip region 2024-01-11 18:10:04 +00:00
compositor_wayland.h Remove unneeded includes from headers and cpp files 2024-01-13 11:34:45 +01:00
compositor_x11.cpp Port away from deprecated KConfigBase::group() api 2023-11-28 10:02:03 +00:00
compositor_x11.h Remove unneeded includes from headers and cpp files 2024-01-13 11:34:45 +01:00
config-kwin.h.cmake Allow building KWin without KGlobalAccel 2023-11-27 17:07:28 +01:00
cursor.cpp Port away from deprecated KConfigBase::group() api 2023-11-28 10:02:03 +00:00
cursor.h libkwineffects/ -> effect/ 2023-11-20 11:32:43 +00:00
cursorsource.cpp wayland: Integrate KWaylandServer classes into KWin namespace 2023-09-15 16:31:15 +03:00
cursorsource.h There's no QVector anymore, QList is the QVector in Qt6 2023-10-19 13:43:53 +00:00
dbusinterface.cpp Introduce layer window rule 2024-01-17 23:05:53 +00:00
dbusinterface.h Avoid QtDBus module include in commonly used headers 2023-10-22 13:45:28 +00:00
debug_console.cpp effects.h -> effecthandler.h 2023-11-20 15:47:36 +00:00
debug_console.h There's no QVector anymore, QList is the QVector in Qt6 2023-10-19 13:43:53 +00:00
debug_console.ui
dpmsinputeventfilter.cpp Port away from deprecated KConfigBase::group() api 2023-11-28 10:02:03 +00:00
dpmsinputeventfilter.h There's no QVector anymore, QList is the QVector in Qt6 2023-10-19 13:43:53 +00:00
events.cpp x11: Fix MouseButtonPress events sent to decoration 2023-12-05 22:04:10 +00:00
focuschain.cpp Add explicit moc includes to sources for moc-covered headers 2023-07-15 08:40:49 +00:00
focuschain.h libkwineffects/ -> effect/ 2023-11-20 11:32:43 +00:00
ftrace.cpp Add explicit moc includes to sources for moc-covered headers 2023-07-15 08:40:49 +00:00
ftrace.h libkwineffects/ -> effect/ 2023-11-20 11:32:43 +00:00
gestures.cpp Add explicit moc includes to sources for moc-covered headers 2023-07-15 08:40:49 +00:00
gestures.h libkwineffects/ -> effect/ 2023-11-20 11:32:43 +00:00
globalshortcuts.cpp libkwineffects/ -> effect/ 2023-11-20 11:32:43 +00:00
globalshortcuts.h libkwineffects/ -> effect/ 2023-11-20 11:32:43 +00:00
group.cpp effects.h -> effecthandler.h 2023-11-20 15:47:36 +00:00
group.h Merge EffectWindowImpl with EffectWindow 2023-11-13 11:24:04 +00:00
hide_cursor_spy.cpp
hide_cursor_spy.h
idle_inhibition.cpp wayland: Integrate KWaylandServer classes into KWin namespace 2023-09-15 16:31:15 +03:00
idle_inhibition.h There's no QVector anymore, QList is the QVector in Qt6 2023-10-19 13:43:53 +00:00
idledetector.cpp Add explicit moc includes to sources for moc-covered headers 2023-07-15 08:40:49 +00:00
idledetector.h
input.cpp input: remove the terminate server shortcut 2024-01-11 23:21:22 +00:00
input.h input: remove the terminate server shortcut 2024-01-11 23:21:22 +00:00
input_event.cpp Handle null input devices in WheelEvent 2023-09-29 12:05:16 +00:00
input_event.h Implement bounce keys on Wayland 2023-11-23 13:07:35 +00:00
input_event_spy.cpp
input_event_spy.h
inputmethod.cpp Port away from deprecated KConfigBase::group() api 2023-11-28 10:02:03 +00:00
inputmethod.h libkwineffects/ -> effect/ 2023-11-20 11:32:43 +00:00
inputpanelv1integration.cpp wayland: Integrate KWaylandServer classes into KWin namespace 2023-09-15 16:31:15 +03:00
inputpanelv1integration.h wayland: Integrate KWaylandServer classes into KWin namespace 2023-09-15 16:31:15 +03:00
inputpanelv1window.cpp Drop window type rule 2024-01-17 23:05:53 +00:00
inputpanelv1window.h Drop window type rule 2024-01-17 23:05:53 +00:00
internalwindow.cpp Drop window type rule 2024-01-17 23:05:53 +00:00
internalwindow.h Drop window type rule 2024-01-17 23:05:53 +00:00
keyboard_input.cpp wayland: Integrate KWaylandServer classes into KWin namespace 2023-09-15 16:31:15 +03:00
keyboard_input.h
keyboard_layout.cpp Port away from deprecated KConfigBase::group() api 2023-11-28 10:02:03 +00:00
keyboard_layout.h There's no QVector anymore, QList is the QVector in Qt6 2023-10-19 13:43:53 +00:00
keyboard_layout_switching.cpp Add explicit moc includes to sources for moc-covered headers 2023-07-15 08:40:49 +00:00
keyboard_layout_switching.h
keyboard_repeat.cpp wayland: Drop "_interface" from filenames 2023-09-15 13:13:43 +00:00
keyboard_repeat.h
killprompt.cpp Support kill prompt for XdgTopLevelWindows 2023-11-27 14:10:15 +00:00
killprompt.h Support kill prompt for XdgTopLevelWindows 2023-11-27 14:10:15 +00:00
killwindow.cpp
killwindow.h
kscreenintegration.cpp core: Rename OutputTransform enums 2024-01-09 17:42:09 +00:00
kscreenintegration.h There's no QVector anymore, QList is the QVector in Qt6 2023-10-19 13:43:53 +00:00
kwin.kcfg screenedge: reduce default activation delay 2024-01-17 14:52:05 +00:00
kwin.notifyrc SVN_SILENT made messages (.desktop file) - always resolve ours 2023-12-24 02:31:40 +00:00
KWinConfig.cmake.in Add missing find_dependency for epoxy 2024-01-15 18:02:44 +00:00
layers.cpp Add more closed window checks 2023-11-29 13:56:07 +00:00
layershellv1integration.cpp wayland: Integrate KWaylandServer classes into KWin namespace 2023-09-15 16:31:15 +03:00
layershellv1integration.h wayland: Integrate KWaylandServer classes into KWin namespace 2023-09-15 16:31:15 +03:00
layershellv1window.cpp Rename UnmanagedLayer to OverlayLayer 2024-01-18 13:13:55 +00:00
layershellv1window.h Drop window type rule 2024-01-17 23:05:53 +00:00
lidswitchtracker.cpp Add explicit moc includes to sources for moc-covered headers 2023-07-15 08:40:49 +00:00
lidswitchtracker.h
main.cpp opengl: Replace TextureTransform with OutputTransform 2024-01-09 17:42:09 +00:00
main.h libkwineffects/ -> effect/ 2023-11-20 11:32:43 +00:00
main_wayland.cpp Decrease log level of reporting choosing backend 2023-12-19 08:43:36 +00:00
main_wayland.h There's no QVector anymore, QList is the QVector in Qt6 2023-10-19 13:43:53 +00:00
main_x11.cpp effects.h -> effecthandler.h 2023-11-20 15:47:36 +00:00
main_x11.h delete platform cursor before Application 2023-07-24 14:52:38 +00:00
Messages.sh
modifier_only_shortcuts.cpp Add explicit moc includes to sources for moc-covered headers 2023-07-15 08:40:49 +00:00
modifier_only_shortcuts.h
mousebuttons.cpp
mousebuttons.h
moving_client_x11_filter.cpp tiling: update ui on shift press/release 2023-11-13 12:31:17 +00:00
moving_client_x11_filter.h
netinfo.cpp Remove boolean trap in Window::setFullScreen() 2023-08-24 07:29:02 +00:00
netinfo.h port most uses of the reset(new ...) pattern to std::make_unique 2023-08-11 15:58:15 +02:00
onscreennotification.cpp port most uses of the reset(new ...) pattern to std::make_unique 2023-08-11 15:58:15 +02:00
onscreennotification.h
options.cpp Port away from deprecated KConfigBase::group() api 2023-11-28 10:02:03 +00:00
options.h Remove latency policy and render time estimator settings 2023-11-08 13:29:29 +00:00
org.freedesktop.DBus.Properties.xml
org.kde.kappmenu.xml
org.kde.kwin.Compositing.xml Drop compositing suspension dbus api 2023-09-20 12:15:08 +00:00
org.kde.kwin.Effects.xml
org.kde.KWin.Plugins.xml
org.kde.KWin.Session.xml Expose a method to allow closing windows on shutdown. 2023-11-20 14:56:17 +00:00
org.kde.KWin.VirtualDesktopManager.xml
org.kde.KWin.xml
osd.cpp
osd.h
outline.cpp composite.h -> compositor.h 2023-09-08 09:48:59 +03:00
outline.h libkwineffects/ -> effect/ 2023-11-20 11:32:43 +00:00
outputconfigurationstore.cpp outputconfigurationstore: add a fallback for when edid parsing fails 2024-01-23 19:34:06 +00:00
outputconfigurationstore.h outputconfigurationstore: add a fallback for when edid parsing fails 2024-01-23 19:34:06 +00:00
placeholderinputeventfilter.cpp
placeholderinputeventfilter.h
placeholderoutput.cpp Add explicit moc includes to sources for moc-covered headers 2023-07-15 08:40:49 +00:00
placeholderoutput.h
placement.cpp Avoid accidental mixing of qreal and int 2023-12-04 08:59:58 -08:00
placement.h
placementtracker.cpp Add explicit moc includes to sources for moc-covered headers 2023-07-15 08:40:49 +00:00
placementtracker.h There's no QVector anymore, QList is the QVector in Qt6 2023-10-19 13:43:53 +00:00
plugin.cpp Add explicit moc includes to sources for moc-covered headers 2023-07-15 08:40:49 +00:00
plugin.h
pluginmanager.cpp Avoid QtDBus module include in commonly used headers 2023-10-22 13:45:28 +00:00
pluginmanager.h libkwineffects/ -> effect/ 2023-11-20 11:32:43 +00:00
pointer_input.cpp effects.h -> effecthandler.h 2023-11-20 15:47:36 +00:00
pointer_input.h pointer_input: position cursor on the primary output after a placeholder 2023-11-13 11:34:09 +00:00
popup_input_filter.cpp wayland: Drop "_interface" from filenames 2023-09-15 13:13:43 +00:00
popup_input_filter.h There's no QVector anymore, QList is the QVector in Qt6 2023-10-19 13:43:53 +00:00
resources.qrc plugins/invert: support color management 2023-12-11 22:46:27 +01:00
rootinfo_filter.cpp There's no QVector anymore, QList is the QVector in Qt6 2023-10-19 13:43:53 +00:00
rootinfo_filter.h
rulebooksettings.cpp There's no QVector anymore, QList is the QVector in Qt6 2023-10-19 13:43:53 +00:00
rulebooksettings.h There's no QVector anymore, QList is the QVector in Qt6 2023-10-19 13:43:53 +00:00
rulebooksettingsbase.kcfg
rulebooksettingsbase.kcfgc
rules.cpp Drop window type rule 2024-01-17 23:05:53 +00:00
rules.h Drop window type rule 2024-01-17 23:05:53 +00:00
rulesettings.kcfg Rename UnmanagedLayer to OverlayLayer 2024-01-18 13:13:55 +00:00
rulesettings.kcfgc
screenedge.cpp screenedge: reduce default activation delay 2024-01-17 14:52:05 +00:00
screenedge.h libkwineffects/ -> effect/ 2023-11-20 11:32:43 +00:00
screenlockerwatcher.cpp Add explicit moc includes to sources for moc-covered headers 2023-07-15 08:40:49 +00:00
screenlockerwatcher.h libkwineffects/ -> effect/ 2023-11-20 11:32:43 +00:00
settings.kcfgc
shadow.cpp There's no QVector anymore, QList is the QVector in Qt6 2023-10-19 13:43:53 +00:00
shadow.h Drop some unused kwineffects.h includes 2023-11-15 14:41:42 +02:00
shortcutdialog.ui
sm.cpp Port away from deprecated KConfigBase::group() api 2023-11-28 10:02:03 +00:00
sm.h Expose a method to allow closing windows on shutdown. 2023-11-20 14:56:17 +00:00
syncalarmx11filter.cpp There's no QVector anymore, QList is the QVector in Qt6 2023-10-19 13:43:53 +00:00
syncalarmx11filter.h
tablet_input.cpp wayland: Drop "_interface" from filenames 2023-09-15 13:13:43 +00:00
tablet_input.h
tabletmodemanager.cpp Port away from deprecated KConfigBase::group() api 2023-11-28 10:02:03 +00:00
tabletmodemanager.h libkwineffects/ -> effect/ 2023-11-20 11:32:43 +00:00
touch_input.cpp wayland: Integrate KWaylandServer classes into KWin namespace 2023-09-15 16:31:15 +03:00
touch_input.h Remove unused fields 2023-07-18 11:15:50 +00:00
useractions.cpp Fix cleanup of forced window shortcuts 2024-01-15 14:24:59 +00:00
useractions.h libkwineffects/ -> effect/ 2023-11-20 11:32:43 +00:00
virtualdesktops.cpp Rename VirtualDesktopManager::desktopCreated signal 2023-10-26 07:21:49 +00:00
virtualdesktops.h libkwineffects/ -> effect/ 2023-11-20 11:32:43 +00:00
virtualdesktopsdbustypes.cpp
virtualdesktopsdbustypes.h Avoid QtDBus module include in commonly used headers 2023-10-22 13:45:28 +00:00
virtualkeyboard_dbus.cpp Add explicit moc includes to sources for moc-covered headers 2023-07-15 08:40:49 +00:00
virtualkeyboard_dbus.h
was_user_interaction_x11_filter.cpp There's no QVector anymore, QList is the QVector in Qt6 2023-10-19 13:43:53 +00:00
was_user_interaction_x11_filter.h
wayland_server.cpp wayland: Install display.h 2024-01-08 23:06:43 +00:00
wayland_server.h xdgforeign: Allow exporting surfaces internally 2023-11-27 14:10:15 +00:00
waylandshellintegration.cpp Add explicit moc includes to sources for moc-covered headers 2023-07-15 08:40:49 +00:00
waylandshellintegration.h
waylandwindow.cpp Add Window::captionNormalChanged() 2024-01-11 14:17:31 +00:00
waylandwindow.h wayland: Integrate KWaylandServer classes into KWin namespace 2023-09-15 16:31:15 +03:00
window.cpp Rename UnmanagedLayer to OverlayLayer 2024-01-18 13:13:55 +00:00
window.h Drop window type rule 2024-01-17 23:05:53 +00:00
window_property_notify_x11_filter.cpp effects.h -> effecthandler.h 2023-11-20 15:47:36 +00:00
window_property_notify_x11_filter.h Merge EffectsHandlerImpl and EffectsHandler 2023-11-15 15:21:50 +02:00
workspace.cpp Fix lingering dpms input event filter after cancelling scheduled dpms mode change 2024-01-23 22:05:25 +02:00
workspace.h Break show desktop mode if a new window is added 2024-01-15 15:41:57 +00:00
x11eventfilter.cpp There's no QVector anymore, QList is the QVector in Qt6 2023-10-19 13:43:53 +00:00
x11eventfilter.h There's no QVector anymore, QList is the QVector in Qt6 2023-10-19 13:43:53 +00:00
x11syncmanager.cpp libkwineffects: move files out to more fitting places 2023-11-14 17:03:40 +01:00
x11syncmanager.h libkwineffects: move files out to more fitting places 2023-11-14 17:03:40 +01:00
x11window.cpp Apply "Accepts focus" window rule to WM_TAKE_FOCUS messages as well 2024-01-23 22:11:16 +02:00
x11window.h Drop window type rule 2024-01-17 23:05:53 +00:00
xdgactivationv1.cpp wayland: Install display.h 2024-01-08 23:06:43 +00:00
xdgactivationv1.h wayland: Integrate KWaylandServer classes into KWin namespace 2023-09-15 16:31:15 +03:00
xdgshellintegration.cpp xdgshell: Use killPingTimeout option 2023-11-27 14:10:15 +00:00
xdgshellintegration.h xdgshell: Use killPingTimeout option 2023-11-27 14:10:15 +00:00
xdgshellwindow.cpp Accepting the tablet serial for the xdg_toplevel move/resize function 2024-01-19 20:06:49 +00:00
xdgshellwindow.h Drop window type rule 2024-01-17 23:05:53 +00:00
xkb.cpp Port away from deprecated KConfigBase::group() api 2023-11-28 10:02:03 +00:00
xkb.h Implement locking sticky keys on Wayland 2023-11-23 08:17:00 +00:00