My KWIN fork where I work on features like per-output virtual desktops
Find a file
Vlad Zahorodnii 1fb9f6f13a Switch to SPDX license markers
The main advantage of SPDX license identifiers over the traditional
license headers is that it's more difficult to overlook inappropriate
licenses for kwin, for example GPL 3. We also don't have to copy a
lot of boilerplate text.

In order to create this change, I ran licensedigger -r -c from the
toplevel source directory.
2020-08-07 19:57:56 +00:00
3rdparty Synchronize xcursor.c 2020-07-27 15:00:13 +00:00
autotests Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
cmake/modules Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
colorcorrection Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
data Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
decorations Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
doc Change CommandAllKey to Meta 2020-05-22 22:39:08 -04:00
effects Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
helpers Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
kcmkwin Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
kconf_update [kwinrules] Add kconf_update script to fix placement rule 2020-05-27 18:13:00 +00:00
libinput Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
libkwineffects Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
LICENSES Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
platformsupport Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
plugins Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
qml Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
screencast Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
scripting Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
scripts Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
tabbox Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
tests Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
xwl Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
abstract_client.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
abstract_client.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
abstract_opengl_context_attribute_builder.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
abstract_opengl_context_attribute_builder.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
abstract_output.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
abstract_output.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
abstract_wayland_output.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
abstract_wayland_output.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
activation.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
activities.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
activities.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
appmenu.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
appmenu.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
atoms.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
atoms.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
client_machine.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
client_machine.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
CMakeLists.txt Lower message severity for KWIN_XWL 2020-08-05 08:48:00 +00:00
composite.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
composite.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
config-kwin.h.cmake Only define PipeWire_FOUND if it's found 2020-07-24 02:06:45 +02:00
cursor.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
cursor.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
dbusinterface.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
dbusinterface.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
debug_console.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
debug_console.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
debug_console.ui fixuifiles 2018-09-18 07:52:44 +02:00
deleted.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
deleted.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
dmabuftexture.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
dmabuftexture.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
effectloader.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
effectloader.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
effects.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
effects.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
egl_context_attribute_builder.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
egl_context_attribute_builder.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
events.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
fixqopengl.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
focuschain.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
focuschain.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
geometrytip.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
geometrytip.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
gestures.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
gestures.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
globalshortcuts.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
globalshortcuts.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
group.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
group.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
HACKING.md Introduce coding-conventions.md 2020-02-03 12:45:47 +02:00
idle_inhibition.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
idle_inhibition.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
input.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
input.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
input_event.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
input_event.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
input_event_spy.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
input_event_spy.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
internal_client.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
internal_client.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
keyboard_input.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
keyboard_input.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
keyboard_layout.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
keyboard_layout.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
keyboard_layout_switching.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
keyboard_layout_switching.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
keyboard_repeat.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
keyboard_repeat.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
killwindow.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
killwindow.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
kwin.kcfg Change CommandAllKey to Meta 2020-05-22 22:39:08 -04:00
kwin.notifyrc SVN_SILENT made messages (.desktop file) - always resolve ours 2020-07-23 06:10:20 +02:00
kwinbindings.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
KWinDBusInterfaceConfig.cmake.in Add path to kwin_wayland binary to KWin's installed CMakeConfig 2015-11-19 09:28:16 +01:00
layers.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
linux_dmabuf.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
linux_dmabuf.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
logind.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
logind.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
logo.png GIT_SILENT: add KWin icon as repository logo 2020-05-20 12:47:52 +00:00
main.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
main.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
main_wayland.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
main_wayland.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
main_x11.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
main_x11.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
Mainpage.dox
Messages.sh Extract messages from cpp files in colorcorrection/ 2020-01-12 21:24:17 +02:00
modifier_only_shortcuts.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
modifier_only_shortcuts.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
moving_client_x11_filter.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
moving_client_x11_filter.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
netinfo.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
netinfo.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
onscreennotification.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
onscreennotification.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
options.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
options.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
org.kde.kappmenu.xml Restore global menu support 2017-01-11 10:21:03 +01:00
org.kde.kwin.ColorCorrect.xml [nightcolor] Expose transition timings to d-bus 2020-01-15 21:15:26 +02:00
org.kde.kwin.Compositing.xml [kcmkwin/compositing] Hide config options which don't make sense if Compositing is required 2016-09-13 15:47:42 +02:00
org.kde.kwin.Effects.xml [kwin] Add a new EffectLoader 2014-03-28 14:04:55 +01:00
org.kde.KWin.Session.xml Remove QSessionManager usage 2020-04-06 11:51:47 +02:00
org.kde.KWin.VirtualDesktopManager.xml [wayland] Use the new plasma virtual desktop protocol 2018-11-01 16:35:29 +01:00
org.kde.KWin.xml Add a dbus method getWindowInfo returning same data as queryWindowInfo 2018-12-17 18:12:17 +01:00
osd.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
osd.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
outline.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
outline.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
outputscreens.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
outputscreens.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
overlaywindow.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
overlaywindow.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
placement.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
placement.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
plasma-kwin_wayland.service.in Install service files for kwin 2020-07-30 15:02:08 +01:00
plasma-kwin_x11.service.in Install service files for kwin 2020-07-30 15:02:08 +01:00
platform.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
platform.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
pointer_input.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
pointer_input.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
popup_input_filter.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
popup_input_filter.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
README.md Capstone commit to prevent force push reversed commits returning accidentally. 2020-06-03 09:54:00 +00:00
rootinfo_filter.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
rootinfo_filter.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
rulebooksettings.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
rulebooksettings.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
rulebooksettingsbase.kcfg Port kwinrules kcm to kconfigxt 2020-03-16 13:21:43 +01:00
rulebooksettingsbase.kcfgc Port kwinrules kcm to kconfigxt 2020-03-16 13:21:43 +01:00
rules.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
rules.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
rulesettings.kcfg Fix minor typo: inital -> initial 2020-03-17 09:41:12 +02:00
rulesettings.kcfgc Port kwinrules kcm to kconfigxt 2020-03-16 13:21:43 +01:00
scene.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
scene.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
screenedge.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
screenedge.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
screenlockerwatcher.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
screenlockerwatcher.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
screens.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
screens.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
service_utils.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
service_utils.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
settings.kcfgc
shadow.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
shadow.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
shortcutdialog.ui [kwin] Use ui-file for ShortcutDialog 2014-02-27 10:18:37 +01:00
sm.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
sm.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
subsurfacemonitor.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
subsurfacemonitor.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
syncalarmx11filter.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
syncalarmx11filter.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
tablet_input.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
tablet_input.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
tabletmodemanager.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
tabletmodemanager.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
TESTING.md [platform/virtual] Drop support for vgem and rendernode 2019-01-12 07:37:25 +01:00
thumbnailitem.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
thumbnailitem.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
toplevel.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
toplevel.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
touch_hide_cursor_spy.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
touch_hide_cursor_spy.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
touch_input.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
touch_input.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
udev.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
udev.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
unmanaged.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
unmanaged.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
useractions.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
useractions.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
utils.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
utils.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
virtual_terminal.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
virtual_terminal.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
virtualdesktops.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
virtualdesktops.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
virtualdesktopsdbustypes.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
virtualdesktopsdbustypes.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
virtualkeyboard.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
virtualkeyboard.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
virtualkeyboard_dbus.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
virtualkeyboard_dbus.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
was_user_interaction_x11_filter.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
was_user_interaction_x11_filter.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
wayland_server.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
wayland_server.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
waylandclient.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
waylandclient.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
waylandshellintegration.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
waylandshellintegration.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
waylandxdgshellintegration.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
waylandxdgshellintegration.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
window_property_notify_x11_filter.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
window_property_notify_x11_filter.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
workspace.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
workspace.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
x11client.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
x11client.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
x11eventfilter.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
x11eventfilter.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
xcbutils.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
xcbutils.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
xcursortheme.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
xcursortheme.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
xdgshellclient.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
xdgshellclient.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
xkb.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
xkb.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
xkb_qt_mapping.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
xwaylandclient.cpp Switch to SPDX license markers 2020-08-07 19:57:56 +00:00
xwaylandclient.h Switch to SPDX license markers 2020-08-07 19:57:56 +00:00

KWin

KWin is an easy to use, but flexible, composited Window Manager for Xorg windowing systems (Wayland, X11) on Linux. Its primary usage is in conjunction with a Desktop Shell (e.g. KDE Plasma Desktop). KWin is designed to go out of the way; users should not notice that they use a window manager at all. Nevertheless KWin provides a steep learning curve for advanced features, which are available, if they do not conflict with the primary mission. KWin does not have a dedicated targeted user group, but follows the targeted user group of the Desktop Shell using KWin as it's window manager.

KWin is not...

  • a standalone window manager (c.f. openbox, i3) and does not provide any functionality belonging to a Desktop Shell.
  • a replacement for window managers designed for use with a specific Desktop Shell (e.g. GNOME Shell)
  • a minimalistic window manager
  • designed for use without compositing or for X11 network transparency, though both are possible.

Contacting KWin development team

Support

Application Developer

If you are an application developer having questions regarding windowing systems (either X11 or Wayland) please do not hesitate to contact us. Preferable through our mailing list. Ideally subscribe to the mailing list, so that your mail doesn't get stuck in the moderation queue.

End user

Please contact the support channels of your Linux distribution for user support. The KWin development team does not provide end user support.

Reporting bugs

Please use KDE's bugtracker and report for product KWin.

Developing on KWin

Please refer to hacking documentation for how to build and start KWin. Further information about KWin's test suite can be found in TESTING.md.

Guidelines for new features

A new Feature can only be added to KWin if:

  • it does not violate the primary missions as stated at the start of this document
  • it does not introduce instabilities
  • it is maintained, that is bugs are fixed in a timely manner (second next minor release) if it is not a corner case.
  • it works together with all existing features
  • it supports both single and multi screen (xrandr)
  • it adds a significant advantage
  • it is feature complete, that is supports at least all useful features from competitive implementations
  • it is not a special case for a small user group
  • it does not increase code complexity significantly
  • it does not affect KWin's license (GPLv2+)

All new added features are under probation, that is if any of the non-functional requirements as listed above do not hold true in the next two feature releases, the added feature will be removed again.

The same non functional requirements hold true for any kind of plugins (effects, scripts, etc.). It is suggested to use scripted plugins and distribute them separately.