Skip to content

Latest commit

 

History

History
4558 lines (4360 loc) · 588 KB

CHANGELOG.md

File metadata and controls

4558 lines (4360 loc) · 588 KB

Changelog

All notable changes to Theseus' Ship will be documented in this file.

6.2.0 (2024-10-09)

Features

  • add a placeholder for properties filter (1606e86)
  • exclude internal effects (2cb874c)
  • increase the default dialog size (61ccfc4)
  • remove shake cursor keywords (8ea111a)
  • use "grab" and "grabbing" cursor to communicate dnd state (f8724a8)
  • use flat QGroupBoxes and set documentMode on QTabWidgets (604cfd0)

Bug Fixes

  • make list items conform to HIG (8e1ea2c)
  • make the "Add Property" button non-toggleable (006c8ac)

Refactors

6.1.0 (2024-06-19)

Features

  • add keywords for edge/corner barriers to screenedges KCM (e2bc7c1)
  • mark risky KNS content (56b2f1d)
  • move kcm actions to top (26fbe27)
  • provide a way to reserve a screen edge for grid mode (1a07e52)
  • update placeholder text and add icon (9c416cb)

Bug Fixes

  • adapt to COMO screen locker change (dc3906a)
  • bring back decoration spacer buttons (1ec81a9)
  • change 'Include "Show Desktop" icon' to 'Include "Show Desktop" entry' (5999d29)
  • expand button label from "Add" to "Add Desktop" (fa25e81)
  • fix crash when preview cannot be generated (50ee2ab)
  • handle Escape key to exit Export mode (d45c178)
  • move "Add" button and row count to header actions (93b984e)
  • re-add separator line between scrollview and controls (50d98fe)

Refactors

  • port to Kirigami version of ContextualHelpButton (041a1bd)
  • round all the things consistently (b62f9d2)

6.0.0 (2024-02-27)

⚠ BREAKING CHANGES

  • desktopPresenceChanged signal removed
  • script: ScreenEdgeItem renamed to ScreenEdgeHandler
  • script: "Item" suffix removed from WindowThumbnail/DesktopBackground
  • script: ClientModel is renamed to WindowModel
  • script: API uses output objects
  • effect: registerGlobalShortcut now takes a list of key sequences

Features

  • add crashes option only on X11 (e404865)
  • add cursor theme fallback (545daae)
  • add desktop window to client list only if "show desktop mode" enabled (b0897bf)
  • add rules KCM warning for low opacity (54014d6)
  • add separator above the "Close" action in user actions menu (f0fe876)
  • add shortcut to switch to last-used keyboard layout (4066f0f)
  • add support for Lima, V3D, VC4 (2e0f998)
  • add tooltip when rule name is elided (19ed17c)
  • allow screen reader to announce window name when pressing Alt+Tab (fcfe45f)
  • allow tabbox switchers to handle the tabbox hiding (61377bf)
  • always enable gl error message printing (0966338)
  • assign top-left screen corner to overview by default (bf77283)
  • change deco KCM to the new frameless style (5eb1056)
  • change rules opacity defaults to 100% (d993306)
  • change Shift+Backtab to Shift+Tab for tabbox (306f039)
  • default include-shadow to true so this isn't a breaking change (80dbb99)
  • disable cube wallpaper selection to remove KIO dependency (1c29785)
  • drop "Configure Window Manager" entry in user actions menu (71d528c)
  • drop checks for GLSL and NPOT (2ec7305)
  • drop compositing suspension dbus api (05014b3)
  • drop support for private colormaps (8b75aeb)
  • drop support for windows cover panel mode in _KDE_NET_WM_SCREEN_EDGE_SHOW (30ad185)
  • drop tabbox desktop switching mode (f7b6539)
  • effect: add alpha channel option in OffscreenQuickView (2b19fe8)
  • effect: add colorblindness correction (7551cab)
  • effect: add deleted ref helper (0c0f75c)
  • effect: add QuickSceneView.rootItem property (ae68e53)
  • effect: add visible ref helper (f10676d)
  • effect: allow mousemark to configure modifier buttons for drawing (8d17ad5)
  • effect: allow switching between desktops inside overview (f41bcab)
  • effect: animate eyeonscreen towards window's screen's center (68a5169)
  • effect: close overview when double-clicking on a desktop (0bb1fbb)
  • effect: drop deprecated feature flags (0a3a803)
  • effect: drop EffectWindow::desktop() (d71b0ec)
  • effect: drop EffectWindow::geometry (2172f2a)
  • effect: drop EffectWindow::isCurrentTab (ec89c02)
  • effect: drop legacy EffectsHandler::desktopChanged overloads (5dfc921)
  • effect: drop legacy screenshot dbus interface (c871bc2)
  • effect: drop overview "blur background" option (dde5d4b)
  • effect: drop PAINT_DISABLED_BY_TAB_GROUP (e31921f)
  • effect: expose QuickSceneEffect::{viewForScreen,viewAt} to QML (4b7de1e)
  • effect: introduce CaptureWorkspace screenshot (a5c5ba5)
  • effect: make magiclamp look good with hidden panels (5d39eb5)
  • effect: make overview deactivation gesture the inverse of activation (763bfa2)
  • effect: make window shadows optional of screenshots (db404ec)
  • effect: provide API to listen for shortcut changes (287f2c2)
  • effect: provide API to register a shortcut and its default (12a51d9)
  • effect: provide information about captured window or screen (4107b20)
  • effect: provide screenshot scale information (ffddb42)
  • effect: remove effect proxy API (4c9541d)
  • effect: remove hidden FadeWindows option (f7f6ae8)
  • effect: remove padding changed signal (f55f3eb)
  • effect: remove surface property (49d5293)
  • effect: remove unused matrix shader locations (bfd2f01)
  • effect: remove window tabbing leftovers (9b7f511)
  • effect: remove window type getter (7db7f5c)
  • effect: remove X11 property support from public API (d5c96c4)
  • effect: set KGlobalAccel shortcut with call to register (1d89690)
  • expose daylight property in DBus interface (fbb1c82)
  • hide "active mouse screen" option (7a96324)
  • implement Plasma 6 settings re-org (771792f)
  • implement some more VDG feedback for Thumbnail Grid (7d5c1cb)
  • improve text for window rules with descriptions (6cbd868)
  • input: do not ignore duplicated shortcuts (8b7742b)
  • input: introduce platform mod struct (074eb46)
  • input: support pointer hold gestures (c5dc174)
  • input: unify touchpad gesture API (51f7682)
  • intercept X11 keyboard input (63abace)
  • introduce space mod struct (7da556c)
  • make "Thumbnail Grid" the default Task Switcher and make it live here (b2844ce)
  • make overview window Filtering Optional (83f0fb8)
  • make scripting optional at compile time (0efa839)
  • make Thumbnail Grid active item's text bold (2111755)
  • merge desktop grid and overview together with a new three-state design (fb4e3ee)
  • move deco KCM footer actions to headers (899161b)
  • move motions to slideback effect (64b479d)
  • move screenedges KCM into "Mouse & Touchpad" group (c0948dc)
  • omit setting M_TRIM_THRESHOLD (7b094e3)
  • plugin: implement new virtuals (805a3aa)
  • plugin: show night color day icon if appropriate (619bb28)
  • provide file descriptor utility struct (6b2925f)
  • provide selection owner parent class (91fbe95)
  • qpa: implement platform accessibility (d797ad9)
  • remove compositing status of tabbox switcher item (24c236b)
  • remove property window type getter (eb5ce50)
  • remove support for _KDE_FIRST_IN_WINDOWLIST (47e3d15)
  • remove temporary rules message support (b622bf4)
  • remove X server version from OpenGl platform (96ee6aa)
  • remove X11 startup notification support (53f8aed)
  • rename user facing name 'Night Color' -> 'Night Light' (f8dc6cf)
  • script: add gesture handlers (4fcaa52)
  • script: add isEffectActive to query effect active state (7ebcacb)
  • script: add localized context to the shared QML engine (4c780ac)
  • script: add qml effect bindings (231c632)
  • script: drop clientArea(area, QPoint, VirtualDesktop) overload (2a2dd13)
  • script: drop deprecated API (7daa363)
  • script: drop org.kde.kwin 2.x (fa43b6e)
  • script: drop registerShortcut() function in QML API (df95efc)
  • script: drop shaped property (e8cce9a)
  • script: drop Window.desktop property (e92609f)
  • script: find and interact with windows (118e009)
  • script: introduce separate output objects (52f4b73)
  • script: introduce shortcut handler (e503a77)
  • script: make WindowModel.desktop property return list of desktops (dcbe8ce)
  • script: prefer VirtualDesktop objects (cc8f63b)
  • script: remove clientArea integer-based desktop getters (07a867a)
  • script: remove geometry property (e6f085c)
  • script: remove noop signals (df39c85)
  • script: remove unrelated signals (a8ddfbc)
  • script: remove windowing system specific properties (d13a412)
  • script: remove X11 specific signals (3b3f204)
  • script: remove x11DesktopIds (f9e1a30)
  • script: replace screen with output property (2831540)
  • set application description per binary (443f168)
  • show explanatory text with contextual help button, not tooltip (9e1e05e)
  • show window switcher only when there are two or more windows (2dab682)
  • specify scripted effect kcm using X-KDE-ConfigModule (347c02f)
  • store keyboard layouts independently of session manager (ae4eb1e)
  • support adaptive sync (0c15de3)
  • test output configurations (48e7340)
  • use higher resolution thumbnails for previews (15b11fa)
  • use Meta key for virtual desktop axis shortcuts (cbbd8c7)
  • use Qt 6 (0620bb6)
  • use wlr_output_management_unstable_v1 (7831597)
  • wl: always insert Xwayland DISPLAY value into process environment (e0886e7)
  • wl: create security context manager (dab7204)
  • wl: gain real time in app singleton (875ee08)
  • wl: remove check on other X11 window manager running (cfdd308)
  • wl: set xauthority file (3c3ebca)
  • wl: setup sockets manually for Xwayland connection (ee5bf81)
  • wl: start Xwayland on demand (b3e269f)
  • wl: use security context app id for permission lookup (2ee99f9)
  • x11: add wm selection owner factory (d4ccb1f)
  • x11: add wm selection owner type (ada3e48)
  • x11: provide app singleton child class (a7b9e4a)
  • x11: provide free function to check for crashes (092f2a2)
  • x11: remove alternative wm dialog (e59083b)
  • x11: start base platform from free function (cd13d7e)
  • x11: store crash count in base platform (d3b1714)
  • x11: store wm selection owner in base platform (9831500)

Bug Fixes

  • adapt offscreenquickview to Qt6 changes (8d3ae59)

  • adapt to function name change in Qt 6.7 (d93b1fb)

  • adapt to recent KF include changes (8d9cb2e)

  • adapt to wlroots DRM format type change (130611d)

  • add a runtime guard that offscreen windows do not generate platform windows (902a50d)

  • add missing KCM namespace qualifier (9939074)

  • add mock-up object for KWin.DesktopBackground (b56073d)

  • add QKeySequence to VirtualDesktopManager::addAction overload (04a4802)

  • add special case for instant slide animations (67f23f4)

  • adjust type to check constraint with (afb9817)

  • allow aurorae build with KWIN_BUILD_KCMS=OFF (3ba815e)

  • always reset tabbox ClientModel if a window is added or removed (cb235e0)

  • always set spacing property on Row & Column layouts (238de47)

  • avoid accidental creation of backing stores for offscreen surfaces (18db05c)

  • blacklist Spectacle for all window open/close effects (e857af2)

  • bump severity of QQmlComponent error log messages (723cd3a)

  • clip rules popup's list view (96488a5)

  • connect model signals for theme property (8906a3e)

  • connect to effects to check inpuw window stacking (00e1ba4)

  • copy space reference on window release to ungrab server (0fddafe)

  • correct highlight when hovering the preview (b027eff)

  • correct namespacing to make scripts KCM load again (5726674)

  • correct output placement due to QRect definition (5c31c48)

  • correct typo with Kirigami.Units; remove import versions (6d1fca7)

  • create render after session (96a1713)

  • deco: add Aurorae dummy window for working device pixel ratio (e146f18)

  • disable high dpi scaling (34cdcd0)

  • disable quitLock (1331831)

  • don't crash if vertex buffer mapping fails (ce2daea)

  • don't manually undo pending shortcut changes (31f527f)

  • don't move internal window on a dialog with BypassWindowManagerHint (e100828)

  • effect: add missing QQuickRenderControl::{beginFrame,endFrame} calls (0258bf0)

  • effect: also do things when changing to active in overview (1211b43)

  • effect: blacklist spectacle (5e3484e)

  • effect: do not trigger overview toggle action twice (40b3400)

  • effect: enable GLSL for Mali (Lima) / PinePhone devices (a3ba3f5)

  • effect: ensure blur/contrast is only applied behind the window (9d0c44b)

  • effect: ensure no leaking screenshot fds to child processes (43b2455)

  • effect: fix animation when clicking grouped windows in task manager (cb08071)

  • effect: fix clear button working in overview search (2453332)

  • effect: fix clicking windows in window view effect (fb30de4)

  • effect: fix desktopgrid TapHandler.onTapped handler (0a5ee0f)

  • effect: fix MMB and RMB (4a9c6eb)

  • effect: improve magiclamp animation direction heuristic (9e7f403)

  • effect: make magiclamp look good with floating panels (634a666)

  • effect: make OffscreenQuickView opaque (dfed98f)

  • effect: make OpenGL context current before deleting framebuffer (6a97122)

  • effect: make SceneEffect fallback to root context (f2d8ca6)

  • effect: or the x/y-scale combination (b3676ab)

  • effect: paint complete windows on slide (93a482e)

  • effect: prevent OffscreenQuickView crashing on teardown (6f93fd8)

  • effect: rename property to select hidden windows using keyboard (c70db56)

  • effect: set format on the main OffscreenQuickView (258ec5a)

  • effect: take into account window opacity (0f515ed)

  • effect: transform glide in logical pixels (e055260)

  • emit screen edge cleanup signals if needed on teardown (ad60608)

  • enable headless outputs (22720c1)

  • ensure deactivatation of hidden windows (8111096)

  • fall back to "compact", not "informative" in tabbox handler (2821cfe)

  • fix buttons overlap on a too narrow vertical screen (8c25a5c)

  • fix defaults indicator for "remain active" checkbox (028109c)

  • fix import and export dialog (6908073)

  • fix import/export FileDialog type (9b23f23)

  • fix listing of effects (8c97b19)

  • fix OverlaySheet shadow coverage (e798d3c)

  • fix Overview not being displayed (aeac061)

  • fix param injection error (d1d676a)

  • fix parameter injection errors (e7cddf5)

  • fix preview for show desktop option (4069794)

  • fix section header and info button sizing (e6aed3b)

  • fix section header width (f9b4954)

  • fix tabbox preview not getting dismissed (4296e25)

  • handle compiler warnings (1089f18)

  • handle output geometry changed (4945484)

  • handle xdg activation token as QString (3c90ffe)

  • hardcode the Overview as an option in the touchscreen KCM (58b2a23)

  • import kcmutils to provide ConfigModule attached property (be1a980)

  • improve "Ignore Geometry" property UI (f50ca3a)

  • include NET definitions header (9cac614)

  • include Qt headers (0ab9ac6)

  • include QWindow in window_release haeder (0230139)

  • input: check platform on device destroy event (89ddcb4)

  • input: correct button to Qt::MouseButton mapping (93aa8c6)

  • load modifier only shortcuts in base options (f1172d9)

  • log version per binary (849d35d)

  • make rules KCM Comboboxes bordered again (a29b232)

  • mark switch case unreachable (8b776a8)

  • mock-up closeable role for previews (ab93304)

  • move footer actions to the page header (83e6eb4)

  • move footer actions to the page header (ee35fa7)

  • omit filtering child mouse events (1311b4d)

  • plugin: bind values to 1:1 animation while gesture is ongoing (239f82a)

  • port away from deprecated KConfigBase::group() (15295e1)

  • port usage of kcmshell5 to kcmshell6 (56ae6c0)

  • prefer QThreadPool over QtConcurrent where we don't care about result (2935484)

  • properly export tablet mode manager properties (f8bc2ec)

  • qpa: remove screens before adding new ones (e202a2c)

  • redefine static before wlroots drm include (7478795)

  • refine thumbnail_grid icon positioning (1b58f17)

  • relax Kirigami import version (6046a64)

  • remove a binding loop warning (0ffe6bb)

  • remove Plasma FrameSvg include (92cc180)

  • remove unneeded includes (a153038)

  • remove unneeded KAboutData includes (87afece)

  • remove unused variable (f05c4f5)

  • remove unused variable (5a0a914)

  • remove X-KWin-Exclude-Listing metadata flag (093dc0f)

  • rename dragging property to dragActive (4d811c2)

  • rename window to screen shortcuts (caf3780)

  • rename window_type enum to win_type (9af16d0)

  • repaint only on output change (c55288f)

  • replay move window action if window isn't movable (42de794)

  • restore anchors.horizontalCenter (ed198f7)

  • script: always register types (781e684)

  • script: check for output being null (8aaf68e)

  • script: mark QObjects returned from invokables as having C++ ownership (6046739)

  • script: reload SceneEffect configuration when effect is reconfigured (0757ab1)

  • set aurorae layout for config module (00049fa)

  • set correct width expression for ListView delegates (24d01ba)

  • set explicit spacing on layouts (6ec42eb)

  • set fallback refresh rate in ms (a6c295e)

  • set focus policy strings on load, not just on change (3c3d523)

  • set header label to WordWrap instead of eliding into nowhere (c0fe101)

  • set some sensible default (implicit) page size (1840bc1)

  • set text of Delete action correctly (7ad5ff7)

  • set type correctly (0673158)

  • set viewport depending on render target (5564d34)

  • silence compile warnings (c03d835)

  • specify base config file name (357ef17)

  • update layout name in response to user input (d1ffdb3)

  • update X11 output data on changes (174cf59)

  • use correct mask to specify that item accepts all buttons (7fd7e80)

  • use ellipses instead of triple period (6d405f0)

  • use ellipses instead of triple period (fcbf38c)

  • use ellipses instead of triple period (9e5b57f)

  • use PlainText for various Labels (87d3971)

  • use proper ellipsis in user actions menu (855e7c3)

  • wl: do not set QSG_RENDER_LOOP Variable (c083cae)

  • wl: drop DockLayer concept (eb6ac10)

  • x11: own outputs with STL pointers (c47640e)

  • xwl: reset NET atoms on Xwayland shutdown (d98c80e)

  • script: rename ClientModel to WindowModel (8743f53)

  • script: rename ScreenEdgeItem to ScreenEdgeHandler (67d55a2)

Refactors

  • access ShadowedLabel from PlasmaExtras (70fa189)
  • adapt to kdecoration changes (6efdefc)
  • adapt to KDecoration init API returning boolean (8cf3bf0)
  • adapt to KPackage API changes for install/uninstall (745b6dd)
  • adapt to KService API change (b8f7640)
  • adapt to KSvg API change (3ca3f83)
  • adapt to KWindowEffectsPrivate API change (2d1eec6)
  • adapt to KWindowSystem API change (dec666b)
  • adapt to KWindowSystem changes (8d57d39)
  • adapt to KWindowSystem changes (60d8870)
  • adapt to wlroots removing presentation clock getter (c98fec8)
  • adapt to Wrapland globals changes (0144bbd)
  • adapt to Wrapland output helper changes (b078622)
  • adapt to Wrapland output metadata API changes (fdd460e)
  • adapt to Wrapland output name change (a982ebe)
  • adapt to Wrapland output state API change (1ff7ff4)
  • add a better helper for uploading vertices (db38152)
  • add all modules to mod struct (8ee6a3a)
  • add context to i18n string (d4578ff)
  • add function helper implementations for Wayland space (8e768dc)
  • add script window lib interface class (5a63f29)
  • add subspaces in unified way (0fd9f78)
  • add Wayland space setup free functions (8f6b642)
  • add window paint data ctor override to provide quads (c69638c)
  • add/remove Wayland windows in free function (308af45)
  • adjust to kdecoration api changes (4fb171a)
  • adjust to KDecoration API changes (32bd56a)
  • adjust to new KCM classes (7d70b95)
  • allow specifying the kcm separately from the decoration (bb64c30)
  • assert on current subspace when updating count (9165290)
  • avoid QtDBus module include (cc0a658)
  • check desktop via container only (d3a5400)
  • check for window paint early (f65050f)
  • check on all desktops only once (33b74d6)
  • cleanup header includes (cae021d)
  • clear generic space independently from x11 clear (e417ebf)
  • compare boolean for on all desktops (64bebb0)
  • composite desktop integration by platform hierarchy (b366a1a)
  • composite wlroots backends (8939569)
  • connect to desktop changed signal in compositor start (60d616b)
  • connect X11-specifics in x11 space init (777aa28)
  • constify EffectScreen in QuickScene effect and view (73f529e)
  • constify render data (d3138c4)
  • continue loop to improve readability (9afafdc)
  • create dpms filter in base (59ac638)
  • create input redirect through platform (a4185d2)
  • create session in base (f55b764)
  • create space members in free function (cd58ec7)
  • create subspace manager singleton on heap in separate function (ce3470a)
  • debug: create model without factory function (c09753f)
  • declare effect window group type in render platforms (616ea1b)
  • deduplicate event proxying code (96ea5ed)
  • define a Wayland-only library (fa53fda)
  • define area option enum in types header (f705604)
  • define electric border enums in types header (1d9e44d)
  • define opengl safe point in render types header (3f86970)
  • define subspace_manager_qobject in separate header (6433e34)
  • define tabbox mode in types header (6324fe7)
  • define X11 number for all desktops in types header (d4bd649)
  • delegate screen edge reservation error handling to user (8a1dda5)
  • detach Xwayland effect integration (a87fc54)
  • draw unbounded or bounded (f321972)
  • drop Application::setupTranslator() (e190aa0)
  • drop deprecated Qt::AA_UseHighDpiPixmaps (1cb831a)
  • drop gallium detection (776487e)
  • drop limited glsl detection (a43e50f)
  • drop unused functions in screenedges kcm (542d37a)
  • drop Window::desktopPresenceChanged() (d7b3d19)
  • effect: add loader in separate function (94cba9c)
  • effect: add SceneView attached property (175e826)
  • effect: adopt TogglableState in desktopgrid (0a6c438)
  • effect: advance window animations in prePaintWindow() (7c612b1)
  • effect: blur per output (8ce2eea)
  • effect: combine blur render targets in struct (8e5715d)
  • effect: compute blur region with early return (2af8e84)
  • effect: constify EffectWindow in motion manager (61a3ddd)
  • effect: define load queue in separate file (ad3ad44)
  • effect: drop EffectsHandler.windowToDesktop (cfbfe6f)
  • effect: drop QObject parent argument in OffscreenQuickView ctor (0ec89cd)
  • effect: drop QtQuick dummy window hack (0d59dbf)
  • effect: drop WindowHeap.windowClicked signal (a7c2350)
  • effect: early return in contrast (64c660b)
  • effect: implement X11 logic in free function (52ffd75)
  • effect: improve blur code (0b01cf5)
  • effect: improve code quality (3672dc9)
  • effect: improve magiclamp code readability (02a0f84)
  • effect: move the TogglableState class into a reusable space (450888e)
  • effect: move window specific signals from handler to window (0200f31)
  • effect: own blur render targets with smart pointer (a85ec41)
  • effect: port effects to SceneView (64204ee)
  • effect: port screenedge to KSvg (17ea363)
  • effect: port screenshot to QPromise (d75b14d)
  • effect: port to win::subspaces (88d9c01)
  • effect: provide present time in prepaint data structs (5e31ed1)
  • effect: remodel effect argument structs (dfa0d6b)
  • effect: remove duplicate import/unneed include (a546c26)
  • effect: remove platform cursor image class (6f9e438)
  • effect: remove postion transformations function from public API (9728450)
  • effect: remove windowGeoemtryShapeChanged signal (1131e71)
  • effect: remove xcb include from public API (ec7b502)
  • effect: replace QHash with unordered map (018053b)
  • effect: replace QtGraphicalEffects with Qt5Compat.GraphicalEffects (902157d)
  • effect: set KWIN_CONFIG in kwinconfig header (3d5f8f6)
  • effect: split overview state managing code into a separate class (335d18a)
  • effect: template keyboard intercept filter over Xkb (a226560)
  • effect: use decltype for signals (d378aff)
  • effect: use scripting QML engine (dd7bacc)
  • encapsulate hardware clipping better (ba348e0)
  • expose tabbox shortcuts as a KConfigSkeleton (f1f80d4)
  • find Wayland windows via free function (7fcdd42)
  • fix & modernize QML/JS code style (a86661c)
  • fix reference errors, port to Kirigami (4a1eef1)
  • get icon always with net::win_info (5b1ac0d)
  • get icon geometry in free function (dec5bd8)
  • get layout policy config keys without virtual calls (9edb3d8)
  • get mod keys from input platform (155246f)
  • get nav wraps from subspace manager instead of options (84d3b04)
  • get Qt keyboard mods in key server (2998809)
  • get spatial subspaces by cardinal direction (67b5231)
  • grab X keyboard only on X11 (36a78d5)
  • handle KAboutData in main functions (765d675)
  • handle screen edge activation times with std::chrono (c6ac810)
  • handle tabbox config directly within the configuration form (93dc90a)
  • implement render platform functions in child classes (115b619)
  • implement sync manager in separate file (ebca94a)
  • implement X11 effects specifics in subclasses (c214b4a)
  • implement X11 screen edges event handling in filter (4a94214)
  • implement X11 tabbox grab in x11::space (501767e)
  • improve getting ordered subspaces (41e19fc)
  • improve tabbox KCM model initialization (04b4d92)
  • include internal window only in Wayland binary (180fd05)
  • init controlled window in separate function (e4d8819)
  • init controlled window with session in separate function (bc25430)
  • init forced maxmode in if-statement (21cb923)
  • init render shorcuts in separate function call (8011081)
  • init shorcuts without using input helpers (f5ab5d8)
  • initialize singleton platform in free function (5f85c70)
  • inline variables & remove redundant check for decorations (f8c2b13)
  • input: create kglobalaccel daemon without init function (021d613)
  • input: find unmanaged windows without X11 helper (9f2ef02)
  • input: install shortcuts from platfrom ctor (bb84208)
  • input: interact with shortcuts through input interfaces (4b0ebb5)
  • input: manage cursor shapes with STL types (18a9dcf)
  • input: omit warping Xwayland pointer on surface leave (52390f1)
  • input: only provide space to redirect (39802be)
  • input: remove special handling of super as meta (4b5f18d)
  • input: remove unneeded spy source files (c76708b)
  • input: return early on failed keyboard grab (4d0c199)
  • input: return early on window find (d6581d1)
  • input: specialize global shortcuts manager class (a9f081a)
  • input: split up function to add shortcut (633aad1)
  • input: store D-Bus keyboard index in class (e82495a)
  • input: use global gesture direction enums (1edc822)
  • introduce different subspace manager types (7623b0a)
  • introduce subspace manager backend (53b107d)
  • make app singleton an abstract class (ad98f9c)
  • make KPackage plugin cpp file only, add missing Q_Object macro (53c3873)
  • make parent optional in EffectQuickView (d0e42fc)
  • make screen edges windows a free function (071ab92)
  • make screenshot window geometry checking more readable (79b0426)
  • make subspace manager functions free functions (019cb8d)
  • make subspace manager member functions free functions (734e00d)
  • make subspace manager member variables public (1b0f9c9)
  • make subspace manager members public (90e4eae)
  • make subspace manager rows member variable public (bfc0c0a)
  • make subspace variables public (6ce03d1)
  • make Texture export mode default in OffscreenQuickView (211f93d)
  • make X-KDE-Ordering in plugin metadata a proper int value (99cc24a)
  • manage outputs without member functions (7c62f4a)
  • manage tabbox KCM shortcuts via ShortcutSettings (92eae44)
  • match net type against mask in win namespace (0f46d18)
  • merge EffectWindow::{windowMinimized,windowUnminimized} (f39b3dc)
  • merge functions to add Wayland effect windows (8c9b184)
  • merge session-independent creation code (440bae0)
  • merge X11 platform classes (b2d5395)
  • modernize code using initializer list syntax (a886e58)
  • modernize effect code (713cfd7)
  • move compositor start X11 functions (db65835)
  • move cursor shape to win module (9e6a15b)
  • move data to base platform child classes (7691248)
  • move data to child render platforms (2097979)
  • move gesture and global shortcut types into win module (ca9dd56)
  • move gl interface enum to glutils library (c6ee7fe)
  • move KDE D-Bus files in desktop directory (3362ff3)
  • move KGlobalAccel query out of shortcut dialog (6f78def)
  • move kwinglobals types (2c703f1)
  • move output helpers to base::x11 (a9b3a3b)
  • move platform helpers in separate header (1807359)
  • move randr filter to base::x11 (a9024b0)
  • move session manager to x11 namespace (e020ab1)
  • move support properties header to x11 namespace (af363d5)
  • move Wayland handler setup into separate function (bc553fc)
  • move window thumbnail to script module (363c345)
  • move xcb cursors cache to space (76755ff)
  • move xcb event filter from base to win module (06fcda8)
  • omit unsetting the singleton interface platform (7a1483b)
  • own effect loaders with smart pointers (bcba070)
  • own index buffer with smart pointer (2f61a92)
  • own QML engine in space (c0ce79e)
  • own screen locker watcher in space (cd75d5e)
  • own script platform in base platform (f8aad54)
  • own selection owner with smart pointer (3c20e5a)
  • own sync manager in X11 compositor (66299e3)
  • own sync manager with smart pointer (55d0cdc)
  • paint per output on X (51058b4)
  • pass subspaces as references (255eaf7)
  • plugin: drop initConfig for effects (59f92a7)
  • plugin: fix and simplify UI creation in various effect KCMs (382c26d)
  • plugin: simplify UI creation in remaining effect KCMs (2f5f5e6)
  • port away from Kirigami.AbstractListItem (3f105f1)
  • port away from Kirigami.Action.iconName (07aee8c)
  • port away from Kirigami.DelegateRecycler (d5c496a)
  • port away from Kirigami.OverlaySheet.sheetOpen (559dfe8)
  • port away from org.kde.kcm.ConfigModule (140c27b)
  • port away from PlasmaCore.ColorScope and Plasma.Theme (076ff53)
  • port away from SwipeListItem to ItemDelegate (856927f)
  • port EffectsModel away from KPluginMetaData::metaDataFileName (f4f113b)
  • port implicit default content items to use contentItem: property (d9b80f1)
  • port outline to org.kde.kwin 3.0 (66a5dcf)
  • port PlasmaCore.Theme/ColorScope/Units etc to Kirigami (4a134e7)
  • port QML KCMs away from setAboutData (1e69fac)
  • port screenedges kcm to KSvg (09c31d4)
  • port signal handlers to explicit arguments, fix QML/JS code style (e6c2a80)
  • port thumbnail item to use Qt Shader Tools for Qt 6 (79cfd64)
  • port to KCModule methods (3c90632)
  • port to Kirigami.Icon (e0db914)
  • port to KPluginMetaData::fromJsonFile() (93e09f3)
  • port to KSvg (bb72418)
  • port to org.kde.config QML module from KConfig (325c5d6)
  • port to versionless QML module imports (0cfc80b)
  • present on Wayland without intermediate buffer (dde57e8)
  • provide default end rendering frame call in Gl backend class (394159f)
  • provide functor for region transform (6d7c12d)
  • provide internal X11 NET classes (2d090e8)
  • provide metadata in output ctor (79d1b59)
  • provide normal hints in separate class (0a5bf02)
  • provide own KGlobalAccel runtime (3c41ffe)
  • provide raw caption for tabbox clients (ed9a81f)
  • provide region as a const ref (1991722)
  • provide render and input platforms to space (7a22862)
  • provide render platform to effect loader (08c5fa6)
  • provide session info as smart pointer (ab20054)
  • provide size to render texture (5cee51d)
  • provide vertex buffer map as span (2050fa0)
  • provide window as reference to virtual desktop functions (1730da5)
  • provide X11 support string from free function in win module (8ac5cbd)
  • put script in mod struct (c998773)
  • qpa: simplify backing store buffer handling (e991106)
  • qpa: use a surfaceless context for offscreen surfaces (1d17c48)
  • read user time stamp with session directly (c89dbc2)
  • reference tabbox windows without shared pointer (9326328)
  • relax minor version import restriction on Kirigami module (37d30c6)
  • remove abstract Application (955f47b)
  • remove abstract base platform class (8458ad6)
  • remove abstract render platform (bb522a4)
  • remove abstract space class (e486de4)
  • remove app_init function (76550e5)
  • remove arguments from doSetDesktop function (e698db1)
  • remove backend transformation (78c21b3)
  • remove call to create server addons (6468527)
  • remove code to unset QT_DEVICE_PIXEL_RATIO envvar (46d04fa)
  • remove color handling in vertex buffer (68fa3f8)
  • remove compositor class (b15193c)
  • remove custom executable (8caf094)
  • remove default arguments in subspace API (2738250)
  • remove definition of X-Plasma-MainScript definitions (efe4353)
  • remove deprecated properties in WindowThumbnailItem (e942491)
  • remove desktop kde include (94304e8)
  • remove disabled Qt 5 code (e16fe0c)
  • remove doPaintBackground function (4039ff4)
  • remove effect screen reference from base output (8d7ecc6)
  • remove effects factory function (3338e9a)
  • remove EffectWindowList (c47c7b4)
  • remove egl defines (48c625c)
  • remove ensureOnTop member function (4903fce)
  • remove frame geo local variable (2c3f9c6)
  • remove global compositing type enum (6ee6103)
  • remove group's startupIdChanged function (fda6d6c)
  • remove internal Wayland connection (eba5113)
  • remove KCM API not supported by KWin core (172bffc)
  • remove kwinglobals header (78ade75)
  • remove negation on if-else branch (862f844)
  • remove obsolete autoPlay property from Video component (5c1d5e0)
  • remove output getter in platform (5f1a73b)
  • remove placement function on taking control (0b4233f)
  • remove PlasmaCore qml module (unused) (5392c39)
  • remove platform shortcut helpers (b4c14ef)
  • remove projection matrix create function (d720f0c)
  • remove Q_UNUSED macro for return values (6e89e4a)
  • remove QtDBus includes (f1a6fe6)
  • remove setNETDesktopLayout function (48d7b08)
  • remove shorcut loading flag (e280a4c)
  • remove subspace loading guard (5210324)
  • remove subspace manager reference from grid (44c075e)
  • remove subspace slot functions (e340d95)
  • remove subspaces only by pointer in manager API (9068c38)
  • remove suspicious C-style const cast (b88b9be)
  • remove temporary rules (3d5c048)
  • remove unneeded QVariantList from KCM constructor args (ad40e38)
  • remove unused delay show option (4bc5802)
  • remove unused forward declaration (b17fe04)
  • remove unused gestureCallback lambda (d6c106f)
  • remove unused import module (scripted) (467eb1e)
  • remove unused platform ctors (e5e17be)
  • remove unused stuff in the scripts kcm (57cc951)
  • remove update count function (378617f)
  • remove versioning from PlasmaCore module imports (afac1a9)
  • remove virtual desktop functors (fefa4e5)
  • remove window type from internal window (8978e1e)
  • remove X-Plasma-MainScript from C++ codepaths (06d783b)
  • remove X11 sync on tabbox highlighting windows (eae36c1)
  • rename space header (8ebf5a9)
  • render texture without helper data struct (20615c5)
  • reorder tabbox members (2fd7c8c)
  • replace magic number with named enum member of NewStuff events (468eb82)
  • replace projection matrices with mvp concept (a4123ff)
  • replace y-inverted flag with content transform enum (1aef18f)
  • return early in selected functions (33d8904)
  • return session info directly (df7fcbc)
  • reuse session saving local variable (25895a1)
  • script: add effect loader from platform (b8481f1)
  • script: add options class (efd1631)
  • script: drop "Item" suffix from WindowThumbnail/DesktopBackground (6c31b4b)
  • script: drop clientDemandsAttentionChanged (79bf3d8)
  • script: drop registerWindow() workaround (cd39489)
  • script: flatten directory hierarchy (a6d645a)
  • script: minor desktopchangeosd cleanup (bcdf799)
  • script: own windows in space (ed060a9)
  • script: port desktop change osd to virtual desktop objects (592bd3c)
  • script: port desktopchangeosd away from PlasmaExtras.Heading (202663b)
  • script: port some scripts to org.kde.kwin v3 qml api (640d40b)
  • script: provide window properties as QString (cf82464)
  • script: refactor generic scripted config (d87ca71)
  • script: remove desktop getter (5fb475a)
  • script: set shortcut in platform function (804c712)
  • script: use a better path for scripts (fdefa75)
  • send window to subspace respecting navigation wrapping (93948dd)
  • separate render options into own class (3ed7e52)
  • separate windowing options into own class (aa8f529)
  • set application domain directly (4618c20)
  • set desktops in helper function (f034798)
  • set effect loader config directly (9be87f4)
  • set net max state in member function (d59e628)
  • set net state in member functions (c35a036)
  • set render target size independently of viewport (e078337)
  • set repaints variable earlier (998e778)
  • set singleton interface only in helper function (08270a9)
  • setup effect handler in free functions (e6187e4)
  • setup session manager in X11 init (f5fb835)
  • setup virtual desktop manager in free function (524352a)
  • simplify hidden preview handling (b589f2c)
  • simplify loading switcher from KPackage (27d1fe2)
  • simplify tabbox in control (2f3fbf7)
  • slightly refactor monitor size calculation (b7a71d4)
  • split compositor start functions (d4b2ca6)
  • split gl interface utils (7f04b67)
  • split up draw function (23d8f52)
  • split up effect loader definitions (f6d5811)
  • split up subspace files (f7734a9)
  • split X11 specific handler setup away (3ad94f9)
  • split X11 specific setup functions away (cc36f83)
  • store current fence in sync manager (c7492ba)
  • store current subspace as raw pointer (3cf4dca)
  • store private textures with unique_ptr (7aa1c7d)
  • store qml engine in smart pointer (a482f69)
  • store reference to cursor in cursor image (4787f9f)
  • store render targets in render struct (013ff62)
  • store subspaces in std::vector (75eddcf)
  • switch subspace on screen edge with subspace pointers (541a509)
  • template D-Bus subspace manager (db81028)
  • template effects over scene (7a1739f)
  • template mod struct (a234278)
  • template osd spy over input types (74f13c8)
  • template randr filter (35ac784)
  • template render functions in win module (ad64a77)
  • template scene over compositor (1c9b192)
  • template spaces over base (a24d7a6)
  • template wlroots base backend (f84b8d3)
  • template wlroots render platform over Wayland platform (8e28d78)
  • template X11 output over platform (e282b55)
  • transfer subspace pointers instead of numbers (fbb4587)
  • unify subspace D-Bus additions (16c8929)
  • unify subspace number types (c115281)
  • update active window in space member functions (6a83630)
  • update key state in input module (899f2c2)
  • update layout outside of root info update (836f95f)
  • update showfps effect to QuickCharts API changes (0067b50)
  • update space work areas in separate function (b5229ae)
  • update subspace metadata in free function (6d3a6e8)
  • update texture cache in separate function (db7604a)
  • update tool windows in space member functions (4525241)
  • use current system clock time instead of x11 time (6a491fa)
  • use decltype for cursor (6bc2b74)
  • use KCMultiDialog to open decoration kcms (58c4141)
  • use KPluginMetaData::fileName instead of KPluginMetaData::metaDataFileName (e73b9c8)
  • use more conventional constructor argument order in EffectQuickView (1428a7a)
  • use MouseArea as delegate root (55ef715)
  • use ranges to return outputs (f80cba1)
  • use std::bitset instead of a custom implementation (cc3b7c5)
  • use std::stack for render targets (ad1fd97)
  • use The Compositor Modules (ab0c24a)
  • use Wrapland output manager (b273a4b)
  • use Xcursor to load theme (94d0496)
  • wl: adapt to wlroots session create API change (1ae83f2)
  • wl: adapt to Wrapland start function change (8de3028)
  • wl: add parser options struct (633a620)
  • wl: cleanup includes (8751b45)
  • wl: cleanup platform in free function (90f3377)
  • wl: create base options in free function (59b6cc2)
  • wl: depend on wlroots 0.17 (70e8447)
  • wl: get X11 connection only from fd (53743a5)
  • wl: include new wlroots transform header (5f0377b)
  • wl: introduce base platform arguments struct (09dc0c0)
  • wl: make ApplicationWayland standalone type (9db40fa)
  • wl: merge start functions (93825fd)
  • wl: negate lock screen integration flag (7d6d321)
  • wl: omit waiting on Xwayland (39c6371)
  • wl: remove ApplicationWayland (65ffd33)
  • wl: remove clock id getter (c7b9d5c)
  • wl: remove KCrash dependency (cc38ace)
  • wl: remove libinput option (77e01f5)
  • wl: remove server ctor with socket fd (6c3b9f9)
  • wl: remove Xwayland status callback (703124b)
  • wl: set environment variables in app singleton (ffa2b8d)
  • wl: simplify app dtors (28f379f)
  • wl: simplify bump no file limit (c5053a3)
  • wl: start platforms through free function (c0e4648)
  • wl: store QApplication in app singleton (9343762)
  • wl: use new wlroots render and pixel copy API (d079a6c)
  • wrap shortcut dialog in smart pointer (9689969)
  • x11: drop ApplicationX11 (98ccefd)
  • x11: own xcb event filter in space (d690300)
  • x11: provide replace option as argument (b5275de)
  • x11: remove Q_OBJECT macro (d27d777)
  • x11: remove unneeded header includes (8a928e3)
  • x11: set base x11 data in platform ctor (0a20bca)
  • x11: setup crash handler directly (ec7c42e)
  • x11: store selection owner in STL smart pointer (574b650)

5.27.0 (2023-02-17)

5.27.0-beta.0 (2023-02-16)

Features

  • align window properties (88ecf4c)
  • change description for window border shortcut (0e485ca)
  • create wlr_texture for dmabuf buffers (d7a4c10)
  • create wlr_texture for internal images (5b80f3a)
  • create wlr_texture for SHM buffers (b2193d3)
  • deco: provide window class (d1465f7)
  • effect: add "pressed" effect to desktop bar (aad8795)
  • effect: add ability to deactivate the effect by hitting the same screen edge (f2f4515)
  • effect: add option for WindowHeap to not alter the layout (0aa41ea)
  • effect: add Overview effect (edb8121)
  • effect: add QML version of the Desktop Grid effect (95c1de4)
  • effect: add QuickSceneEffect type (da9f2e9)
  • effect: add support for shaders in AnimationEffect (08ba84f)
  • effect: add tooltip and accessibility info to close button (5f4940c)
  • effect: add window filtering to overview (e266ceb)
  • effect: add window view "show windows from class on current desktop" mode (c36c98b)
  • effect: add Window View effect (8413e39)
  • effect: allow closing windows with touch (afba40b)
  • effect: allow desktop switch in desktopgrid using digit and function keys (f767639)
  • effect: allow disabling expo cells (c7ec31b)
  • effect: always set the mode when activating with gestures (0e5115e)
  • effect: center-align edited desktop name (04683e3)
  • effect: do close animation after gesture ended (ba0fe31)
  • effect: drag windows between screens in WindowHeap (a709231)
  • effect: drop EffectWindow::hasAlpha() (ec503a1)
  • effect: dynamically load effects that support edge activation (3b0c612)
  • effect: enable overview by default (ed5e716)
  • effect: expose updatePolish to QML via forceLayout() (12fc34d)
  • effect: fade Searchfield in and out just like background (9f00899)
  • effect: get back option to hide minimized windows (6a2bf5b)
  • effect: hide "Delete Desktop" button while dragging a window (03fd331)
  • effect: improve animation durations and easing curves in Windowheap-based effects (7ebb938)
  • effect: increase animation speed for overview, windowview and desktop grid (b88caa5)
  • effect: increase spring constant (d51848e)
  • effect: introduce WindowHeap qml module (949975c)
  • effect: make search field's placeholder text accurate (cd3c32e)
  • effect: make windowview replace present windows (9b28c41)
  • effect: provide output infos (5b6100d)
  • effect: re-add desktopgrid shortcuts to add and remove desktops (8a69238)
  • effect: remove completely present windows (ddfde2a)
  • effect: remove Cover Switch effect (8b1ee74)
  • effect: remove Flip Switch effect (9498f72)
  • effect: remove SlideDocks option (9b94fdd)
  • effect: replace "Show FPS" effect with a QML version (8a41d78)
  • effect: restore overview ability to close windows (a49a131)
  • effect: set touchpad gestures to match 5.24 (f2e9a6a)
  • effect: stop highlighting WindowHeapDelegate when the effect is deactivated (0336cd0)
  • effect: support custom shaders in DeformEffect (5bc948d)
  • effect: support keyboard navigation between windows across desktops (ed0bf98)
  • effect: toggle all desktops on middle click (4e89ab8)
  • effect: use mass-spring-damper model for animation (9cdc66b)
  • effect: when an arrow key is not accepted look for adjacent views (a96092a)
  • expose a window's UUID via D-Bus (4295089)
  • get supported dmabuf formats from wlroots (4ac52d6)
  • input: add global touchscreen gestures (20eb8dd)
  • input: implement desktopSwitching() interface for realtime animations (a16ea63)
  • input: make touchscreen gestures realtime (68db0cc)
  • input: support realtime activation for screen edges gestures (498e21b)
  • make new virtual desktops have numbered names (ecaace3)
  • notify when a window does not provide a class (597768f)
  • only move popups when reactive (a64b2a2)
  • register night color service name (04a6726)
  • remove app screen number getter (bb3b554)
  • remove app X11 connection getter (2bd1cbc)
  • remove app X11 root window getter (24b18fe)
  • remove app X11 time getter (1f85310)
  • remove config lock option (824c8a3)
  • remove global default screen getter (2fad921)
  • remove global display size getters (24975c8)
  • remove global X11 connection getter (6a8c9f4)
  • remove global X11 root window getter (7fdafb2)
  • remove global X11 time getter (a7c0750)
  • remove Xrender backend (e007739)
  • render thumbnails into QtQuick windows (19d5a2b)
  • script: add convenience DesktopBackgroundItem type (25901bc)
  • script: add desktops property (4dadb63)
  • script: add realtime screen edges gestures for scripted effects (36646c4)
  • script: add to window isOnDesktop that takes VirtualDesktop (e8d1cc9)
  • script: add to window isOnOutput (380e2e3)
  • script: draw window thumbnails with drop shadows (d22d6bd)
  • script: introduce workspace.currentVirtualDesktop property (91f28e0)
  • script: log callDBus errors at warning level (504fe85)
  • script: make client filter model take virtual desktop (048d91b)
  • script: provide clientArea() overloads that take VirtualDesktop objects (cdb791e)
  • script: support shaders in scripted effects (a4629a0)
  • set a title for error messages (04ed290)
  • support idle notify protocol (7c4446b)
  • support xdg-popup repositioning (c99cbb9)
  • support xdg-toplevel bounds (d1db35b)
  • support xdg-toplevel wm-capabilities (953ba9a)

Bug Fixes

  • adapt to wlroots backend session creation change (a0c6426)
  • add virtual destructor to base class (b0af305)
  • add virtual destructor to base class (447189f)
  • check for null group (1dda7df)
  • configure size for maximization placement policy directly (ae022b0)
  • copy container to not modify it while looping (f61cae6)
  • correct double click behavior over the thumbnail (83e0e53)
  • correct effect loading/unloading order (1a58e5b)
  • correct member variable initialization order (251a04f)
  • disconnect frame renders when ThumbnailItem has no window (413bbf5)
  • don't crash on gpu resets (3c8eac5)
  • don't force QT_NO_GLIB=1 (055ad88)
  • don't force QT_QPA_PLATFORM=xcb (2f7c92a)
  • don't offer switcher from global themes that don't ship a switcher (46c85a8)
  • effect: accept keys in windowheap conditionally (7c36fc8)
  • effect: actually fade out minimized windows on exit (acfeac1)
  • effect: add another guard for multi-screen Drag&Drop (e037874)
  • effect: add explicit spacing for desktopgrid buttons layout (071c44d)
  • effect: add ExposeClassCurrentDesktop shortcut to KCM (00b403c)
  • effect: allow entering spaces in search field (cbf7044)
  • effect: also cancel translucencyMoveResizeAnimations (e2da99b)
  • effect: always use Title Case for user-facing effect titles (9a63ad9)
  • effect: anchor on a placeholder message in overview (f4d3bca)
  • effect: animate the placeholder just like the search field (cd8fb2b)
  • effect: animate windows scaling back from a desktop bar (cbe3047)
  • effect: avoid capturing hidden cursor (3a08527)
  • effect: better handle windows on all desktops in slide effect (fb0219f)
  • effect: bind to search field using textEdited signal (a17894e)
  • effect: bind to search field using textEdited signal (ccde574)
  • effect: catch unable to assign [undefined] to int (d87b464)
  • effect: close windows in desktopgrid on middle click (023d103)
  • effect: constify function for iterator validation (3d13e81)
  • effect: correct "active class" mode (9f29ee9)
  • effect: correct "Toggle Present Windows (Window class on current desktop)" shortcut (feaf97d)
  • effect: correct a type mismatch warning in WindowHeap (13f3dfc)
  • effect: correct background highlight having extra size (e931429)
  • effect: correct desktopgrid config group name (3f37c86)
  • effect: correct dragging especially by touch (879c2ae)
  • effect: correct ExpoLayout reflowing in Desktop Grid while dragging (e5c6054)
  • effect: correct gesture direction (07aac44)
  • effect: correct grid's size and scale w.r.t. row/column spacing (970e266)
  • effect: correct initial hidden state and initially hide windows from other desktops (0c5c39f)
  • effect: correct internal tracking for quick effect item focus (22f544e)
  • effect: correct keyboard navigation while filtering (1a0da0a)
  • effect: correct multi-screen drag-and-drop in WindowHeap (ae7c91e)
  • effect: correct panel opacity animation during transition (e6346e4)
  • effect: correct size of active virtual desktop highlight outline (c757163)
  • effect: correct stacking order and initial visibility (52ce021)
  • effect: correct stacking order of windows relative to panels (af4714a)
  • effect: correct the math of the down gesture (bb52418)
  • effect: correct window dragging in desktop grid (9fdffd0)
  • effect: correct window highlighting in WindowHeap (5664a76)
  • effect: correct windows visibility during partial activation (realtime gesture) (0063189)
  • effect: correctly clip when sliding virtual desktops (b8fc50a)
  • effect: correctly map NaturalX/Y to scene coordinates (f79fb78)
  • effect: don't accept space and enter key events in empty WindowHeaps (1050ba0)
  • effect: don't allow setting non-global shortcuts (7742e97)
  • effect: don't allow setting non-global shortcuts (f3cc717)
  • effect: don't lose cursor shape while dragging a desktop (fad077f)
  • effect: don't show another window's hover/highlight while dragging (7a22b14)
  • effect: don't sync natural size to intended sizes (be67ec5)
  • effect: don't use Plasma-themed icons in Present Windows (f9e0b1c)
  • effect: don't use the plasma theme for icons in overview (469ea5a)
  • effect: ensure that diminactive m_activeWindow is always reset (bf538db)
  • effect: expand size of highlight (1cab543)
  • effect: guard against function execution when component is being destroyed (097061d)
  • effect: handle windows from other virtual desktops better (8c0709c)
  • effect: hide overview panels (8a453a4)
  • effect: hide window icon and label when excluded (50131b4)
  • effect: ignore fullscreen windows for blendchanges (bf04d6d)
  • effect: improve gesture handling in some effects (6de7e92)
  • effect: make add/delete Virtual Desktop buttons in overview consistent (3736156)
  • effect: make desktop grid check for active effects before responding to gesture (f7841a9)
  • effect: make WindowHeap try to fill gaps (4468b3b)
  • effect: manage Drag in a TapHandler which accepts also touch (0e0547e)
  • effect: move blendchanges chain position after blur and backgroundcontrast (a190fe4)
  • effect: move blur and contrast to the front in the effect chain pos (5ec0e68)
  • effect: move highlight inside thumbnail component (1fa255c)
  • effect: only swap windows on current activity (0416b4e)
  • effect: prevent fading windows from moving downward in WindowView effect (28107ea)
  • effect: prevent panels losing blurred background when gesture is active (dd9e07f)
  • effect: prevent playing animation for invisible windows (5d7dccd)
  • effect: put the hostpot at the press position (dbe2a97)
  • effect: raise currently dragged window higher than anything (d862438)
  • effect: redirect key events to search field (ce49900)
  • effect: replace deprecated enum-enum conversion (296000f)
  • effect: replace highly opmitized animators with animations which work (9cf0c90)
  • effect: replace PlasmaCore.Units.largeSpacing with gridUnit (d9b593b)
  • effect: restore position correctly when dropping a window (3f436ce)
  • effect: rework slide internals (6ae9bac)
  • effect: scale of windows when dragging them upwards in overview (9475fc4)
  • effect: search on all screens (1aa1b48)
  • effect: set required property for default WindowHeapDelegate (f674868)
  • effect: set translation domain for the placeholder text (d16a6d8)
  • effect: turn placeholder on when there are actually no visible windows (2bf0127)
  • enable scripted effects to load config translations from the kpackage (01e0881)
  • ensure early input devices get added to D-Bus interface (cd41d6a)
  • ensure we dont leak file descriptors (3907662)
  • guard window thumbnail rendering against software QtQuick backend (f51f956)
  • highlight non-default shortcuts (aa4422d)
  • ignore critical notifications in window heap effects (3e2da0a)
  • input: check on pointer before updating (41b0de8)
  • input: don't try to create a QChar from a non-char key enum (e863624)
  • input: implement isEnabledByDefault D-Bus method (3489d18)
  • input: limit progress range for pinch gestures (3f2ad05)
  • input: prevent deciding on a direction too early in gestures (26ed7fa)
  • input: recognize very slow gestures (3c26efe)
  • make tabbox shortcuts config save on apply (46e03fd)
  • mark virtual functions override (cec0cfa)
  • place on global default (890c404)
  • provide hidpi window thumbnails (fb57114)
  • qpa: improve EGL config selection (4a001ce)
  • rearrange template functions (16bca14)
  • reintroduce checks for layer update (a8bb1d7)
  • remove public declaration of the KWin::FPx2 debug stream operator (5ef9873)
  • render EffectFrame using XRender (bce1255)
  • render only non-remnant internal windows as overlays (901f86b)
  • scene: add missing references to performPaint (abcae36)
  • script: adapt to QQuickWindow::createTextureFromNativeObject being gone in Qt6 (ce86f65)
  • script: adapt to QtConcurrent API changes in Qt6 (618bf28)
  • script: avoid null windows in QML effects (7092cc5)
  • script: guard against nullptr m_client in WindowThumbnailItem (39e0136)
  • script: make thumbnaills use linear filter (b394d9f)
  • script: prefer desktop window with size matching output (a1bd8db)
  • set base singleton interface platform on X11 (969c896)
  • set compositor space pointer to null on shutdown (b2692e7)
  • set transient subclass types directly without casts (c637b80)
  • set virtual desktops singleton (527b72d)
  • signal current output change with separate signal (b399c40)
  • space: cancel interactive desktop switching if desktop has not changed (a366752)
  • space: make VirtualDesktopManager update grid dimentions when only 1 desktop (49c4cea)
  • textX11Client leaked slot connection cause segfault (a465c09)
  • use free on allocated memory with malloc (3f847c2)
  • use Kirigami.ActionToolBar for the footer actions (48bf6e5)
  • use new term "Peek at Desktop" (f3a32ea)
  • use Night Color icon for OSD (7b603cc)
  • use Q_EMIT keyword (8fbe32c)
  • use window class and role with original casing to match rules (6deb98d)

Refactors

  • adapt to deprecated KWindowSystem API (5adfac0)
  • adapt to Wrapland cursor surface change (d111c66)
  • adapt to Wrapland pointer confine changes (897d0da)
  • adapt to Wrapland xdg-shell positioner client changes (edfdb33)
  • adapt to Wrapland xdg-shell positioner server changes (fea41f3)
  • adapt to Wrapland xdg-toplevel configure data change (943b325)
  • adapt to Wrapland xdg-toplevel state change (547875a)
  • check bounds with std::max in placement code (a4b40f7)
  • check crash restart in X11 base (de486a2)
  • check screen lock only via base (2ef2da0)
  • create separate Wayland server QObject (bd4af98)
  • create XCB extensions with X11 data struct (0be5e87)
  • delete base move constructors (703e6ec)
  • display Night Color message in free function (98f0570)
  • effect: clean up code for buttons with tooltips (6adb29b)
  • effect: clean up overview QML/JavaScript code (d098bbd)
  • effect: clean up QML/JS code and bump imports (4ae0528)
  • effect: drop numScreens property (5fb64bb)
  • effect: drop opacity binding inside WindowHeapDelegate (40978d2)
  • effect: drop unused properties (408c20a)
  • effect: drop unused property dragHandler (2762030)
  • effect: effectkit, allow disabling dnd in WindowHeap (7e6d1db)
  • effect: encapsulate DND management, and clean up the store (0d2ddf5)
  • effect: get X11 data from base (b1a9c3f)
  • effect: group Repeater's alias properties together (6a9521f)
  • effect: implement the searchText backing property (ee2ae3c)
  • effect: make DesktopView a FocusScope (3da2703)
  • effect: make OffscreenQuickView generate double click events (760306d)
  • effect: make setting WindowHeap layout mode nicer (6fc4885)
  • effect: make WindowHeapDelegate dragHandler less confusing (2eedb13)
  • effect: merge two state machines into one with substates (31573de)
  • effect: modernize some code (449df5c)
  • effect: move delegate handlers to the bottom close to each other (1fcc270)
  • effect: move WindowHeap delegate to own file (3c46758)
  • effect: place mask source inside actual OpacityMask component (411b79c)
  • effect: port effects from int screens ids to EffectScreen (00c5311)
  • effect: port ExpoLayout to using anchors (f78c91d)
  • effect: port potential misuse of a dragHandler to activeDragHandler (348df91)
  • effect: provide compositor as argument (c351987)
  • effect: re-introduce support for client filtering in WindowHeap (2f34e64)
  • effect: re-order placeholder text and window heap (3727296)
  • effect: remove Q_OBJECT macros (dcbd119)
  • effect: remove unneeded Accessible.name (1694cf0)
  • effect: simplify "active-hidden" state by inheriting from "initial-hidden" (bc17978)
  • effect: use an enum to describe current slide state (058ed85)
  • effect: use effect-local data instead of window data for blur regions (1e16c55)
  • effect: use effect-local data instead of window data for contrast (27d351f)
  • effect: use global share context (8c8c571)
  • effect: use SearchField from PlasmaExtras (1a67d7a)
  • emit internal client being available (a5f8e2a)
  • get X11 connection from base in render code (23db8be)
  • get X11 connection from base in windowing code (f173362)
  • implement Night Color manager in header (6a9ea41)
  • improve placement code (70375db)
  • initialize Night Color manager fully in ctor (7d50e18)
  • input: create fixes filter directly (714909d)
  • input: get X11 connection from base (8e2188f)
  • input: improve gestures (5f47039)
  • input: init XKB D-Bus interface earlier (4b3a7fa)
  • input: organize config in separate config class (7e287bf)
  • input: provide redirect when passing to Wayland server (a4d1e33)
  • input: reconfigure XKB at beginning of layout reconfigure (0cc801b)
  • input: reconfigure XKB D-Bus interface separately (9a4f6fe)
  • input: reconfigure XKB D-Bus v1 interface directly (4a1ba7e)
  • input: register normal gestures like real time ones (18699e2)
  • input: register shortcuts in free functions (4a9a272)
  • input: remove helper to find seat (ce35339)
  • input: remove platform parent class (8870519)
  • input: simplify XKB D-Bus initializing (0f5aa37)
  • input: store config in cursor (5436353)
  • input: store input config exclusively in platform (c47e1fe)
  • input: store xkb config in config class (7182012)
  • introduce app singleton for QPA integration (48b8484)
  • introduce Color Correct D-Bus integration struct (14ae780)
  • introduce Night Color data struct (0341221)
  • modernize quick scene effect code (428462a)
  • move out-of-class definitions inside the class definition in thumbnail item (f6c3c86)
  • move startup_finished signal to test app (80259f1)
  • omit dmabuf image creation (7f321c1)
  • own options in base (44c6d67)
  • own screen locker watcher in base (75b6466)
  • own session in base (e388208)
  • own X11 event filters in base (b9588b1)
  • port from KQuickControlsAddons.QIconItem to PlasmaCore.IconItem (5f652b6)
  • port from KQuickControlsAddons.QIconItem to PlasmaCore.IconItem (f8b78e4)
  • port texture away from manual memory management (b8251d2)
  • provide config pointer to options ctor (c97357d)
  • provide current virtual desktop in singleton interface (ebb5b3d)
  • provide factory to create presentation manager (23902d6)
  • provide wl_display when taking control (3198c31)
  • provide X11 connection to Gl platform (dd51ed1)
  • provide X11 connection to selection owner (3ce674b)
  • provide X11 connection to update shadow (937ede0)
  • provide X11 connection to XCB wrapper classes (973a13e)
  • provide X11 data to compositor selection owner (04af1aa)
  • provide X11 data to resolve client machine (44755e3)
  • provide X11 data to XCB grabs (146fa4d)
  • provide X11 data to XCB helpers (1a498f8)
  • provide X11 data to XCB window explicitly (dd5e96a)
  • remove app terminating setter (e689360)
  • remove can_move helper (998a5d2)
  • remove dmabuf buffer child class (bb2f8c9)
  • remove egl dmabuf class (5d9e769)
  • remove EGL dmabuf data struct (a77c65b)
  • remove EGL dmabuf factory (13822a2)
  • remove global waylandServer getter (39910ec)
  • remove kwinApp getter (3945497)
  • remove legacy wlroots EGL code (537225e)
  • remove legacy wlroots input code (1c31784)
  • remove next placement argument (ad4c3d5)
  • remove Night Color manager QObject inheritance (a508a23)
  • remove placeIn Wayland window member function (daeaef7)
  • remove placement commented out default arguments (3d314bb)
  • remove placement forward declarations (bf57740)
  • remove public Q_SLOTS in thumbnail item (dafec6d)
  • remove Q_SLOTS macro (9634eeb)
  • remove some macros with questionable usefulness (a366c2d)
  • remove unneeded main header includes (3a168a3)
  • remove Xcb::sync() (bafa704)
  • replace first commit lambda with free functions (68a9ed0)
  • reposition Wayland child windows in single call (cbf38e9)
  • scene: drop GLRenderTarget::setTextureDirty() (56a847d)
  • scene: implement DesktopThumbnailItem as a collection of window thumbnails (dc09758)
  • scene: make GLRenderTarget not store GLTexture reference (1cdcec1)
  • script: expose the client's frameGeometry as implicit size (2430df7)
  • script: merge ThumbnailItemBase and WindowThumbnailItem (18dc4b3)
  • script: port to qmlRegisterAnonymousType() (fd1f5ee)
  • script: prefer metadata.json over metadata.desktop in generic config (5786867)
  • script: print QQmlComponent errors (0eb5e24)
  • script: provide options as argument (c817ebe)
  • script: register Options singleton (1144948)
  • script: use window::isOnOutput() in client filter model (7a8fd09)
  • send Night Color property changes without signal (71bfc59)
  • set subsurface position in separate function (8a19b45)
  • setup X11 rules in free function (b44738d)
  • signal property changes in helper (7680089)
  • signal X11 reset from base (22a5e1c)
  • store app config exclusively in base (80a00e6)
  • store basic X11 data in separate struct (c0f3eab)
  • store operation mode in base (446f6ab)
  • store platform in wayland::output (bfe16ab)
  • store process environment in base (7d17e5c)
  • store X11 connection in buffer windowing integration (010473c)
  • store X11 connection in tabbox handler (2ef1a72)
  • store X11 data in base (fb99281)
  • store X11 data in cursor class (2fe18cb)
  • store X11 data in deco renderers (1a081b6)
  • store X11 data in non composited outline (c8fae2c)
  • store X11 data in sync objects (cccce20)
  • store X11 data in XRender backend (9f29838)
  • template Night Color manager over Base (b6f0cfe)
  • template Wayland server over base (86f2566)
  • update time from event in windowing module (cf40e3a)
  • use glGetTexImage() in GLTexture::toImage() (e316a1a)
  • use Kirigami.Dialog for error messages (b792910)
  • use references in xdg-shell code (d29075b)
  • use std::unique_ptr in ruleitem (ab06bfc)
  • xwl: destroy compositor selection with direct call (a5e9a1e)
  • xwl: get X11 connection from base (e973891)
  • xwl: provide X11 connection to mime helpers (57d061b)
  • xwl: remove app argument (d95f872)
  • xwl: store X11 runtime data in transfers (3bc8f8b)

5.26.0 (2022-10-11)

5.26.0-beta.0 (2022-10-10)

⚠ BREAKING CHANGES

  • effect: DeformEffect renamed to OffscreenEffect
  • recent compiler with C++20 support required

Features

  • add activeOutputName to DBus interface (6e508fb)
  • add applet popup window type (051db84)
  • add configurable day temperature (9749b66)
  • add move_to util functions (056a1f3)
  • change global shortcuts to use the Meta key by default (05076ba)
  • change time handling to allow for arbitrary morning and evening times (d62cf2a)
  • deprecate GL platform interface option (9f25dcb)
  • effect: add Meta+plus as a default shortcut for Zoom effect (531d654)
  • effect: publish window ids (d594379)
  • expose Workspace::showingDesktop and a setter as D-Bus api (cd52524)
  • follow focus mouse precedent on Wayland (ffa906f)
  • ignore KWIN_NO_XI2 environment variable (93864bd)
  • implement _GTK_SHOW_WINDOW_MENU (3f77e23)
  • introduce property window (ccd667a)
  • open Plasma shell surfaces under cursor on request (be3eb08)
  • remove current refresh rate getter (b36df25)
  • script: deprecate X11 window specific fullscreen signal (697ea2f)
  • set windowtitle on debug console (4f13998)
  • support Plasma activation feedback (9f3248e)
  • support Plasma window management protocol v15 (3afee73)
  • support Plasma window management protocol v16 (8cd6d41)
  • use an icon for the "Move to Desktop" -> "New Desktop" action (c706a73)

Bug Fixes

  • adapt cube effect to quickview changes (e802346)
  • adapt flipswitch effect to quickview changes (3dbf623)
  • adapt to wlroots input changes (5f5b6b0)
  • add missing code from backports (8c73457)
  • add missing colon for "Behavior" label (3753914)
  • add missing includes (96343fd)
  • add missing reference and const (c49af40)
  • amend stub virtual keyboard D-Bus interface (1fcbe40)
  • avoid accessing effects in effect_quick_view (2b50302)
  • call space init function at the end of Wayland space construction (cdf4ede)
  • change framebuffer blit color format to rgba (09441a8)
  • change implicit capture of this (51c076d)
  • check max size in maxsize (03e708f)
  • check on control when updating client visibility (b508907)
  • check variable access in debug console (c6573b1)
  • compare with the actual reference (741e556)
  • correct transition time update in location mode (e029680)
  • correct typo in qml margin (d05fb44)
  • correct wrong object being passed as a QQuickItem* context (2e9de69)
  • current virtual desktop being always added (f239cbb)
  • debug: read out scripting window properties (388043c)
  • debug: use property window (57953fa)
  • disable screen edge approach area if the edge is blocked (c948153)
  • dont call first on temporary (1f1ea9c)
  • dont reference potential nullptr (020a6b0)
  • dont write to pointer after free (01d00a8)
  • effect: apply slide setting for docks to applet panels (c7baf17)
  • effect: pick colors with GL_RGBA format (adaa76a)
  • effect: specify mousemark effect chain position (0e8627d)
  • effect: unload effects in Wayland class dtor (dd9ae90)
  • emit rowsChanged signal to fix default state highlighting (7f7b92c)
  • ensure animation speed is set on apply (026f945)
  • ensure focus prevention level is being set (eb90967)
  • ensure index_of works on most containers (d9fc8f2)
  • ensure KCM ui handles optionlist (13faef7)
  • ensure old opacity is used (5be80ac)
  • ensure Qt container does not detach (d1ad336)
  • ensure we dont continously trigger edge (654c9a3)
  • handle different signals (SIGTERM et al) by using KSignalHandler (a348799)
  • initialize uninitalized pointers (705c2d2)
  • initialize uninitialized pointer (81058db)
  • input: add stub D-Bus interface for output area (14e8e8c)
  • input: remove init config override (08130cf)
  • invalidate moved-from GLRenderTarget (c18131d)
  • keep sheet open when adding properties via button (aebb17c)
  • let scripts KCM write its pending states to config (06647dc)
  • let us change virtual desktop on move resize (d351dcf)
  • link correct help page in effects KCM (6a3fd88)
  • link correct help page in rules KCM (0dd588c)
  • link correct help page in virtual desktop KCM (6131c80)
  • make a copy of slide registry (605312c)
  • move shadow element and state enums into render namespace (cb1441e)
  • omit finding desktop twice (a10ca05)
  • only emit window hidden change on actual visibility change (d0f4d47)
  • port away from Kirigami.Units.devicePixelRatio (601460d)
  • publish virtual desktops only after id is set (be4a9fa)
  • qpa: assume there's current context when swapBuffers() is called (b2a60fe)
  • qpa: ensure current context on internal window present (ed8608d)
  • remove activation of any window with control desktop integration (662a650)
  • remove checks on Xcomposite version (ffeb8fe)
  • remove double signal connects (f948ed5)
  • remove unneeded space references (bcaee10)
  • remove unused variables (d4cbe3c)
  • reset QML component to load a different switcher after one has failed (f8fd1c4)
  • restore alignment logic for Mali GPU (bb5a124)
  • script: cast to scripting window (b5cd115)
  • script: enable Apply button when clicking Defaults (8471f67)
  • script: publish the scripting window in thumbnail item (c90d7d3)
  • script: register KWin::SessionState with QMetaType (3ab9f1f)
  • set animation duration factor after (bc44bff)
  • set font size to cube and flipswitch (bf32c7a)
  • update popup layers (df83101)
  • use at instead of operator[] (e6a3bb4)
  • use at instead of operator[] on temporary (111f7b4)
  • use bitwise || on boolean operands (90592c5)
  • use internal id to identify window shortcut (e288762)
  • use QFileinfo::exists(file) instead (8455250)
  • use unique pointer instead raw pointers (e41b596)
  • verify surface and shellsurfaces creation (e393db5)
  • write animation speed to kdeglobals (5fdb28b)
  • zeroize moved-from remnant refcount (042d1b4)

build

  • raise C++ standard to C++20 (14d7539)

  • effect: rename DeformEffect to OffscreenEffect (3917a86)

Refactors

  • access input platform through base (3a0f172)
  • access render platform without global getter (e28d6db)
  • activate next window without check on provided window (5affe22)
  • activate next window without helper variable (457da70)
  • activate window on new desktop without helper variable (472b8d5)
  • adapt to Wrapland dmabuf API changes (0791614)
  • adapt to Wrapland's Plasma window API changes (0f13dd7)
  • add a constructor to fake devices (4ea84d0)
  • add client to tabbox with early returns (8325a8c)
  • add focus blocker struct (44205de)
  • add free helper functions for virtual Toplevel calls (e58b475)
  • add new Wayland windows to lists in a minimal way (2e1f07a)
  • add osd notification QObject (6496a91)
  • add remnant to render objects without signals (8f8d5e6)
  • add virtual desktop action with template (3b7fa18)
  • add Wayland and X11 render subclasses (3980a4a)
  • assert on effects when registering thumbnail (7248e28)
  • assert on remanant reference window (16c3d81)
  • bump QML imports & fix JavaScript code style (ba3f946)
  • cache outline property in single variable only (b419474)
  • calculate shape render region in X11 window (1cf9cea)
  • change implicit capture of this (802f1f6)
  • change throw to std::terminate (35db748)
  • change virtual desktop id to QString (2035744)
  • check isClient for remnant (3a81864)
  • check modal being in tabbox list with utils function (027b697)
  • check potential candidate in lambda (885c302)
  • check Wayland usage for compositing option (6c8879b)
  • clean up rule book code (c7f7092)
  • clear space in space subclass dtors (96d887a)
  • combine wm_class properties in struct (df7d9d4)
  • composite QObject into base output (e6f9b75)
  • composite QObject into compositor (de93586)
  • composite QObject into cursor theme (2e8157f)
  • composite QObject into deco renderer (63d20f8)
  • composite QObject into edges (39cfaee)
  • composite QObject into render cursor (3e92eba)
  • composite QObject into rules book (0eb6191)
  • composite QObject into screen edger (ed98595)
  • composite QObject into stacking order (a27e804)
  • composite QObject into tabbox (a387271)
  • composite QObject into Toplevel (46c8389)
  • composite QObject into user actions menu (bcb1aa1)
  • composite QObject into virtual desktop manager (e701f94)
  • composite remnant with std::optional (66170af)
  • composite separate QObject into options (86568cd)
  • configure space from free functions (85df629)
  • connect Xwayland surface commit in free function (4b12e21)
  • consolidate free focus chain functions (b00a7bc)
  • constify net functions (0204f23)
  • constify xcb errors vector (608c160)
  • control info getter life time through explicit means (8718be7)
  • copy to remnant window in free function (936023b)
  • copy windows ready for painting (2d9db69)
  • create client machine only for X11 windows (f188b0f)
  • create deco renderer directly with scene (e81f927)
  • create outline without compositor dependency (3f26829)
  • create remnant in free function (ac91536)
  • create remnant in separate function (d11121c)
  • create remnant on remnant window creation (a2c3a94)
  • create separate QObject for tablet mode manager (3d2cca2)
  • create window killer with space template parameter (818f2be)
  • create X11 window substructs (1ba20c3)
  • create xdg-activation interface in activation struct (8cc6e9c)
  • debug: create model in static function (7900c43)
  • debug: manage internal windows in Wayland console model (6467e47)
  • debug: provide input D-Bus manager as argument (23bd9b9)
  • debug: put window ids into model class (197f621)
  • debug: setup model connections in free functions (e442fc3)
  • debug: store windows as abstract type in models (63b32fc)
  • debug: use STL containers to store windows (3aefa5a)
  • debug: use STL smart pointer (3f58d6a)
  • declare only Toplevel as Qt metatype (b9aed89)
  • deco: add render injector class (beba052)
  • deco: introduce render data class (e7a19f3)
  • deco: move renderer without virtual call (f6a6bee)
  • deco: schedule render without connection (dc5cef3)
  • deco: template client over window (f35938d)
  • deco: template renderer over client (86d3459)
  • deco: template settings over space (8dbff95)
  • deco: template window over reference (739df69)
  • define directions as enum class in types header (e330c1d)
  • define effect window group in separate header (8725d0e)
  • define EGL backend in header (84b00ae)
  • define focus chain change enum class in types header (22efc61)
  • define QPainter backend in header (4505e4f)
  • define render platform in header (0a401b7)
  • define rules enum classes (2517bb7)
  • define space functions in header (aba91c1)
  • define tabbox client implementation in separate files (ced4b24)
  • define tabbox client in separate header (43d9b69)
  • define tabbox handler implementation separately (b956d4e)
  • define user actions menu functions in header (a5f1807)
  • define wlroots platform in header (acba27c)
  • define X11 control in separate header (ebbdff3)
  • define xdg shell control in separate header (001c399)
  • delete client machine explicitly (8d659e2)
  • delete window from space helper (dca108b)
  • disable non-composited deco renderer reparent (d3a8ae8)
  • discard window shape and quads together (9ccc055)
  • disown X11 window data in free function (c5ce6eb)
  • early return on thumbnail compositing toggle (5e895f1)
  • early return to place (224a3e1)
  • edit rule book from free function (dbb6f28)
  • effect: define frame classes in separate files (291ffe9)
  • effect: define frame screen in separate files (cb7cba8)
  • effect: define window impl in separate files (70d0ab4)
  • effect: inject only effect handler dependency into frame (2157b39)
  • effect: make blur shader code readable (6e6763c)
  • effect: remove effects slot declarations (9dd7582)
  • effect: setup client connection with Toplevel argument (f0798bb)
  • effect: split up handler implementation (0727289)
  • effect: unreserve borders through virtual call (0d80ec6)
  • effect: use auto for iterators (be331e5)
  • ensure effects are loaded before clients (c0bd46a)
  • fetch damage only on X11 (6cb5eed)
  • find group in free function (911558f)
  • find window with appmenu in free function (25d7933)
  • generalize templates over window type (2e5288b)
  • get base class with using in X11 window (c2181fc)
  • get desktop via free function (cc857aa)
  • get input transform via free function (c083f6c)
  • get render stack from stacking order (51151ad)
  • get support info from free function (f2bfb42)
  • get window list through scripting space (d536e50)
  • get window type directly through separate function (58226f0)
  • get window type in pure virtual function (8fd0214)
  • handle desktop change directly in lambda (ccd2f21)
  • handle first window mapping without signal (fbee84b)
  • handle KDE idle timeouts through idle manager (2f5ba95)
  • handle surface damage in child classes (94d03a9)
  • handle X11 window geometry solely by free functions (058e695)
  • handle X11-specific fullscreen change via override (0b1f410)
  • handle X11-specific no border update via override (6ee35dc)
  • handle X11-specific space resize in separate function (520ab8f)
  • handle Xwayland wl_surface id event in free function (dde3e8a)
  • identify fullscreen group layers by lead (0598f26)
  • ignore raise on pending windows (ff2db0a)
  • implement compositor functions as free function templates (5392240)
  • implement keyboard redirect functions in X11 subclass (bc1f539)
  • implement space ctor and dtor logic in free function templates (d9e4ef1)
  • implement Toplevel repaint functions as free functions (65815a7)
  • implement window area functions as free functions (ffd819e)
  • implement X11 window activation functionality in free functions (735922b)
  • implement X11 window class functionality in free functions (35862d2)
  • implement X11 window damage functionality in free functions (078211d)
  • implement X11 window deco functionality in free functions (459ec75)
  • implement X11 window geometry helper functions as free functions (5c893b1)
  • implement X11 window input functionality in free functions (86975c7)
  • implement X11 window move functions as free functions (1cde8be)
  • implement X11 window release functionality in free functions (4a0e23b)
  • implement X11 window scene functionality in free functions (ec2fdf2)
  • implement X11 window session functionality in free functions (ae5198a)
  • implement X11 window transient functionality in free functions (a7423a0)
  • implement X11 window type functionality in free functions (9e710e0)
  • improve QML/JavaScript code style & bump imports (d408eb4)
  • init space in subclasses (deda762)
  • initialize Night Color shortcuts in free function (66e1923)
  • initialize options default values in class declaration (130930d)
  • initialize virtual desktop shortcuts in free functions (e59bb7f)
  • inject compositor dependency into render window (5b9114a)
  • input: access platform as value type (094d52b)
  • input: access platform without global getter (2b35dad)
  • input: add device to platform in free function (2708629)
  • input: be more specific about singleton interface (f7579e4)
  • input: composite motion scheduler with blocker (16a7033)
  • input: composite QObject into device redirect (6b5a9e5)
  • input: composite QObject into keyboard redirect (489d658)
  • input: composite QObject into layout manager (40a8901)
  • input: composite QObject into platform (54fff3a)
  • input: composite QObject into redirect (eb2e5a0)
  • input: composite QObject into touch (d030743)
  • input: composite QObject into Wayland cursor image (ba4d27c)
  • input: composite QObject into xkb keyboard (44a02a9)
  • input: composite QObjects into spies (564f99a)
  • input: create keyboard layout D-Bus interface in factory (e8e5e2d)
  • input: define filter helpers in header (d843e92)
  • input: define filters in headers (93c5cff)
  • input: define pointer control in header (7c6065c)
  • input: define spies in headers (d5c73d6)
  • input: define tablet mode manager partly in header (d51afec)
  • input: find windows in free function templates (733ad4a)
  • input: get cursor from redirect (0055037)
  • input: handle filters in Wayland redirect (6f5d979)
  • input: implement pointer redirect functions in subclasses (55bbb1d)
  • input: implement Qt event helper as free function templates (71c7509)
  • input: inject platform dependency into tablet mode manager (be4b4b4)
  • input: inject redirect as dependency to fake devices (e8e8e20)
  • input: inject redirect into layout manager (c282f2d)
  • input: inject space dependency into redirect (8235bbf)
  • input: introduce idle class (b50c661)
  • input: load control config without platform (34ca610)
  • input: make cursor update blocking variable non-static (0e3ff0f)
  • input: make D-Bus keyboard layout independent of manager (8d677df)
  • input: omit connecting unused X11 device event signals (8a66f83)
  • input: own input method in redirect (b138ab1)
  • input: own tablet mode manager in redirect (97a768b)
  • input: own XInput integration in redirect (6df0603)
  • input: process filters and spies in free functions (d30ddb4)
  • input: provdie Xinput integration as reference to dependent objects (0f7e1e9)
  • input: provide platform as argument to get primary XKB keyboard (faa3063)
  • input: provide position as value (e1f5488)
  • input: provide position to confine as reference (23a0e47)
  • input: provide redirect as argument to filter helpers (f97c58e)
  • input: remove abstract device redirect classes (bf732de)
  • input: remove backend pointers (73fd0eb)
  • input: remove device from platform in free function (77431ab)
  • input: remove device redirect surface checks on geometry changes (71ef211)
  • input: remove global cursor getter (f3cd4a6)
  • input: remove platform pointer in devices (fc8a815)
  • input: remove raw redirect pointer from platform (b051ef2)
  • input: remove XInput integration init function (2d3d7c5)
  • input: remove xkb keyboard dependency of manager (901e15a)
  • input: reuse window variable for confinement updates (d7ad0d8)
  • input: set deco on devices without arguments (eebb5e9)
  • input: setup space from redirect ctor (fe44adc)
  • input: simplify display storing (af37493)
  • input: simplify XInput integration ctor (064dd3b)
  • input: split function to set focus (3d977ae)
  • input: start interactive selections in redirect (62c581a)
  • input: start listening without delay to XInput events (8b3f52b)
  • input: store cursor in redirect (4d7ed16)
  • input: store cursor reference in theme (af5b90b)
  • input: store D-Bus keyboard layout interfaces in smart pointers (05d0c1b)
  • input: store redirect devices in subclasses (95dcd76)
  • input: store redirect in event filters (8700494)
  • input: store redirect in event spies (2b0c4e7)
  • input: store XInput filters in STL pointers (28b362f)
  • input: template devices D-Bus interface (9deef68)
  • input: template wlroots devices over platform (99e9603)
  • input: throw if XInput not available (841b45d)
  • input: warp pointer without platform (c63c228)
  • introduce space qobject (e78e77d)
  • introduce window geometry struct (0812a7a)
  • introduce window metadata struct (b175c23)
  • introduce window render data struct (0c660af)
  • introduce window topology struct (522917e)
  • loop edges via range-based for loops (fb35d3e)
  • loop transient family instead of group members (f807f14)
  • loosen type of X11 window added payload (6875480)
  • make appmenu use find_if (1ec639c)
  • make control variables public (ccd6b2e)
  • make focus chain variables public (c596568)
  • make focus stealing protection levels an enum class (32dd673)
  • make function parameter const (d475f28)
  • make NETWinInfo implementation a template class (7737173)
  • make opacity functions pure virtual (440e90e)
  • make remnant a template class (3ed56d0)
  • make rules take a list of desktops (4d7438a)
  • make suspend reason an enum class flag (f6c9d1b)
  • make Toplevel class pure virtual (d52e3ae)
  • make utils find use forward reference (51a7ca3)
  • manage bit depth and alpha in free functions (1a7c264)
  • manage skip close animation in free function (85c3089)
  • manage Toplevel outputs in free function (b97a0d4)
  • mark constructor explicit (190d47b)
  • move check on timestamp (e1bb6bf)
  • move discard texture to a lambda (3793188)
  • move focus chain functionality into free functions (9cce034)
  • move is_outline member to window subclasses (201b5c5)
  • move NET window info member to window subclasses (386edc6)
  • move notifiers to window subclasses (6558b4a)
  • move rules to win namespace (3747f77)
  • move shape members to window subclasses (164f48c)
  • move skip close animation member to window subclasses (8e441ef)
  • move space qobject into separate files (e18af6c)
  • move tool windows functionality out of space (37dd175)
  • move Toplevel rule functions (96e3a1d)
  • move Wayland surface members to window subclasses (b3963f0)
  • move xcb_visual property to X11 window class (3dce1d6)
  • own appmenu D-Bus objects with smart pointer (75ee452)
  • own DPMS filter in input redirect (c0242da)
  • own root info in space (84a10bc)
  • own screen edges through smart pointers (3f3113f)
  • own shape helper window in space (d9770bc)
  • own tablet mode removed spy explicitly (bfc9574)
  • own templated module platform classes in base (4b47d2b)
  • perform window operation slot-less (31a1bad)
  • populate remnant from free function (e2df864)
  • port deprecated KPluginMetaData constructor for json file (b010c41)
  • prepare simple window paint in separate function (f861c1e)
  • propagate clients from changed signal (4a2e0aa)
  • propagate clients in free function (1c13eb0)
  • provide action as argument instead of sender call (eecea74)
  • provide action as switch to virtual desktop argument (3ef546c)
  • provide activation setter in singleton interface (2eddfc6)
  • provide base singleton interface with platform pointer (bb62d0b)
  • provide callback struct for appmenu (03a2e41)
  • provide edge callbacks as function (8b39b4b)
  • provide egl data struct in singleton interface (089648b)
  • provide EGL data to EGL outputs (eac5138)
  • provide input platform as space argument (4478e87)
  • provide non-generic render types in singleton interface (3d4a69b)
  • provide non-generic win types in singleton interface (e12eadb)
  • provide output to focus chain functions (c1ead08)
  • provide QQmlEngine to tabbox handler instead of space (fce417c)
  • provide render state in types header (51a542d)
  • provide space as reference argument (3eca5ac)
  • provide space to propagation function (2365fa3)
  • provide window as reference (14ec35a)
  • provide window ids as signal payloads (906bf77)
  • provide windows as references (c4696a5)
  • provide xcb_window to window constructor (666d11b)
  • put remnant data in substruct (ab43415)
  • recreate tabbox borders with lambda (7100e47)
  • reduce X11 compositor loops (1154713)
  • reference render window in effect window (1e04f84)
  • register window thumbnails through singleton interface (b43c102)
  • reimplement focus stealing prevention functions as free functions (f2802fb)
  • reimplement geometry adjust functions as free functions (3b7971a)
  • reimplement on desktop resize functions as free functions (a1201ae)
  • reimplement pack position getters as free functions (4250762)
  • reimplement space activation functions as free functions (a0157c6)
  • reimplement space active window functions as free functions (f52526c)
  • reimplement space event function as free function (c9d326b)
  • reimplement space move functions as free functions (8d51429)
  • reimplement space quicktile window function as free function (52d71a7)
  • reimplement space session functions as free functions (a86de24)
  • reimplement space shortcut functions as free functions (1ce40bd)
  • reimplement space switch window functions as free functions (5e99c40)
  • reimplement space window hidden function as free function (ba2d514)
  • reimplement special window getters as free functions (5bc65f3)
  • reimplement transient space helper functions as free functions (1d569c3)
  • remove abstract compositor class (2eded41)
  • remove additional getters (f225626)
  • remove alignment requirements from data in vertex/index buffers (250d645)
  • remove arguments from property window type call (54fedb7)
  • remove check transients helper (f64fb31)
  • remove client check (93753fe)
  • remove clientAttentionChanged function (8481690)
  • remove compositing getter (26671cd)
  • remove D-Bus service watcher (316039f)
  • remove damage notify function in Toplevel (a0a1d9f)
  • remove daylight getter (71d101d)
  • remove decorationChanged signal (979d52e)
  • remove desktop integration getter and setter (04b1e6d)
  • remove effects window implementation Q_SLOTS (0ba0d37)
  • remove explicit Toplevel dependency in appmenu helper (1fe2700)
  • remove explicit Toplevel type from free functions (286e8c4)
  • remove focus chain QObject inheritance (56e2d14)
  • remove frame rendered signal (924a1c0)
  • remove group getters from Toplevel (b94e7db)
  • remove group member variable getters (1bea732)
  • remove includes from generic xkb helpers header (d66a3d5)
  • remove irrelevant members from compositor classes (813e29d)
  • remove isDeleted check in Toplevel (1631b60)
  • remove lambda and use move_to_back to restack subsurfaces (c209bb0)
  • remove local variable (762cb11)
  • remove manual overlay getter and setter (7ca3702)
  • remove override to create decoration (41c7d26)
  • remove QObject dependency from render platform (97a0e54)
  • remove reload config slot (1dc768a)
  • remove remnant control (d605922)
  • remove remnant discard function (22ff5c2)
  • remove render check on compositor repaint (1b2ba2d)
  • remove rule book Qt slots (12d08b1)
  • remove rule book set config function (efaca91)
  • remove screen edge slots specifier (98892c7)
  • remove screen edger slots specifier (be9aaf3)
  • remove shadow Qt slot (1564d82)
  • remove slots delcaration (472db6a)
  • remove space compositing boolean getter (ddbf743)
  • remove space focus functions (61a70b0)
  • remove space group functions (d06ca90)
  • remove space menu wrapper (6e40cc6)
  • remove space slots (8bb46da)
  • remove space windows getter (ef7ab3c)
  • remove stacking order stack getter (6fb117f)
  • remove stacking tree class (34d854f)
  • remove subsession storing (90265ad)
  • remove supported types flag of window type (93a793d)
  • remove tabbox slot declarations (3d81e77)
  • remove templated space dependency of focus chain (b7f9eef)
  • remove thumbnail item init (ea0210b)
  • remove timer based mouse polling (f0d9bdc)
  • remove Toplevel argument in D-Bus class function (2bfa345)
  • remove Toplevel arguments from its signals (30f3131)
  • remove Toplevel class (05c2d1f)
  • remove Toplevel desktop getters (e73cfb4)
  • remove Toplevel desktops access function (6a9a6c0)
  • remove Toplevel layer getter and setter (c656ba9)
  • remove Toplevel metatype declaration (fcf5e5a)
  • remove Toplevel painting ready getter (c75d049)
  • remove Toplevel Qt slots (d0917ee)
  • remove Toplevel repaint wrappers (7dbe438)
  • remove Toplevel shape getter (08f71ef)
  • remove Toplevel space repaint helper (28fe9a2)
  • remove Toplevel xcb-window getter (50d78d1)
  • remove transient getter from Toplevel (9199ead)
  • remove unused options members (16ac8a6)
  • remove various Toplevel getters (2092d93)
  • remove virtual call to perform mouse command (01aa192)
  • remove virtual desktop manager Qt slots and properties (730dfb4)
  • remove Wayland window Q_OBJECT macro (5826508)
  • remove X11 window inheritance of Xwayland window (29cb500)
  • remove X11 window Q_OBJECT macro (4a82609)
  • remove x11/window.h include in stacking header (07bba82)
  • remove xcb_window member from Toplevel (b3df4c0)
  • remove xwayland_interface class (d92ede9)
  • rename reserve callbacks functions (c14675b)
  • rename sort windows by layer variables (8c6c4a4)
  • reorder free function definitions (1c871e4)
  • replace explicit X11 window type with template (5b7679f)
  • replace focus chain desktops Qt type with STL type (567b83b)
  • replace focus chain list Qt type with STL type (84d3f6a)
  • replace remaining non-virtual space member functions (d31c991)
  • replace shortcut macros with lambdas (db1c189)
  • replace snap macros with lambdas (f90bf12)
  • replace Toplevel discard shape with free function (887b518)
  • request focus on window reference (f741f34)
  • require render restack less often (2b87b60)
  • reserve screen edges with ids (0440ca5)
  • respect X11 maximizing aspect via separate function template (f476ca6)
  • script: add platform implementation class (181a809)
  • script: add window implementation class (a33a672)
  • script: inject only effect handler dependency into effect (b42f99d)
  • script: own spaces in platform (0db4a0e)
  • script: provide non-generic types in singleton interface (c9948c9)
  • script: register borders through effects handler (436f711)
  • script: remove Toplevel dependency of abstract space (4f25ec5)
  • script: store border callbacks in STL containers (2b983ab)
  • set active window of root info in free function (85e6dcf)
  • set control icon without setter (c0c45a2)
  • set delay focus window and reset timer separately (5c03839)
  • set desktop of move resize client early (47963be)
  • set desktops in control overrides (ef8f6b4)
  • set DPMS in free function template (4d0fb59)
  • set kwinapp config value instead (b8d4a50)
  • set operation mode from ifdef else (6c026f4)
  • set operation mode in start function (d519fd8)
  • set showing desktop late on desktop change (aed48d1)
  • set window and remnant properties each together (04352dc)
  • setup rule book in free function (ad2379d)
  • setup window geometry connections in free function (3779796)
  • share internal window type with remnant (9cf5d68)
  • share Wayland window type with remnant (4e4acf8)
  • share X11 window type with remnant (04a948b)
  • show debug console from space (9736cb5)
  • signal remnant creation from space (5eed228)
  • signal remnant creation in space helper function (0de8c35)
  • simplify appmenu button check (66d6864)
  • simplify render window reference retrieval (9aaa8c9)
  • simplify stacking order implementation (db20445)
  • simplify thumbnail item parent setting (87514cc)
  • sort windows by layer in win namespace (641fed3)
  • specialize maximizing window in virtual call (2f7aed6)
  • specialize restoring geometry from fullscreen in virtual call (c537e1f)
  • specify pointer type explicitly on template parameters (9a581f0)
  • split deco update of cursor image (e0217a8)
  • split desktop functions into multiple headers (154ad62)
  • split function to activate and deactivate a window (e9e1a2c)
  • split function to set active window (3607049)
  • split function to set move resize window (1481f3c)
  • split geo functions into multiple headers (9064cd5)
  • split out rule functions to free function templates (ffdacca)
  • split out X11 desktop change to separate function (08f2ff4)
  • split stacking order update function (b29c601)
  • split up creation of remnant window function (8bf9471)
  • split up function to get timestamp on window creation (36961c9)
  • split up move header (38052c7)
  • split up pointer constraints update (13c043a)
  • split up QPainter paint function (492b52a)
  • split up stacking header into multiple headers (047aae1)
  • split up X11 control header into multiple headers (295c909)
  • split up Xrender paint function (ced4e86)
  • start Wayland server later (65d70c4)
  • static_cast implicit conversions (6c07d6d)
  • stop unregistering org.kde.kwin dbus service (26190f1)
  • store base ref in Wayland space (09826df)
  • store base ref in X11 space (dd8604e)
  • store callback ids in screen edger (3fc7c88)
  • store client machine and leader in X11 window (ee2eb35)
  • store control appmenu in separate structs (c85bf22)
  • store damage handle in X11 window class (17ab193)
  • store focus chain by value (4611a54)
  • store input platform in base (9442e47)
  • store input platform in D-Bus interface (47c1b68)
  • store input redirect in OSD notification (ff01472)
  • store osd notification in space (099bd8c)
  • store raw pointer to window in menu (5c563bd)
  • store remnant via smart pointer in windows (fbb6d2d)
  • store render window in shadow (249f61b)
  • store screen paint data non-statically (fee6a36)
  • store space in base (933bc43)
  • store space ref in Wayland windows (94b5c67)
  • store stacking order as value type in space (5c1aa1f)
  • store stacking state in separate struct (53cdddb)
  • store static pictures in Xrender scene (b38dbf7)
  • store supported default window types as NET enum (c480392)
  • store swap event filter directly in Glx backend (77e915a)
  • store thumbnail item parent as raw pointer (b108b44)
  • store Wayland server in base (f49ac53)
  • store window rules in STL container (b8d3329)
  • store window type in window (b670741)
  • store windows in heterogeneous container (0a44de6)
  • store X11 outputs with raw pointer (05ab14e)
  • store Xwayland instance in base (5879a76)
  • subclass D-Bus interface class (c86603e)
  • template buffer subclasses (c34d533)
  • template compositing D-Bus interface (cf2fe85)
  • template control over window (c053db6)
  • template D-Bus implementation over space (c765f4c)
  • template EGL backend (52a8f32)
  • template focus chain over space (799c620)
  • template GLX backend over platform (13a4a45)
  • template lanczos filter over scene (bdfc3f1)
  • template layout manager over xkb manager (73dfb28)
  • template layout policies over manager (df1a3b6)
  • template osd helper over space (0a631be)
  • template osd notification over input redirect (c0f52be)
  • template over remnant window on creation (c157e96)
  • template overlay window over compositor (c7edd07)
  • template QPainter backend (4970d92)
  • template render cursor (79d3298)
  • template render platform over base (7659054)
  • template root info (9517be1)
  • template screen edges (78aeb60)
  • template spaces over base (2fe16a1)
  • template stacking order helper functions over window (5c48482)
  • template stacking order over window type (1b91d8e)
  • template tabbox over space (cb5971d)
  • template texture over backend (34b0448)
  • template transient over window (3f02682)
  • template user actions menu over space (b052ec1)
  • template window killer over space (7c6aba8)
  • template wlroots render output over platform (a119f06)
  • template X11 compositor over platform (6481da3)
  • template X11 support classes over space (61644c7)
  • template X11 transient over window (e609fd4)
  • template xkb manager over platform (ccb29e3)
  • transfer remnant data in separate function (375b5d2)
  • try move elevated windows before copying (ade1bbd)
  • try move elevated windows before copying (2b178a7)
  • try move windows before copying (c895547)
  • unify maximize mode changed signals (034fb34)
  • update deco cursor with at instead of deco client (da03c3c)
  • update idle on handling desktop change (6f48949)
  • update QML/JavaScript code style (57eba91)
  • update tool windows in x11 namespace (fa8b9b8)
  • update user time on activation in virtual call (974c74d)
  • update window rules through signal (4e40b41)
  • use a list of virtual desktop UUIDs (36cf08b)
  • use algorithm instead of for loop (102324c)
  • use enum_index helper for layers (81fa4c8)
  • use internal id from effects API (5bf1cd3)
  • use JavaScript strict equality === (b623704)
  • use redirect variable in device redirections (cc63102)
  • use STL containers in rules book and settings (843eb35)
  • use STL smart pointer (bd9d44e)
  • use STL smart pointer instead of Qt type (cf53bcb)
  • use sub calls to check applications (732e7f2)
  • use unsigned int instead of typedef in focus chains (73bbeac)
  • virtualize call to destroy Plasma Wayland integration (d2cfa7d)
  • xwl: composite QObject into drags (c764221)
  • xwl: composite QObjects into visits (bf9c5e0)
  • xwl: connect only when selection handles offer changes (790a2c8)
  • xwl: constexpr require functions (213b06d)
  • xwl: create runtime integration substructs (8b5726e)
  • xwl: decide X11 drag target by type (a87b399)
  • xwl: define selections in headers (9b4d1d3)
  • xwl: define visits in separate files (b36d264)
  • xwl: make visit members public (8a7696c)
  • xwl: replace template specializations with member functions (0af3e97)
  • xwl: store drag target window as subtype (83bdd67)
  • xwl: template data bridge over space (f003026)
  • xwl: template data bridge over window (78bdf18)
  • xwl: template dnd class over window (985201b)
  • xwl: template drags over window (e29baac)
  • xwl: template main Xwayland class over space (0e0a41e)
  • xwl: template over space (2fe5366)
  • xwl: template selections over space (2654191)
  • xwl: template visits over Window (997878f)

5.25.0 (2022-06-14)

5.25.0-beta.0 (2022-06-12)

⚠ BREAKING CHANGES

  • KWIN_SINGLETON macros are removed from kwinglobals header
  • effect: effects must consider render target rect and scale
  • GLRenderTargets can only be pushed/popped, not en-/disabled
  • effect: KWINEFFECTS logging category declaration is removed

Features

  • add Accessibility keyword (9d728fe)
  • add debug info when X11 grabs fail (e6152fc)
  • add Exclusive and SelectAll types to options model (c8fc149)
  • allow copies of internal atom wrapper class (79ffef6)
  • allow direct uploads of 16-bpc QImage formats (f816eb7)
  • allow handling of foreign renderbuffers in GLRenderTargets (5ac4de9)
  • change app name in notifyrc (df22969)
  • consider _GTK_APPLICATION_ID for matching desktop files (4ca2ee5)
  • deco: support blurregion from kdecoration2 (9213daf)
  • drop GLRenderTarget::isRenderTargetBound() (edeebcf)
  • drop ptrace logic (f17dbbb)
  • effect: add animation effect header to installed subdirectory (8a0a1c1)
  • effect: add deform effect header to installed subdirectory (f5cb4cb)
  • effect: add effect quick view header to installed subdirectory (08228e8)
  • effect: add EffectQuickScene::setSource with initial properties (33f15c0)
  • effect: add GL platform header to installed subdirectory (b8227b3)
  • effect: add GL texture header to installed subdirectory (293086f)
  • effect: add GL utility functions header to installed subdirectory (ea07952)
  • effect: add GLTexture::render() overload that takes no scissor region (b8d6f5f)
  • effect: add new blend effect (5d67ca6)
  • effect: disable zoom with XRender (42d2918)
  • effect: install export header to effects library subdirectory (008b728)
  • effect: install GL utils header to subdirectory (0c21c32)
  • effect: install separate effect frame header (0a6011c)
  • effect: install separate effect header (fd11a7b)
  • effect: install separate effect plugin factory header (c901f28)
  • effect: install separate effect screen header (2717f71)
  • effect: install separate effect window header (dcdc167)
  • effect: install separate effects handler header (f77bcf6)
  • effect: install separate motions header (e4a898f)
  • effect: install separate paint clipper header (dda4261)
  • effect: install separate paint data header (756aa33)
  • effect: install separate time line header (e2dddcd)
  • effect: install separate types header (4e9ddd3)
  • effect: install separate window quad header (f45a21c)
  • effect: install Xrender library to subdirectory (49ee9a0)
  • effect: provide blur integration (1872419)
  • effect: provide contrast integration (8f6f3af)
  • effect: provide KScreen effect integration (ce2cc47)
  • effect: provide slide integration (674301c)
  • effect: remove GLRenderTarget::{attachTexture,detachTexture} (373374b)
  • effect: remove legacy X11 atom way to highlight window (d685017)
  • effect: remove legacy X11 atom way to present window (19115c6)
  • effect: remove logging category declaration (01fb3a3)
  • effect: remove sliding popup properties (af5af4c)
  • effect: support kdecoration2 blurregion (e4c356c)
  • effect: support setting opacity on OffscreenQuickView (2b2d069)
  • effect: zoom all desktops with eyeonscreen effect (8d6f22e)
  • group compositing options in compositor KCM (8ffae64)
  • inhibit edges when the active window is full screen by default (af86127)
  • input: add support for KGlobalAccelInterfaceV2::keyReleased (2b9a68d)
  • input: change global shortcuts to use the Meta key by default (ed0a2ee)
  • input: install org.kde.kwin.InputDevice XML (09f9680)
  • log app name and version on start (e25cbd5)
  • log Wayland window pointer address (dc795f3)
  • omit setting the _ORG_KDE_KWIN_DBUS_SERVICE atom on the root window (2e32459)
  • omit setting the KWIN_RUNNING atom on the root window (ecb8b82)
  • only show touch screen KCM on Wayland (69bcfb6)
  • paint background with alpha 0 (3fe8a9b)
  • prefer screen inversion via effects (fbbf966)
  • provide blit from framebuffer call in effects handler (3bd20dc)
  • qpa: implement services (0f50f11)
  • remove GLRenderTarget en-/disable calls (461828f)
  • remove KWIN_SINGLETON macros (e27ee98)
  • remove xcb shm helper (47978aa)
  • specify RandR inversion screen via root window only (0484835)
  • support KWindowSystem interface with activation support (c5345bd)

Bug Fixes

  • adapt to wlroots EGL struct becoming opaque (f45aed8)
  • adapt to wlroots input changes (183b94a)
  • add "cmath" header in deco_renderer.h (34f386f)
  • add missing cmath imports (f525271)
  • add missing include for libc++ after c2f41815196a (8fcbbb5)
  • add missing include for xcb tree (0573d02)
  • add missing initializations (d9df7c4)
  • add missing NoDisplay=true to KCM desktop files (b038c66)
  • add missing static keyword (ab3c16c)
  • add missing win/types.h include (c13adb8)
  • always set special window type for layer surfaces (03b3e80)
  • assert glFenceSync (3536ba4)
  • assert on restacked other window being different (02c47fc)
  • bump RLIMIT_NOFILE limit (165fea6)
  • check for and reset GLX backend on tear down (c16fbca)
  • check for control on deco render (25c04c5)
  • check on session active when scheduling new frames (2ea56cc)
  • check output metadata for null strings (df4c01d)
  • compare executablePath against canonical path of exec fields in .desktops (acc2da4)
  • compare with const end iterator (180ce71)
  • correct botched indentation code for final checkbox (4433617)
  • correct prefix of Lanczos shader path (bc5dc41)
  • create screen edger in space child classes (8ee869a)
  • deco: correct incorrectly disabled blur for maximized windows (416de9e)
  • deco: do not make any blur calculations when blur is not supported (bc64d34)
  • destroy annexed remnants with alive leads before paint (d595c9f)
  • destroy leaderless annexed windows directly (058d544)
  • do not leak QKeyEvents (7869e19)
  • don't add potential nullptr to result (d62892b)
  • don't block screen edge for fullscreen effects (63ec63e)
  • don't force QT_QPA_PLATFORM=wayland (7e594e2)
  • dont erase item on the looping container (5d2b0c9)
  • draw the ratio of the monitor we are on (a86816f)
  • drop "wayland-server.h" in egl_data.h (c01773e)
  • effect: abort blit from framebuffer when render target is missing (33759d7)
  • effect: avoid animating window fallapart while there's a fullscreen effect (f7931b3)
  • effect: avoid shrinking unrelated opaque regions for blur (de00505)
  • effect: avoid using QApplication in sliding popups (ca699d1)
  • effect: capture screenshot in paintScreen() (d9cf0d7)
  • effect: check lockscreen status for fullscreen effects (5a2e7b1)
  • effect: correct desktopgrid config group name (025a82e)
  • effect: don't call load() from KCM constructor (402bb8c)
  • effect: drop window visibilty reference after painting (0072b73)
  • effect: get virtual screen geometry instead of client area (899427c)
  • effect: let fullscreen take priority over blend (01bac7a)
  • effect: load effects in handler child class constructors (7f5d739)
  • effect: make DeformEffect disable clipping if specified region is infinite (5cebf42)
  • effect: make scale not grab open and close roles (da127d2)
  • effect: move screenedge forward in the effect chain (7749e3e)
  • effect: omit setting highlight window duration of zero (7fcce46)
  • effect: pick color in paintScreen() (96a1dae)
  • effect: publish pid property (d2bc1a3)
  • effect: remove QApplication include in present windows (afbf102)
  • effect: remove QApplication include in zoom (b438bb2)
  • effect: remove unneeded Wrapland includes (bd55950)
  • effect: remove window flickering on blur (39cf2f0)
  • effect: render zoom scene in an offscreen texture (dee1769)
  • effect: repaint with zoom factor of 1 (fa41660)
  • effect: reset effect integrations over registry copy (e028e9b)
  • effect: rework how zoom cursor texture is managed (c33dea7)
  • effect: schedule a fullscreen repaint if stopped zooming (1bce353)
  • effect: specify zoom effect chain position (9b86ce4)
  • effect: use GL_LINEAR filter for zoom (1d86d9a)
  • effect: use the duration parameter (d3f8107)
  • enable and commit to DPMS on (524bec1)
  • ensure qt containers does not detach (35683ef)
  • ensure that toplead exist before repaint (20a40a8)
  • ensure window quads are not detached (e38fd8a)
  • evaluate GL backend transformation on blit from framebuffer (603f1d3)
  • get proc address ourselves for eglQueryWaylandBufferWL (81a3ee6)
  • get recommended and requested layer surface geometry (b2c87db)
  • guard against null group (cd8b834)
  • ignore notification and osd types on position checks (9da4167)
  • improve support information message (0d3d94a)
  • include logging header (0b891a4)
  • inform layer surfaces about output geometry changes (745cda9)
  • initalize uninitialized var (4a48c4e)
  • initialize base X11 output data (f3fcfed)
  • initialize match variable (4ae7836)
  • initialize uninitialized action_atom (e0be65b)
  • input: check for headless backend instead of device (f9e8f52)
  • input: check seat capabilities (8808363)
  • input: remove unnecessary forward declarations (8829d73)
  • input: send axis event to decoration (7423506)
  • input: set and unset focus on seat capability changes (616f806)
  • keep xdg-popup parent set via layer-shell (48dbd02)
  • load effect also if plugin defined X-KDE-Library (dc3db46)
  • make control actually demand attention (58e254e)
  • make KWin scripts KCM write its pending states to config (4d5fa63)
  • move X11 screen edge to win namespace (cc4808c)
  • only ref annexed transient remnants for each lead (876d548)
  • only use sRGB configurations with depth 24 (f10e01e)
  • prefer glClear for old hardware support (f0b6ff4)
  • provide window as reference when switching desktop (068a193)
  • push window early on lists (ee16cc8)
  • qpa: position decoration tooltips relative to screen (12f5a5b)
  • qpa: provide a QPlatformNativeInterface (2867909)
  • raise lead if window is without control (0bef8b4)
  • remove assignment operator in platform.h (314df25)
  • remove GLES checks in EGL texture updating routines (78bb37a)
  • remove ineffecitve update to shadow (6fa3bf0)
  • remove transient children from copy (ada3a38)
  • render into texture framebuffer to flip for wlroots (f51f386)
  • restore cout flag after left positioning (cc47ca0)
  • revert to expected osd notification QML paths (97c5440)
  • set default value as false (dcb19a8)
  • silence compiler warning about overflow (7f40cbf)
  • silence compiler warnings (c6b30e9)
  • skip remnant creation without compositing (3c4aa68)
  • tighten checks on dmabuf updates having no image (772a09b)
  • update download.kde.org references with autoconfig.kde.org (2275ba3)
  • use font metrics to compute corner offset (79c2805)
  • use height instead of width (9b5e287)
  • use QWidget method for initial screen edges KCM screen detection (905282a)
  • use wlroots new input event names (dcb12b4)

Refactors

  • access compositor through space (9bf668a)
  • adapt to OpenGL related Qt6 QQuickWindow API changes (a948273)
  • adapt to various Qt6 container changes (a915778)
  • adapt to Wrapland dmabuf buffer data changes (631664a)
  • adapt to Wrapland dmabuf buffer plane changes (7b2d3ce)
  • adapt to Wrapland dmabuf buffer smart pointer change (1ef7891)
  • adapt to Wrapland dmabuf formats changes (cfa871a)
  • adapt to Wrapland dmabuf import buffer change (facc104)
  • adapt to Wrapland dmabuf style changes (68ee8a0)
  • add output test functions to test library (1dc7ca6)
  • add remnant in free function to space (079391b)
  • add render platform singleton interface class (761139f)
  • add singleton interface classes (a72559c)
  • add space reference to X11 window (5a05745)
  • add tabbox_ prefix to files (615cd29)
  • add X11 window with control in free function to space (123cf49)
  • assert on transient child removal (66be850)
  • change call order on compositor start (effff51)
  • change namespace TabBox to win (2812f84)
  • change old C style casts (e81253b)
  • change ownership of DRM lease device (80ebebd)
  • change ownership of PresentationManager (7fc3830)
  • check on common event waiting for render timers in helper (c25636f)
  • clean up defunct version header for kwinscripts kcm (a93aa01)
  • clean up header includes (e121508)
  • cleanup compositor on scene error only on X11 (ce4eb68)
  • cleanup utils includes (6050af9)
  • composite QObject into deco client (9952609)
  • create shadows as smart pointers (eb95224)
  • create wrapper atom class without default arguments (9ef5092)
  • debug: inject space dependency into console (5a52111)
  • debug: move console files deeper (f9de84f)
  • debug: move perf into debug directory (3b779c9)
  • debug: simplify ftrace singleton implementation (c9d7cb6)
  • debug: store references to space (35f9498)
  • declare filtered display class in own header (726349c)
  • deco: clean up QPalette handling in palette (98fd6a6)
  • deco: own renderer explicitly (b2012f4)
  • deco: store references (86a1ee2)
  • deco: store scene reference in renderer (f2f45bd)
  • deco: template bridge over space (47f8dcd)
  • define core logging category in base (e7d307f)
  • define invalid point in utils namespace (062e764)
  • define send_to_screen function in move header (31be006)
  • define strut area enum with internal flags type (208d7e9)
  • delete remnants at end of paint run (389369f)
  • delete windows in free function (2aade54)
  • destroy XCB damage in x11::window (bc4e329)
  • determine backend compositing directly (d7c7eb3)
  • determine supported compositing types without backend (0bfae86)
  • don't rely on implicit conversion from int to QUuid (011831d)
  • drop seat check on device changes (02ca19c)
  • effect: decouple GLRenderTarget, GLVertexBuffer from global geometry (193445b)
  • effect: empty out kwineffects files (677f08e)
  • effect: forbid most of operations with invalid render targets (780fc0e)
  • effect: implement property handling in free function templates (f2edc83)
  • effect: improve GLRenderTarget code (5dce77a)
  • effect: include new effect library headers internally (ba7dee0)
  • effect: include new GL library headers internally (501688f)
  • effect: install export header to GL library subdirectory (dfd65f0)
  • effect: introduce SharedQmlEngine class (75aa24b)
  • effect: make the desktop grid not depend on nested prePaintWindow() (7168cfd)
  • effect: make the slide effect not depend on nested prePaintWindow() (b01e7f0)
  • effect: make TimeLine API ergonomic with presentation timestamps (3915da3)
  • effect: move X11 implementation out of backend (1ada4c9)
  • effect: overhaul sliding popup effect (d2f5a97)
  • effect: port EffectFrame to EffectQuickView (9095b78)
  • effect: port mousemark away from KPluralHandlingSpinBox (d92e290)
  • effect: port to QStyleHints in desktop grid (9d6ad4b)
  • effect: remove central internal logging files (4cdaf95)
  • effect: remove contrast paint area tracking (1397bd5)
  • effect: remove unused KAboutData includes (29ca911)
  • effect: sanitize animation data in free function (8d5b10f)
  • effect: use blurRegion to identify if a decoration supports blur (00bf8c4)
  • effect: use non-deprecated QButtonGroup signal (d22cc92)
  • find controlled X11 windows in free function (5ee5601)
  • find EGL function pointers manually (8f723c8)
  • find unmanaged X11 windows in free function (9caaa69)
  • finish X11 compositing in free helper functions (6bb8b9c)
  • finish X11 windows precisely (2c687a3)
  • force QtQuick rendering from QPainter scene ctor (278c1e4)
  • fully qualify Qt::endl, needed with Qt6 (3757100)
  • generalize space function to delete a window (9b762af)
  • get backends in scene constructors (f4367c3)
  • get index from output reference (253557f)
  • get nearest output from free function template (ced6c4a)
  • get selected compositor from backend instead of supported ones (da6314d)
  • give callback to user interaction filter (42f3dfe)
  • hand over effects from space to supported check (48b0966)
  • hand over screen number to get default depth (ae8cb80)
  • handle complete KHR image attach in helper (dfa0760)
  • handle current output in base (cbfcba3)
  • handle destroyed focus elements explicitly (b006501)
  • handle output follows mouse setting in options (8955636)
  • ignore space destroy for composite timer (d927eec)
  • impelment GL backend idle in scene (89d46a6)
  • implement atoms header-only (eccba8e)
  • implement moving client filter header-only (70168eb)
  • implement user interaction filter header-only (9b5799b)
  • improve rules OptionsModel (fa105ea)
  • inhibit idle per window in free functions and without wrapper class (f407946)
  • inject dependencies into outline classes (ac816d9)
  • input: handle shortcuts in platform (fa08a23)
  • input: own redirect by space (88dfae3)
  • input: remove space checks (36899a2)
  • input: store platform as reference in redirect (acf39b4)
  • input: store redirect in effects filter (98c1e6d)
  • input: trigger X11 shortcuts when releasing rather than pressing (bf13157)
  • input: use space from redirect (ebe6344)
  • introduce buffer windowing integration struct (1c81e2e)
  • keep X11 outputs and emit added/removed signals (ef718d1)
  • let release selection timer run (dcba5af)
  • load SHM textures directly on update (e84058c)
  • make current screen follow mouse public (6d8fc2e)
  • make display variable public (f7b799f)
  • make dmabuf buffers set public (0fe73ef)
  • make internal connection a public struct (1f37999)
  • make setting realtime scheduler more fine grained (b79b933)
  • make window property notify filter class template (b66205b)
  • manage EGL context through direct EGL calls (8f43cad)
  • manage X11 outputs in base (d85652f)
  • merge controlled window factory functions (fe20dc1)
  • merge dmabuf texture load and update (e052d44)
  • merge EGL/wl_drm texture load and update (5f0fc97)
  • merge internal image texture load and update (1df2b0b)
  • merge setup and finish start compositing methods (d0253e1)
  • merge SHM texture load and update (e6c5741)
  • merge texture load and update function templates (9c467ce)
  • merge texture update and load (d9a7119)
  • merge unmanaged window factory functions (b14db91)
  • modernize kill window code (281122d)
  • modernize on screen display code (1294fea)
  • modernize screen locker watcher (fc819ae)
  • modernize service utils header (40ce4e0)
  • modernize session manager code (a244edb)
  • move atoms to base (fe50770)
  • move blocker to utils directory (d1f1593)
  • move buffer classes into separate files (a77fda4)
  • move client message event function to X11 window class (0375a1d)
  • move container helpers to utils directory (5ed7ff2)
  • move EGL texture updates to wlroots backend (44b3e4c)
  • move flags mechanism for enum bitfields to global namespace (d663d35)
  • move functions to X11 window class (2e2c2ac)
  • move gamma ramp to utils (146d508)
  • move initializations to header (dc285c0)
  • move invert screen logic to effects (1bdee91)
  • move kill window header to win directory (33f9a17)
  • move killer helper to win module (e647656)
  • move on screen display classes to win namespace (6485fff)
  • move on screen display files to win subdirectory (d099568)
  • move options files to base directory (b45f403)
  • move options to base namespace (d72c6ab)
  • move property notify filter to render module (91e6bb0)
  • move screen locker watcher to new desktop namespace (f4cad45)
  • move seat handling to base (27f50bb)
  • move service utils header into desktop directory (5834194)
  • move session manager files to win directory (cbfd64b)
  • move session manager to win namespace (1fa5a22)
  • move shortcut dialog to win module (f071479)
  • move space files to win directory (3f751ad)
  • move struct rect to win module (d7d9696)
  • move tabbox into win directory (ef7cca2)
  • move user actions menu files to win directory (2b01c9f)
  • move user actions menu to win namespace (945f75a)
  • move viewport getter to windowing integration struct (30a7a01)
  • move Wayland globals to space (47709fe)
  • move Wayland server files to base (9e16017)
  • move Wayland server to base namespace (9e79aa6)
  • move workspace session manager code to workspace source file (d39c1c1)
  • move Workspace to win namespace (3e84e32)
  • move workspace user actions code to workspace source file (f11f607)
  • move X11 grabbing into base (b016ae1)
  • move Xcb Qt type translators into base (81266eb)
  • omit discarding remaining remnants (dfcbb14)
  • override transient remove lead function (aeeaa67)
  • own D-Bus interface by compositor (e520e56)
  • own D-Bus interface via smart pointer (0b9146e)
  • own decoration bridge in space (d38dfe6)
  • own effects in compositor (a0cc16f)
  • own items in space explicitly (f80ac6c)
  • own KGlobalAccelD explicitly (775da23)
  • own options in Application (037d29f)
  • own presentation object with smart pointer (db03892)
  • own screen locker watcher in application (8bd3684)
  • own session manager via smart pointer (d1db06c)
  • port away from deprecated q[s]rand() methods (032e28a)
  • port from I18N_NOOP to KLazyLocalizedString (7a9a33a)
  • port from KNS3::Button to KNSWidgets::Button (66d89d5)
  • port from QStringRef to QStringView (8137e42)
  • port KCMs to new install location (305439a)
  • port KComboBox to QComboBox (8831ea0)
  • port KWin Scripts KCM to QML (48fe8d7)
  • port to qmlRegisterAnonymousType() (5c990dd)
  • provide compositor as argument to space (99d4ae5)
  • provide shadow atom in window (febb308)
  • provide space as argument to unclutter desktop call (de1a2ed)
  • provide window as reference (3df4eea)
  • provide X11 compositor (1fa9dff)
  • push default framebuffer as render target on X11 (d32735c)
  • qpa: store pointer to base output for screen (affb207)
  • reduce ifdefs in supportInformation() (2614d53)
  • reference egl data locally (0db50d0)
  • remove addRepaint overloads (1614b43)
  • remove app menu singleton (8b10eaf)
  • remove buffer surface getter (d24d41d)
  • remove call to check pending flush (fb37902)
  • remove call to KQuickAddons::QtQuickSettings::init (a961968)
  • remove client list from space (2d8734d)
  • remove compositing helper (d603863)
  • remove compositing return value (2865290)
  • remove device redirect focus getters (38810a3)
  • remove dmabuf buffer class (4f34911)
  • remove dmabuf buffer registry (594d42d)
  • remove EGL residues from X11 OpenGL backend factory (1d9ab8d)
  • remove extra update shadow call (d800f04)
  • remove find window space helpers (424cc8b)
  • remove focus chain singleton (4437afc)
  • remove for each space helpers (3dd805e)
  • remove full repaint on DPMS on (4b6b79b)
  • remove gamma ramp source file (686ac77)
  • remove geometry getters of render windows (5ea5565)
  • remove global atoms (8d9cd66)
  • remove global compositor getter (13266cc)
  • remove global workspace getter (046c69a)
  • remove guards around unistd.h (a6ccf35)
  • remove initOutputs function (4a0b936)
  • remove kill window source file (da45de6)
  • remove main include from options header (c3786b6)
  • remove plugin loading using keywords (dff3d44)
  • remove private GLX load texture function (b0551f2)
  • remove remnant count (e4c3a30)
  • remove render window cleanup in scene (5e5fb8d)
  • remove render window hash (cda5b8c)
  • remove rule book singleton (fd62bc1)
  • remove scene created signal (da09acb)
  • remove scene getter (b620434)
  • remove screen edger init function (995b852)
  • remove Screens class (7090861)
  • remove screens count getter (cb28918)
  • remove Screens count handling (7a47f0e)
  • remove setup compositing boolean trap (32e6f3c)
  • remove space check on window and deco destroy (2f6e805)
  • remove space function to add internal window (c50d78e)
  • remove space function to add unmanaged (c14e9b9)
  • remove space function to remove internal window (3fd3ae9)
  • remove space member function send to screen (3b884a5)
  • remove static Workspace self function (9f51583)
  • remove tabbox singleton (49050eb)
  • remove unmanaged with common window remove function (7272895)
  • remove unpolish() calls (317332c)
  • remove unused include (e22b496)
  • remove utils source file (e2be0cc)
  • remove virtual desktop manager singleton (81414c8)
  • remove WindowId alias (1d0146a)
  • remove X11 fallback output (5d1bb54)
  • remove X11 window with control in free function from space (00a8ad4)
  • remove X11-only check on finish composite (ae68ad8)
  • remove Xwayland window setup compositing override (076c9fb)
  • rename tabbox files (16f1c7e)
  • rename win/space header (10adc93)
  • replace internal effects usage (1747a60)
  • reset compositing without signal (9eba9f2)
  • return viewport rectangle in getter (3c36f29)
  • reuse remove window helper (398cabe)
  • reuse update buffer function on getting buffer (73661aa)
  • script: port to QRecursiveMutex (002e75a)
  • script: store reference to space in platform (2dd6e8f)
  • script: virtualize functions depending on space (78c5174)
  • select Wayland render backend depending on backend (2db9d34)
  • set selected compositor in wlroots backend (da24856)
  • set xdg-activation token in separate function (0bf3895)
  • signal remnant creation from factory function (54be3ed)
  • signal remnant creation separately (ba7b3cc)
  • simplify buffer creation (059b527)
  • simplify discard buffer call (d8487ce)
  • simplify ScreenLockerWatcher (bea777a)
  • simplify support debug printing (38797a1)
  • simplify swap time debugging (0fe6017)
  • slim down generic finish compositor start function (78b7c1b)
  • split up EGL texture loading (18f0a7a)
  • split up EGL texture updating (9ffaaa7)
  • split up unmanaged release (7bfef82)
  • split up xcbutils (88e6c24)
  • start compositor explicitly (dc21845)
  • start compositor late (ffb8b5b)
  • store bounding output topology data in base (b622f0c)
  • store central output pointer in Toplevel (5e930cb)
  • store compositor reference in overlay window (198dfd2)
  • store current output as pointer (a5c4947)
  • store internal window buffers in child class (fae795b)
  • store reference to compositor in swap event filter (7853e6c)
  • store reference to platform in cursor (a0947b9)
  • store reference to scene in Gl shadow (8e05155)
  • store reference to space in group (34e881d)
  • store reference to space in root info (f6b562c)
  • store reference to space in scripted effect (763b638)
  • store reference to space in stacking order (21e658a)
  • store reference to space in stacking tree (a7c5d38)
  • store reference to space in tabbox classes (4e449bd)
  • store reference to space in Toplevel (d0968f5)
  • store reference to space in user action menu (488efe6)
  • store references to space in various objects (52f182b)
  • store scene reference in render window (dcb65e9)
  • store shadow in unique pointer (b4867a8)
  • store space reference in XDG activation (e74cd5e)
  • store stacking order in STL container (7760573)
  • template xdg-activation token (b673e16)
  • throw on presentation class creation error (e204f82)
  • throw on scene creation error (78a3a87)
  • throw on starting scene error (204890f)
  • update outputs with timer instead of screens (70d98c5)
  • use __has_include() instead of check_include_file() (d9f0c73)
  • use buffer windowing integration on X11 (52754e4)
  • use compositor space reference in render classes (874f6cf)
  • use core logging category in some Wayland functions (9c34e57)
  • use default-copy ctor of tabbox config private (7bf3f5b)
  • use dmabuf parent class member fields (2d03311)
  • use find_if in find_desktop (3b4f294)
  • use find_if in x11 stacking_tree::update (d3543c2)
  • use GLRenderTarget for backend framebuffer (7a07370)
  • use GLTexture for backend framebuffer (c674cc3)
  • use internal enum flags for osd flags (9dbee55)
  • use space reference of windows (62d7f59)
  • use STL shared pointer instead of Qt type (5ac0d84)
  • use STL unique pointer instead of Qt type (711484f)
  • use STL vector for struct rects (b2908a2)
  • use unique_ptr for scoped C pointer (29e2a90)
  • use vectors instead of manual arrays (6b5d867)
  • utilize KCModuleLoader::loadModule for loading KCMs (7f85790)
  • virtualize call to find internal windows (5ba8166)
  • when requesting token hand over space as reference (8ee6027)
  • wrap stacking order in smart pointer (fd71ff7)
  • wrap wlroots renderbuffer into GLRenderTarget (013d4e3)
  • xwl: access atoms through space (57a690e)
  • xwl: free drag helper functions (20b7566)
  • xwl: get X11 data from source (1f078e9)
  • xwl: hand over connection to send client message (9b76617)
  • xwl: hand over connection to send selection notify (831849a)
  • xwl: hand over source to start transfer (4fe9a68)
  • xwl: make launcher not force EGL_PLATFORM (7b9e105)
  • xwl: provide atoms pointer in X11 data (fbb4da1)
  • xwl: remove function to get X11 targets (dd06420)
  • xwl: store reference to source in X11 drags (7ce1736)
  • xwl: store references to space (4f1ee03)
  • xwl: store wl_source in Wayland drags (d0e3f51)
  • xwl: store X11 data as reference in sources (eff1b65)

5.24.1 (2022-04-23)

Bug Fixes

  • adapt to wlroots input changes (c52353e)
  • add "cmath" header in deco_renderer.h (dcbde1b)
  • add missing cmath imports (33cb8a0)
  • add missing include for libc++ after c2f41815196a (87190a5)
  • check for and reset GLX backend on tear down (533ed7e)
  • check for control on deco render (fddbb19)
  • check on session active when scheduling new frames (8f20537)
  • correct prefix of Lanczos shader path (9bba565)
  • destroy annexed remnants with alive leads before paint (82c45f5)
  • destroy leaderless annexed windows directly (160cbf5)
  • drop "wayland-server.h" in egl_data.h (9b9f04d)
  • ensure that toplead exist before repaint (81b1f15)
  • get proc address ourselves for eglQueryWaylandBufferWL (b1347a3)
  • guard against null group (062a535)
  • input: check for headless backend instead of device (0958c51)
  • input: set and unset focus on seat capability changes (b11265d)
  • make control actually demand attention (b0b3d41)
  • only ref annexed transient remnants for each lead (2b64c1e)
  • raise lead if window is without control (485960f)
  • remove transient children from copy (4f2831f)
  • render into texture framebuffer to flip for wlroots (ac69491)
  • use height instead of width (cf5b303)
  • use wlroots new input event names (1258214)

Refactors

  • check on common event waiting for render timers in helper (f01383d)
  • drop seat check on device changes (8e75f3e)
  • simplify swap time debugging (9c8fe01)

5.24.0 (2022-02-08)

Bug Fixes

  • create screen edger in space child classes (f571c3a)
  • effect: get virtual screen geometry instead of client area (c8da442)
  • initalize uninitialized var (49ab436)
  • initialize base X11 output data (b05b420)
  • input: check seat capabilities (76294cc)
  • move X11 screen edge to win namespace (9b55f23)
  • only use sRGB configurations with depth 24 (1173c66)
  • remove assignment operator in platform.h (0d4252f)
  • silence compiler warnings (0235b31)
  • update download.kde.org references with autoconfig.kde.org (fa5461e)

Refactors

  • remove screen edger init function (0951df8)

5.24.0-beta.0 (2022-02-03)

Features

  • add environment variable to log stderr to file (1c773e3)
  • add helper to get underlying value of an enum (bd142ef)
  • add helper to remove elements from container with test function (6e3a816)
  • add keyboard_layouts_v2 D-Bus interface (7833c73)
  • add Pixman region transform helper (1671179)
  • debug: set always input device (ecf184e)
  • effect: add org.kde.KWin.ScreenShot2.CaptureActiveScreen (58239c7)
  • effect: add support for static effect plugins (3ef7627)
  • effect: disable launch feedback effect if cursor is hidden (cf025c7)
  • effect: do not highlight windows based on mouse if user is currently typing (afe3c63)
  • effect: drop geometry tip (67d5512)
  • effect: enable the scale effect by default (14df742)
  • effect: remove ShaderManager::selfTest() (0f588c1)
  • effect: support forwarding touch events to EffectQuickView (679340e)
  • effect: tune scale animation params (a61fe5a)
  • implement better layout for deco KCM (4e0d21a)
  • input: add wlroots headless keyboard control (7dc7746)
  • input: handle frame event after button, motion and axis events (ad2c514)
  • input: introduce XKB keymaps per keyboard (a8303d7)
  • input: remove flag to force num lock evaluation (0ce9673)
  • input: support input methods (6a10d5c)
  • input: support virtual_keyboard_unstable_v1 (08e2d52)
  • make the preview show desktop if the option is selected (2be2639)
  • qpa: remove surfacefull sharing context creation (69d9571)
  • re-enable systemd managed kwin (cd30038)
  • remove Platform support information (01018c4)
  • remove support for KDE Activities (e92508b)
  • remove Wayland display option (b2e4a3e)
  • remove Wayland wrapper binary (518bd1b)
  • render only with OpenGL ES on Wayland (abe0708)
  • scene: add backend transformation matrix (343f417)
  • scene: add QPainter on Pixman backend (12bf2e2)
  • scene: merge the OpenGL 2 and 3 backends (248fcf3)
  • script: introduce VirtualDesktopModel (b119c96)
  • support wlr_data_control_unstable_v1 (2e60be9)
  • update launch environment via job (dd18e77)
  • use wlroots renderer swap chain (71c2f3f)

Bug Fixes

  • adapt to wlroots DRM lease changes (d0ac354)
  • add missing property to mock ThumbnailItem (9947fa5)
  • add SwitcherItem to declarative API 3.0 (7fb3c3c)
  • assign default name if new virtual desktop has no explicit name (b85d3f7)
  • better check of registered client shortcuts (33a783f)
  • check decoration settings object exists when accessing (9522e13)
  • check outputs count on finding in screens (f37d18e)
  • correct approach geometry of screen edge's effect (1d6c73d)
  • correct condition for making themes configurable (0368384)
  • correct header position in properties list (d33ec5c)
  • create DRM leases for non-desktop outputs only (cf0471d)
  • create effects handler after letting toplevels setup compositing (2ad0851)
  • create GBM device with DRM file descriptor of renderer (8d8bbef)
  • create wlroots renderer and allocator ourselves (fc60e1c)
  • declare placement Q_PROPERTY with full path (59b4105)
  • deco: check serials in move and resize requests (3ea2cd8)
  • deco: ignore the move request for immovable windows (347c604)
  • deco: when color scheme has no Header colors, don't ask for them (75ace7f)
  • effect: add API version property to org.kde.ScreenShot2 interface (f2c3f8c)
  • effect: add org.kde.KWin.ScreenShot2.CaptureActiveWindow (6fe4ce9)
  • effect: add separate internal functions to implement findWindow (5af9f06)
  • effect: always provide valid screen to clientArea in thumbnailaside (9ca7a91)
  • effect: apply timeout to startfeedback for xdg activation (5c083d4)
  • effect: avoid animating screenlocker backing window (f674163)
  • effect: check OpenGL compositing with equality (0b726c6)
  • effect: correct memory leak in some plasma components (ebd2303)
  • effect: correct track mouse texture check (bb466e3)
  • effect: don't allow to set non-global shortcuts for mousemark effect (ceccf63)
  • effect: don't allow to set non-global shortcuts for zoom effect (0471c4d)
  • effect: don't animate lockscreen via fadingpopups effects (87280df)
  • effect: ensure binary effects are loaded before cleints (6164731)
  • effect: reload slide data after restarting compositing (30c876b)
  • effect: schedule sliding popup workspace repaints (a0623f3)
  • effect: set blur and background contrast enabled by default metadata (9747bfb)
  • effect: track blur region correctly after compositing restart (c9baad7)
  • effect: track contrast region correctly after compositing restart (44316e2)
  • effect: use clamp to edge wrap mode (e3bd544)
  • emit deprecation warnings for loading KCM using a plugin keyword (5616c3b)
  • ensure KCM refreshing after clicking "Use"-button in KNS dialog (71bdaa9)
  • improve screen edge detection (b3c91dd)
  • input: check on touch capability before accessing touch pool (1a31e22)
  • input: check on touch capability when cancelling a touch sequence (41b5bf8)
  • input: check pointer capability before accessing pointer pool (3d3f100)
  • input: do not default implictly deleted move ctors (2b77ddc)
  • input: forward modifiers prior to key for layout changes (5f30e5b)
  • input: listen for input config changes (4c3e9a2)
  • input: manage device lifetime within class (3c89ac2)
  • input: own device control in smart pointer (ce1e23f)
  • input: process spies on button events (17fd072)
  • input: quit on xkb_context creation fail (dfef314)
  • input: remove xkb implict ownership (17065bf)
  • input: specify override for input devices dtors (37b2383)
  • input: throw named error on failed keymap creation (a1dab61)
  • input: throw standard exception instead of system error (5a6a530)
  • input: update keymap on every key and modifier event (0269571)
  • install deprecated virtual keyboard D-Bus interface (5b5e04a)
  • move function to create tests (43f1d5b)
  • omit destroying dmabuf images on destroy (0f5edd3)
  • omit drag icon frame rendered event (9cc9244)
  • only set Night Color with valid ramp size (c952f20)
  • retain Gl backends on rendering reset (bf84525)
  • scene: add missing import unordered_map (e80b91d)
  • scene: define EGL functions with EGLBoolean return type (01e60d5)
  • scene: ensure context current on GL timer query (23b51f9)
  • scene: get strong reference from decoration shadow (a0f5c8b)
  • scene: loop over contents region with auto variable (bf5cd24)
  • scene: properly unredirect windows if compositing is not possible (926abdb)
  • scene: rename paint output function (ee98932)
  • scene: update software cursor on paint (7171712)
  • script: add back geometry property (bbad2ef)
  • script: determine scripted effect config from KPluginSelector (c027aae)
  • script: try to preserve last active window (e00d49a)
  • set compositing delay only with OpenGL (142b89f)
  • set default cursor shape for root window (8f19fc2)
  • set pending swap on output creation (648d583)
  • space: dock with windows go below will be on top and the same layer of above windows (b9d1701)
  • space: evaluate window rules only if they are supported (ded3d4c)
  • space: handle panels set to ¨Windows can cover¨ (bafa0cb)
  • space: ignore OSD position hints and configure events (d9c50d2)
  • store backend destroyed receiver in smart pointer (7c7fc4a)
  • tag lease argument as maybe unused (e9e67de)
  • unvirtualize client message event function (1666700)
  • update default indicator for corner ratio (b716c03)
  • use remove_all_if instead of invalid erase (5cb2a76)
  • xwl: check active client with qobject cast (a320bac)

Refactors

  • access outputs in Screen class from base platform (2b5d67e)
  • act on property notify events in free function template (103434a)
  • adapt to Wrapland date device selection signal change (67438f8)
  • adapt to Wrapland Virtual Desktop string changes (0ade225)
  • adapt to Wraplang setting the selection source (715f9b6)
  • add base X11 outputs (a5cb817)
  • add internal buffer scale method (547336f)
  • add lock screen check in Application (6771f59)
  • add mouse intercept struct (a07c47f)
  • add new wlroots outputs in base (e069fbe)
  • add scene window in free function template (5e690f7)
  • add shadow windowing integration struct (7ecd500)
  • add Wayland buffer update hook (70e290a)
  • add Wayland window added signal to Workspace (9f40093)
  • add Wayland window boolean (345eb10)
  • add Wayland window viewport hook (4d0ee15)
  • add X11 base platform backend (a5da114)
  • assume compsoitor and scene exist (4ec87b8)
  • check application operation mode instead of Wayland server (34cd34d)
  • check outputs on from input platform (9cc8875)
  • check QPA context support from within QPA plugin (980627f)
  • clean up legacy configmodule querying (af762dd)
  • cleanup Platform code (7e3cad7)
  • compile the server class into the Wayland library (8c64ff0)
  • compile Wayland render code into Wayland library only (bc2d253)
  • connect surface scale change in virtual function (a6f12d5)
  • convert Wayland initialization flags to internal enum flag type (d555ac7)
  • copy EGL data to dmabuf data (e3dc43c)
  • create EGL backend early (3747819)
  • create egl context from free function (b590977)
  • create GL backends directly or throw on error (06513fa)
  • create glx context from free function (2b5d341)
  • create overlay window directly (81cb447)
  • create screen edges in Workspace (d211369)
  • create shadow from render window (a73a4fa)
  • debug: add console factory (52522cf)
  • debug: move console helper classes to separate files (4cc8a42)
  • debug: outsource display text switch default handling (d8ae7b4)
  • debug: split up console along windowing systems (e72a542)
  • deco: deprecate loading with the "button" keyword (4a93627)
  • deco: improve decorationpalette.cpp code (25b0fb2)
  • deco: port to new KDecoration2::DecorationThemeProvider class (2d9277a)
  • deco: remove manual lnf default handling (cd93d9e)
  • define base output type in backend (2534948)
  • define DPMS mode outside of output class (92ceb15)
  • define gamma ramp in separate files (98f2477)
  • define shadow elements outside of scene class as enum class (d547301)
  • destroy test base after server (e7bd401)
  • drop ClearablePoint (65a00de)
  • drop Process helper (6463dff)
  • drop starting of external input method servers (62b5ab1)
  • drop UrgencyHint helper (f5032e4)
  • dynamically inherit base platform (d4fa1a6)
  • effect: add showfps destructor (08dadd2)
  • effect: declare logging category per effect (344b014)
  • effect: let effects handle skipsCloseAnimation flag (3b49b47)
  • effect: link builtin effects with executables (56c5022)
  • effect: remove bogus full repaint in when checking effects support (723e6ac)
  • effect: simplify EffectQuickView constructors (e5cbd3c)
  • ensure stacking order in free functions (64328fd)
  • flatten egl backend and texture class hierarchy (d350eb3)
  • get clock id from base platform (b4ffa69)
  • get render platform from app instead of compositor (3eafe7b)
  • get supported render types in free function (433facb)
  • get Toplevel icon geometry from Workspace (1e2784c)
  • hand over input redirect to helper function (dcc7f9d)
  • handle signals with member functions (30d09b8)
  • handle wlroots frame event (3994b25)
  • handle Wrapland object creations in free functions (2dc76ac)
  • inherit Wayland output in wlroots render backend (8bddec1)
  • init egl in template functions (099d626)
  • init the workspace X11 integration separately (2642e36)
  • initialize screen locker watcher separately (b3eb6e6)
  • input: adapt to Wrapland keyboard key change (346a748)
  • input: add argument to function that sends layout to OSD (28e4d8e)
  • input: add platform Wayland child class (b5c715c)
  • input: add Wayland pointer redirect child class (6b99eb0)
  • input: add Wayland tablet redirect child class (4db1a2b)
  • input: add Wayland touch redirect child class (01530dc)
  • input: apply XKB environment rules in const function (37fcdae)
  • input: check touch on cancel in Wayland touch redirect (857e179)
  • input: cleanup keyboard layout switching (4200974)
  • input: create device redirects late (3ec867f)
  • input: default-initialize xkb members in header (4b3c482)
  • input: don't store layout in layout manager (eebada5)
  • input: evaluate num lock config in separate function (fcab0d9)
  • input: forward modifiers with function wrapper (3fce0a5)
  • input: handle added devices in member functions (56524b8)
  • input: increase usage of platform and redirect ctors (bed51d5)
  • input: introduce fake Wayland devices (75665ab)
  • input: introduce fake X11 devices (099cd76)
  • input: introduce key state enum (1c487d1)
  • input: introduce redirect append filter logic (abb1551)
  • input: introduce Wayland redirect child classes (07ad12a)
  • input: introduce X11 redirect child class (c295225)
  • input: introduce xkb namespace (4e2c239)
  • input: listen for input config changes with lambda (60ecf6b)
  • input: merge reconfigure and resetLayout functions (5056248)
  • input: move backend X11 classes (555d99e)
  • input: move config watcher to Wayland redirect (dfea41a)
  • input: move dbus and keyboard source to Wayland lib (8644e18)
  • input: move functions to Wayland platform (7056bd2)
  • input: move keyboard layout policies to xkb namespace (af76a2d)
  • input: move keyboard leds enum out of xkb (00459d4)
  • input: move keyboard redirect Wayland functionality (be70bae)
  • input: move layout manager to xkb namespace (817013d)
  • input: move reconfigure function to Wayland redirect (e452470)
  • input: move tablet mode switch to Wayland redirect child (7118537)
  • input: move window selection to Wayland child platform (0810bc1)
  • input: move window selector to Wayland redirect (a121746)
  • input: omit setting up any filters on X11 (445bd7e)
  • input: pass events to Wayland server in helpers (d9f0fdf)
  • input: provide independent device redirect helper structs (c2a1342)
  • input: provide keyboard device for key repeat (6b0d216)
  • input: provide redirect as cursor argument (f43d202)
  • input: read and transmit startup num lock config (e6b402e)
  • input: remove devices parent argument (1c0ba6a)
  • input: remove function to create keymap file (013a81c)
  • input: remove function to process keymap changes (3aec369)
  • input: remove init checks (1d9fddd)
  • input: remove legacy KeyboardKeyState enum (63eeaa7)
  • input: remove legacy pointer state enums (6f4fe39)
  • input: remove processModifiers function (e485005)
  • input: replace QHash with STL unordered map (d73365a)
  • input: replace SwitchEvent with switch toggle event struct (0ccb9af)
  • input: replace tablet mode manager singleton with smart pointer (65e84a5)
  • input: save startup num lock status in member struct (3332727)
  • input: set platform in Wayland redirect (d0bba3e)
  • input: set Wayland child platform (8887832)
  • input: setup devices in separate function (1cb213f)
  • input: setup touchpad shortcuts in Wayland redirect (f08130a)
  • input: setup Wayland redirect late (a116238)
  • input: signal layout changes on each XKB keyboard (c8ee11e)
  • input: store base platform in Wayland platform (a1c6bda)
  • input: store filters and spies in STL containers (f273c8c)
  • input: store keymaps in shared pointers (dd39202)
  • input: store platform in Wayland cursor (8e559fb)
  • input: store platform in Wayland redirect child (dac08b8)
  • input: transform device redirect functions to free function (a53089b)
  • input: uninherit keyboard layout spy from event spy (ca6db1f)
  • input: unvirtualize device redirect init (30a954b)
  • input: unvirtualize setup workspace function (612e303)
  • input: use more smart pointers (8b1216c)
  • input: use STL smart pointer for xkb (d6eab83)
  • input: use STL strings for XKB keymaps and layouts (d5a78d0)
  • input: use touch event structs in filters and spies (b110f2a)
  • input: virtualize filter setup (b865ccf)
  • input: virtualize setup Workspace function (1c844d6)
  • input: warp pointer from Wayland platform (e42c0d4)
  • introduce base platform (4260499)
  • introduce base wlroots backend output (4c4d8be)
  • introduce basic egl data struct (99ff80e)
  • introduce compositor X11 integration struct (769967f)
  • introduce D-Bus compositing integration struct (a8859ba)
  • introduce Wayland egl data struct (9da1eb7)
  • introduce Xwayland window class (94f6277)
  • let Toplevel own render window and render window the effect window (783ab3e)
  • let Workspace class own scripting platform explicitly (4246386)
  • load builtin effects from metadata files (f3ed6d7)
  • load KCM by path instead of searching for plugin by id (732d6da)
  • make XCB event filter a class template (332e615)
  • manage all Wayland windows in space (709e3b0)
  • modernize virtual desktops code (502bce9)
  • move abstract outputs into base namespace (9db843c)
  • move activation code to Workspace source (29a5272)
  • move clock skew files to base subdirectory (887745c)
  • move compositing D-Bus interface to render module (eb86fa1)
  • move compositor ownership to Application children (3efdcf2)
  • move DRM leasing to base (a66d7e2)
  • move egl init functions to free functions (900d5a0)
  • move events code to Workspace and Toplevel source (27a171c)
  • move fb config info into separate header (a4d778e)
  • move global selection to separate header (950dddd)
  • move glx init functions to free functions (2203996)
  • move has-glx wrapper into source file (385c797)
  • move input accepting check to free function template (09d9fec)
  • move internal flags type to the KWin namespace (b684c2f)
  • move main D-Bus interface to base namespace (0f0dbf2)
  • move Night Color files to render subdirectory (a89b8a2)
  • move outline into render namespace (803448a)
  • move Plasma management setup to win::wayland namespace (dc592d9)
  • move platform code to render subdirectory (b7be764)
  • move Platform into render namespace (dd00036)
  • move root info filter to win::x11 namespace (7ab3deb)
  • move scene and effect files into render directory (b55f253)
  • move screen edges files to win subdirectory (6424dc7)
  • move test client to separate header (0c3bf34)
  • move virtual desktop classes to win namespace (58056dd)
  • move virtual desktop D-Bus interface to win namespace (4e4cc65)
  • move virtual desktop D-Bus types to win namespace (c9f6098)
  • move virtual desktops files into the win directory (52774bd)
  • namespace idle inhibition (04f9c1f)
  • own compositor in render platform (6c1c068)
  • own globals explicitly through smart pointers (4169980)
  • own outline in workspace (399d70d)
  • own Screens in base platform (e742f6f)
  • own scripting window in control (8610655)
  • own XCB event filters from outside of Application (080c00b)
  • port away from KGlobalAccel::getGlobalShortcutsByKey() (b462226)
  • port away from KPluginLoader::findPlugins (ec12b0d)
  • port effects model away from KPluginInfo (52c3a67)
  • port lanczos filter to ShaderManager::generateShaderFromFile() (09078b0)
  • port rules KCM away from DelegateRecycler (faa3df1)
  • port scripting KCM to new KPluginWidget class (7aabef8)
  • provide base getter in the parent application class (5a8b299)
  • provide compositor as reference to scene (9ec5938)
  • provide compositor pointer as argument to scene factories (6ea9cb7)
  • provide egl backend for helper functions (d160a92)
  • provide Wayland base getter (87e62a0)
  • provide WaylandServer object getter in Application class (fc4aa34)
  • provide XCB event filter in base (48cb8e8)
  • qpa: remove default share context argument (9f201ab)
  • reference base platform in render platform (561ad69)
  • remove abstract Wayland app (21ab8af)
  • remove client managing signal (f2afcac)
  • remove clock skew notifier pimpl (6481887)
  • remove clock skew notifier Qt property (6d899eb)
  • remove color correct logging category (c6a33cc)
  • remove egl base data setters (f0138bb)
  • remove functions for setting initial Wayland data (59f0227)
  • remove gamma control support check (11a71dc)
  • remove global screens getter (bfa42aa)
  • remove initial window size variable (93d1cf1)
  • remove internal data sharing managers (a865271)
  • remove internal input method detection (4122211)
  • remove isTransient function (0b0d628)
  • remove NET_WM_TAKE_ACTIVITY atom (aea2e20)
  • remove now unneeded static effect loader class (002c0dd)
  • remove outputs getters in Platform class (1082d6c)
  • remove parent pointer from outputs (27503ef)
  • remove platform parent pointer (8dbd1c9)
  • remove Platform plain data access functions (1226bbe)
  • remove Platform Wrapland includes (e328bcb)
  • remove pointer warping in Platform (643d403)
  • remove property macros in Screens class (dc60651)
  • remove repaint in Platform (ea1bee7)
  • remove scene window getter (e2b19ef)
  • remove screen edges Qt properties and their access functions (4fcd0f9)
  • remove screen edges self getter (06e5428)
  • remove screen property getters (aaafaa6)
  • remove special unit test screen edge handling (7423fe0)
  • remove static Screens getter (d1c0a66)
  • remove supporting output changes boolean (5bd24c9)
  • remove unneeded Wayland server includes (6c1db20)
  • remove unused code for loading task switcher KCM (400e8f2)
  • remove Workspace init function (5c163e9)
  • remove workspace init variable (b296f98)
  • remove wrapper macros (fc44107)
  • remove X11 render logging files (5689d25)
  • replace invokable function with single shot timer (b112f87)
  • replace QHash with STL type (0b48fc9)
  • reset egl output with invariant output (f2d86a1)
  • restart scripting on config change through direct call (1f46dd8)
  • rework determining of scripted effect config (185317f)
  • scene: adapt QPainter backend to current architecture (8c16801)
  • scene: add Wayland effects handler impl override (c78b667)
  • scene: check for scene init-failed only once (7b3db7f)
  • scene: clean up persistent vbo fences at the start of the frame (382ebe0)
  • scene: create and update shadow types in free function templates (614220c)
  • scene: create scenes directly in free functions (a2ca4ef)
  • scene: create scenes without factory class (7b0cc3d)
  • scene: declare effect frame class outside of scene class (1a0ad3f)
  • scene: declare window class outside of scene class (7d37d6a)
  • scene: define image filter type outside of scene class as enum class (b8e0adf)
  • scene: flatten OpenGL scene hierarchy (bec3692)
  • scene: get Walyand shadow for update from window (e201c87)
  • scene: get XRender overlay window directly (bc035d1)
  • scene: introduce windowing integration struct (b99c634)
  • scene: keep lanczos filter after changing outputs (3f429ca)
  • scene: make paint mask enum class (bced2e8)
  • scene: make window paint disabled enum an enum class (65792a1)
  • scene: merge overlay window interface and implementation (d69772f)
  • scene: merge XRender backends (549f6a3)
  • scene: move opengl debug output initialization to kwinglutils (91a0b70)
  • scene: move overlay window implementation (fe2c114)
  • scene: own scene with smart pointer in compositor (125a864)
  • scene: remove Mesa 10 check (2bc94f2)
  • scene: remove NPOT extension check (6c1790a)
  • scene: remove overlay window getters (c8f3ee4)
  • scene: remove plugin infrastructure (a0db544)
  • scene: remove XRender scene init failed check (23f5829)
  • scene: reset shadow toplevel directly (a72e64a)
  • scene: resize overlay window in GLX backend (5f437d3)
  • scene: simplify screen geometry change handling (aa6d153)
  • scene: split out deco renderer child classes into separate files (44f32d6)
  • scene: split out effect frame classes into separate files (b43fd6c)
  • scene: split out shadow child classes into separate files (21130c6)
  • scene: split out window classes into separate files (882fde2)
  • scene: split out Xrender backend into separate files (c00a779)
  • scene: stop pushing map shader in gl::scene constructor (fc1b358)
  • scene: store overlay window in smart pointer (ad120a0)
  • scene: store overlay window in STL smart pointer (d9162d0)
  • script: connect to legacy signal in source file (9433006)
  • script: don't use plugin keyword to identify which KCM to load (554e1b7)
  • script: move space function definitions to header (d06aa5f)
  • script: own spaces explicitly (40712f0)
  • script: remember running state in member variable (1d356fd)
  • script: remove slots tag (cc7f01a)
  • script: split up scripting file (4c38b2a)
  • script: start from platform ctor via Application classes (5aed0b7)
  • script: template space (8f9cf4c)
  • separate integration test library (a3ad337)
  • set egl data pointer in render platform (0dbe0cf)
  • set EGL extensions in separate function (5c530bc)
  • set overlay window pointer in X11 compositor (1610091)
  • set test outputs in test app (5cbb5c6)
  • set Toplevel surface in free function template (e31e848)
  • set wlroots base from start function (23db38a)
  • set Xwayland surfaces from Wayland server (168423a)
  • setup compositing in free function template (8677ae2)
  • setup global accel actions in input platform (b31ea4f)
  • setup X11 window compositing early (d319696)
  • signal output changes from base platform (5ca0f31)
  • silence compiler warnings (3079290)
  • simplify base wlroots platform constructors (7a5a94e)
  • simplify compositor type enum (b3c3d84)
  • simplify screen edges member variables (59940b3)
  • simplify x11::window debug (3a2e0e4)
  • space: create controlled X11 window in free function (aa32638)
  • space: create unmanaged windows as x11::windows (0a46a5f)
  • space: create unmanaged X11 window in free function (6a3053d)
  • space: create Wayland Workspace child class (6698a06)
  • space: create X11 Workspace child class (ca9c6b9)
  • space: handle X11 workspace events in free function template (74112d0)
  • space: init and clear X11 from space in free function (4b728dc)
  • space: introduce areas struct (303ce46)
  • space: merge unmanaged setup and track calls (f2a6814)
  • space: move virtual desktop connection to Wayland (b838a99)
  • space: set initial X11 window geometry in create function (e11e486)
  • space: setup space window connections in free function (ae82436)
  • space: setup X11 window connections in window setup (3036c3b)
  • space: setup Xwayland Plasma management in Wayland space (5e619db)
  • space: simplify desktop removed window handler (1566c8f)
  • space: split out xdg-shell popup placement for reuse (0b43cf1)
  • space: store Wayland windows directly in windows container (9c665ac)
  • space: update space areas from windows in virtual function (0b3354b)
  • space: update Wayland window space areas in free function (dbceb6b)
  • space: update X11 window space areas in free function (44f4fc8)
  • space: use areas struct in update of client area (054d8e7)
  • space: virtualize icon geometry getter (487d484)
  • split out test helpers into separate header (9b725df)
  • start and tear down glx backend in free functions (92b530a)
  • start and tear down in separate member functions (48093f4)
  • start EGL backend in ctor (be306d9)
  • start scripting platform without workspace initialized signal (35a7d2f)
  • store clock skew notifier engine in smart pointer (df4724e)
  • store clock skew notifier in smart pointer (707e250)
  • store color correction D-Bus interface in smart pointer (0726a50)
  • store compositor reference in scene (96c11a0)
  • store compositor with smart pointer (3a5a035)
  • store egl output in render output (3862c77)
  • store Night Color manager in smart pointer (89971c7)
  • store reference to workspace in XCB event filter (5f509ce)
  • store render platform in base platform (1ce94a1)
  • store render platform reference in compositor (d7e99cd)
  • store screen edges instance in smart pointer (8c2fcdf)
  • store Workspace with smart pointer (68d6aa4)
  • swap functions in layers and stacking headers (2694b4e)
  • track update client outputs notifiers (ff255cc)
  • transform egl texture functions to free function templates (fd26d74)
  • transform window destroy functions into free functions (e9b1d3a)
  • unbind Wayland egl display in backend (4d69501)
  • unvirtualize isTransient function (bf18d4a)
  • unvirtualize output changes function (df2e8f2)
  • update surface outputs in free function template (4f0c8b2)
  • update X11 time only in Application class (c2f4181)
  • use config watcher to update state when configs are changed (3defd66)
  • use const'ref here (694bc21)
  • use enum value for KAuthorized::authorize (9f4dfcc)
  • use NewStuff Elementsfd (6fa4d4e)
  • use render::effect_loader to list all available effects (6babb0b)
  • utilize KCoreAddons infrastructure for static plugins (9459151)
  • virtualize call to schedule frame callbacks (10b558c)
  • xwl: adapt to Wrapland selection cleared signal removal (88a59c3)
  • xwl: add types header (129d038)
  • xwl: connect outside of drag to transfer finished (49d5e3c)
  • xwl: define activation notifier to selection data (c5bee93)
  • xwl: disinherit data bridge from QObject (b267ad5)
  • xwl: evaluate source types directly (0cf7691)
  • xwl: explicitly own drag visits (3e15788)
  • xwl: get supported actions directly from source (bc71b9b)
  • xwl: hand over X11 data to sources (f736400)
  • xwl: harden internal source ownership (303d93e)
  • xwl: introduce mime atom type (0157458)
  • xwl: make X visits independent of drag (cbaf4d7)
  • xwl: merge actions update (3f58c0d)
  • xwl: move Xwayland interface class into xwl namespace (835eda2)
  • xwl: overwrite requestor window from drag_x (70954e6)
  • xwl: overwrite requestor window from the Dnd selection (6eb4277)
  • xwl: own drags through smart pointers (d54e032)
  • xwl: own source qobject through smart pointer (c116806)
  • xwl: point to X11 source in Wayland visits (7912853)
  • xwl: reduce back pointers of drags (61eb576)
  • xwl: remove atom argument from selections (8104646)
  • xwl: remove dispatch call (b319394)
  • xwl: remove receive offer function (14c7537)
  • xwl: remove set source interface function (ab767bc)
  • xwl: remove source timestamp getters and setters (329b043)
  • xwl: remove unnecessary includes (6f9daa2)
  • xwl: remove unused variables (2b77fd0)
  • xwl: remove X11 source without function call (0ceaa74)
  • xwl: replace Qt containers with STL ones (911e703)
  • xwl: reuse retrieve supported actions function (9de630d)
  • xwl: save offers in STL types (6efcd03)
  • xwl: set selection simply with a normal setter function (c01cca1)
  • xwl: share data without internal connection (4fbec11)
  • xwl: split up selection header (868c34d)
  • xwl: store last action in data source class (20820aa)
  • xwl: store X and Wayland drags separately (fe9e23d)
  • xwl: transform wl_source member functions to free functions (5594b07)
  • xwl: transform x11_source member functions to free functions (c4e99f6)
  • xwl: use smart pointer for sources in selection data (ea4bd70)

5.23.2 (2021-12-13)

Bug Fixes

  • space: ignore OSD position hints and configure events (c411d74)

5.23.1 (2021-11-30)

Bug Fixes

  • adapt to wlroots DRM lease changes (140d7d2)
  • create GBM device with DRM file descriptor of renderer (9aa21ac)
  • create wlroots renderer and allocator ourselves (ee7f998)
  • deco: check serials in move and resize requests (8182837)
  • deco: ignore the move request for immovable windows (76fb8d2)
  • input: check on touch capability before accessing touch pool (4d47897)
  • input: check on touch capability when cancelling a touch sequence (ac7b326)
  • input: listen for input config changes (afb07b2)
  • install deprecated virtual keyboard D-Bus interface (8b49dac)
  • space: dock with windows go below will be on top and the same layer of above windows (c772e24)
  • space: handle panels set to ¨Windows can cover¨ (0b5a9ab)

5.23.0 (2021-10-14)

Bug Fixes

  • declare placement Q_PROPERTY with full path (bb9df74)
  • script: add back geometry property (edd2d60)

5.23.0-beta.0 (2021-10-06)

Features

  • add accesors to the rules settings list (0924561)
  • add explicit action to apply a rename (edbf888)
  • add new keywords to KCMs for finding options more easily (8461f2b)
  • add primary selection support to Wayland server (dbf8ce7)
  • add support for DRM leasing (1e0e4d7)
  • add swap time debugging (7200e2c)
  • add wlroots display backend (0410b2d)
  • add wlroots headless mode (a36b92a)
  • add wlroots input backend (27b6264)
  • allow moving windows between virtual desktops with single action (abbac4e)
  • allow renaming desktops with double-click (7d23b2a)
  • allow setting WindowType to KDE specific window type OSD (fb13570)
  • broadcast application menu events to plasma window management clients (14d6150)
  • effect: add client geometry property (417110e)
  • effect: add properties to EffectScreen (ef61e00)
  • effect: add support for HiDPI window screenshots (71e5bec)
  • effect: allow disabling automatic frame scheduling in EffectQuickView (fd0d203)
  • effect: allow specifying render window for EffectQuickView (dd38cb6)
  • effect: introduce DeformEffect (536428d)
  • effect: introduce windowExpandedGeometryChanged() (184b403)
  • effect: port wobbly windows to DeformEffect (7d305c1)
  • effect: remove shape property (657598e)
  • expose compositing status to Switcher QtQuick item (6a0f501)
  • hw: remove legacy DRM backend plugin (538c125)
  • hw: remove legacy fbdev backend plugin (7c38afc)
  • hw: remove legacy virtual backend plugin (0a3f84d)
  • hw: remove legacy Wayland nested backend plugin (04b5051)
  • hw: remove legacy X11 nested backend plugin (95c5b08)
  • input: add input control (b21fcb6)
  • input: add logging category (8566398)
  • input: add support for touch frame events (ddac7fa)
  • input: add switch devices (28ff96e)
  • input: handle pinch and swipe events (63f8f2c)
  • input: provide D-Bus control interface (3625811)
  • input: remove legacy libinput backend (63f0ffd)
  • input: toggle touchpads on input platform (b67d3ad)
  • introduce a GLTexture::toImage helper class (455975a)
  • raise wlroots absolute pointer motion events in tests (8b039dc)
  • raise wlroots keyboard key {pressed, released} events in tests (bc32c73)
  • raise wlroots pointer axis {horizontal, vertical} events in tests (86c704f)
  • raise wlroots pointer button {pressed,released} events in tests (914634a)
  • raise wlroots touch cancel events in tests (bfcd498)
  • raise wlroots touch down events in tests (69f94ca)
  • raise wlroots touch motion events in tests (999a7df)
  • raise wlroots touch up events in tests (657e68a)
  • record render time (95e6a47)
  • scene: add Gl timer query support information (fe9e689)
  • script: introduce ClientModel V3 (49e2c66)
  • script: make QTimer constructible (2169e51)
  • script: register Workspace singleton type (82aa25f)
  • space: expose xdg-shell v2 support (72d3de0)
  • space: remove cascade placement (cf6bb20)
  • support XDG Activation (4cb9f34)
  • use wlroots for integration tests (a34208f)
  • use wlroots session control (2d87759)
  • xwl: add primary selection integration (6f0e160)

Bug Fixes

  • adapt spinbox width to actual text (7d697cf)
  • adapt width to new breeze style spinboxes (8eeee50)
  • add checks to make sure surface is not null (0512542)
  • always check on input device when printing out information about it (3ff8cf9)
  • check effects existing on stacking order unlock (000e339)
  • check on surface when setting Xwayland window surface (a3d9ce1)
  • check surface when evaluating hidden internal (05d0041)
  • check wl_surface on isShown (e5dd33f)
  • collapse list effect item when clicking on it again (5cd3d78)
  • configure xdg-toplevels with Plasma shell surface too (6967416)
  • copy objects for global shortcuts overrides (292f875)
  • correct window thumbnail sizes (de12464)
  • create backend session only once (6b3d188)
  • define Blocker constructors (213faa4)
  • delete internal connection objects only explicitly (174b2f9)
  • destroy Wayland window on surface destroy (afa49f2)
  • disable double-click mouse area while in edit mode (7b68993)
  • disable Dr Konqi for integration tests (916ba64)
  • disable rendering on suspended outputs (3728dc7)
  • discard quads on position changes Plasma shell surface popups (f8dbd86)
  • do not detach when getting a readonly reference (f5627f2)
  • don't reset animation speed to default value when running in plasma (9d8057c)
  • drop local back for Formlayout label width (05a93d2)
  • effect: add blur noise in perceptual space (c27ddc8)
  • effect: adjust the effect to projection matrix changes (42dd815)
  • effect: coorect interpolated values for redirected animations (fc027bc)
  • effect: disable OpenGLContext sharing check in EffectQuickView (993b12b)
  • effect: port EffectWindow::geometry to EffectWindow::frameGeometry (f2eacac)
  • effect: properly handle empty blur regions set by internal windows (f557a1d)
  • effect: properly handle empty regions set by internal windows (65e36fb)
  • effect: teardown view before QQuickRenderControl (9d25978)
  • effect: use a custom projection matrix when passing to copy sample (293ab19)
  • effect: use standard arrow cursor in Present Windows & Desktop Grid (a18a16e)
  • effect: use the provided matrix instead of creating a new one (1ab8c2b)
  • enforce Wayland QPA for started apps (dd1c7e2)
  • get refresh length in nanoseconds (0bf6822)
  • handle exception of Wayland server constructor (9b080ff)
  • hide help button (484267c)
  • implement QPlatformWindow::requestActivateWindow() (b57c119)
  • increase screen edge margins (ff9e417)
  • input: convert to XKB keysyms on filter comparisons (cb77a89)
  • input: declare local variable for clang compiler (0ebf602)
  • input: delete dbus device on removal (af48c05)
  • input: falsify always on the device type for clang compiler (0ee9a5e)
  • input: initialize keyboard modifiers (23b2bca)
  • input: mark platform destructors with override (febd10a)
  • input: remove xinput pointer definition on build without XInput (be3e130)
  • input: send touch frame events on platform touch input (a70b950)
  • input: set output for touch devices (79ab46f)
  • input: set repeat info dependent on keyboard capability (60015de)
  • input: set timestamp on converted Qt events (e16d28c)
  • input: set touch orientation on screens change (a2bc8f7)
  • input: setup touchpad shortcuts (fd2f5b3)
  • input: stop meta key randomly opening Plasma launcher menu (45df530)
  • input: update keyboard leds (b718bb0)
  • introduce presentation data struct (3d48d07)
  • limit debug console event text block count (581ea09)
  • load window rules correctly (3f5fb9f)
  • make compositor stop connection unique (7d5f26e)
  • make copy of filters and spies on deletion (4424ba2)
  • negate bitfield without flags object (51c0cfa)
  • omit window geometry change without outputs (656bd31)
  • on present errors do not repaint (335d0e5)
  • only mark slots as slots (73ab1e1)
  • queued-connect to internal client signal (e7af720)
  • re-phrase awkward message (7afaa10)
  • recreate EGL backend fully (557f955)
  • remove aurorae warning at startup (3b21c34)
  • remove check on platform (7576625)
  • remove circular include (c3b8620)
  • remove is_multihead extern declaration (f9b8bd1)
  • remove lockscreen check in X11 compositor (851d50e)
  • remove unnecessary includes (04c6302)
  • remove unused static function (6eb97b4)
  • remove unused variable capture (34557f0)
  • return vt number (6ed1429)
  • scene: remove weird decoration glitch when using a scaled display (be06da3)
  • scene: update unstyled EffectFrame texture only when rendering (8651755)
  • script: add clientArea() overload that takes mutable client (ef37b3a)
  • script: guard against the case where a window is destroyed after changing visibility (de0c2ad)
  • serve frame callbacks also without damage (138ade5)
  • set dummy EGL surface (36a941a)
  • set internally current mode on output creation (de9e9b9)
  • start input-only wlroots backend (113a025)
  • stop composite timer always on composition (94a1a09)
  • throw exception on backend init (bd30a4a)
  • try loading decoration KCMs without plugin keyword (662050b)
  • unset Plasma shell surface on destroy (1680bf8)
  • update output DPMS (9feb85a)
  • use presentation data for delay calculation (8095051)
  • wait for exit with process to finish (b2bbd19)
  • xwl: accept clang suggestion (e3ec451)
  • xwl: filter events only for existing selections (e787a7d)

Refactors

  • adapt to new surface unmap synchronization (866748d)
  • adapt to Wrapland name change (76d70c1)
  • adapt to Wrapland restricting data access (5eae0b3)
  • adapt to Wrapland's surface damaged signal removal (5dfa37a)
  • adapt to Wrapland's surface property changes (a4618e1)
  • adapt to Wrapland's surface signals removal (14045f6)
  • add key event data in separate function (31ca609)
  • add max coverage output helper (ddc66b1)
  • add missing Q_EMIT when emitting signals (7da7b12)
  • add render cursor class (f39b9bb)
  • add startup finished signal (7e9a64b)
  • add substructure for Wayland connection interfaces (54a2192)
  • add wlr_backend getter (8a95ae8)
  • always create compositor before workspace (26c5f17)
  • assert on mouse move event in screen edge entered call (e4f21b6)
  • change signature and name of private windows stacking algorithm (dfb8214)
  • check backend plugin only when not using wlroots (1b28008)
  • check early on hidden or closed windows (8784eae)
  • clean up unneeded service type definitions in kpackage structures (b5ba54e)
  • clear X11 windows in separate function (bee2b74)
  • compile X11 backend plugin as render backend (01717db)
  • connect active client's update_mouse_grab to stackingOrderChanged signal (8b60578)
  • connect Compositor::addRepaintFull to Workspace::stackingOrderChanged (62d2838)
  • create internal interfaces in lambda (72e7e7f)
  • create internal shm on interfaces announced (549a907)
  • create relative pointer manager in Wayland server (e2e544f)
  • create screen locker watcher earlier (3c60163)
  • create session in Application child classes (c300462)
  • declare compositor selection owner in render namespace (179fef6)
  • declare delay variable constexpr (d86df66)
  • define new KPackageStructure property in kpackage structures (57cb71b)
  • do not override parent's class signals with the same name (ac93887)
  • drop Toplevel's windowId (14e52f1)
  • drop Workspace::lowerClientRequest(Toplevel*) (df9c9bb)
  • drop Workspace::updateClientLayer (881d10c)
  • effect: abstract startup semantics in startupfeedback (c1fc2e3)
  • effect: add parent argument to Effect (0647d7a)
  • effect: clip desktop grid windows differently (7475983)
  • effect: ignore xshape region for blurring (3b126dc)
  • effect: port fallapart to DeformEffect (3306457)
  • effect: port magiclamp to DeformEffect (070bf07)
  • effect: port screenshots away from window quads (e683b5b)
  • effect: remove dead code (208a1b5)
  • get icon from desktop file name (06203f1)
  • get presentation frame time with STL chrono (a8c1832)
  • get test client instead of individual interfaces (e3af806)
  • handle client resources with smart pointers only (cbd1fb2)
  • init workspace in test app (0b89d68)
  • init workspace with direct call (0bb1994)
  • input: adapt touch matrix in wlroots backend (ab8a6cf)
  • input: adjust to keymap being sent as string (22e6617)
  • input: define events in event header (c91788b)
  • input: define local variables instead of returning early (aeb7737)
  • input: filter and spy on keyboard repeat events separately (0342e64)
  • input: find internal window in helper function (2778fe5)
  • input: forward modifiers after updating them (4fad84d)
  • input: get internal key event in helper function (2261514)
  • input: let Wayland cursor own the cursor image (96673e4)
  • input: make input redirection a member of the app (f44cb94)
  • input: move cursor classes to input namespace (1c2b772)
  • input: move events to input namespace (d843245)
  • input: move gesture infrastructure to input namespace (d699901)
  • input: move keyboard layout infrastructure into input namespace (58f6047)
  • input: move Qt mouse button transformers into separate header (b105d32)
  • input: move X11 platform input to input directory (f675c0c)
  • input: move XInput code into new X11 platform class (3c97a5b)
  • input: namespace device redirect handling (e8697cb)
  • input: namespace redirection in input (a4e2b29)
  • input: omit adjusting modifiers in key repeat processing (5104bfe)
  • input: omit touch check on switch removal (b0a907b)
  • input: own device redirections explicitly (4ba99bd)
  • input: prepare events in device redirect class (79c4b7b)
  • input: process key press in helper function (22adb64)
  • input: process key repeat events in separate function (40b415e)
  • input: provide wlr_input_device as argument (1d23693)
  • input: reformat global shortcut keyEvent flow (6c69b72)
  • input: relocate DPMS filter (a74a888)
  • input: relocate event filter base class (cc640f5)
  • input: relocate event spy base class (9d0ba9a)
  • input: relocate global shortcut integration (6418df6)
  • input: relocate keyboard repeat spy (add62ec)
  • input: relocate modifier only shortcuts spy (8c1d607)
  • input: relocate popup filter (18f29ff)
  • input: relocate tablet mode manager (d6b6151)
  • input: relocate touch hide cursor spy (98a16db)
  • input: relocate Wayland cursor theme (0f88a5b)
  • input: relocate xkb code (afb9f62)
  • input: remove redirect init function (bd4fa26)
  • input: replace KeyEvent with key event struct (d1034f1)
  • input: replace MouseEvent with pointer event structs (2a9ea14)
  • input: replace PinchGesture{End,Cancel} with a common event struct (b576890)
  • input: replace PinchGestureBegin with pinch begin event struct (c1d6f5b)
  • input: replace PinchGestureUpdate with pinch update event struct (45d81c5)
  • input: replace SwipeGesture{End,Cancel} with a common event struct (31b3b79)
  • input: replace SwipeGestureBegin with swipe begin event struct (f1f4f1b)
  • input: replace SwipeGestureUpdate with swipe update event struct (11e89b0)
  • input: replace WheelEvent with pointer event struct (da8ca6f)
  • input: separate event filters into distinct files (7a53a05)
  • input: split out cursor image from pointer redirect (2e01e96)
  • input: use Wrapland drag pools (5711361)
  • input: use Wrapland keyboard pools (28e11f4)
  • input: use Wrapland pointer pools (b1a210f)
  • input: use Wrapland touch pools (63d5b1b)
  • integrate Xwayland in separate function (eb9d0c1)
  • introduce test client class (0f8b7f3)
  • invoke EffectsHandlerImpl::checkInputWindowStacking() with a signal (ddf1d2e)
  • let X11 render platform own the cursor (27e0011)
  • listen for startup finished signal in integration tests (7cb60a2)
  • load options early in Application (20a999b)
  • make application menus a std::tuple (8b72ad9)
  • make placement enum an enum class (45accf5)
  • make platform variable public (bc8e781)
  • make selection_data a class template (7bab41e)
  • make session variable public (d227f34)
  • make StackingUpdatesBlocker a template class (4abb83d)
  • make X11 screen number member variable (02dad2b)
  • manage RuleSettings instead of Rules objects (50b3540)
  • manage visibility from cursor class (d4cba64)
  • move {lower/raise}ClientRequest to win/x11/control.h (102e4a7)
  • move topClientOnDesktop, findDesktop from Workspace to win/layers.h (3606ce6)
  • move ApplicationMenu class to win namespace (972a88a)
  • move appmenu files to the win folder (368b23f)
  • move client_machine files to win/x11 folder (df9ecd3)
  • move cursor image to Wayland name space (f681f68)
  • move ensureStackingOrderInList and keep{Deleted}TransientAbove to win/stacking.h (6dfcaf9)
  • move FocusChain class to win namespace (3a1d0a1)
  • move focuschain files to the win folder (117c588)
  • move GeometryTip class to win::x11 namespace (bcd0f82)
  • move geometrytip code to win/x11 folder (e47bbb1)
  • move Group activation methods to group.cpp (7de97ae)
  • move Group class to win::x11 namespace (05003a0)
  • move group files to win/x11 folder (7016f3f)
  • move internal_client files to the win folder (d7fa2bd)
  • move InternalClient class to win namespace (3cc7b19)
  • move kwinbindings code to useractions (bbe64d9)
  • move netinfo classes to the win::x11 namespace (161ea72)
  • move netinfo files to win/x11 folder (37d22dc)
  • move Platform input API to X11 backend (dceca57)
  • move policy_to_string function to placement test (61d1bb7)
  • move presentation class into render namespace (9bc4647)
  • move presentation flags outside of the class (9a9938b)
  • move render delay calculation into separate function (0f84347)
  • move stackScreenEdgesUnderOverrideRedirect from Workspace to win/x11/space.h (90a0f03)
  • move SyncAlarmX11Filter class to win::x11 namespace (6fbe0aa)
  • move syncalarmx11filter files to win/x11 folder (04ad222)
  • move window_property_notify_x11_filter files to win/x11 folder (5370f50)
  • move WindowPropertyNotifyX11Filter class to win::x11 namespace (e4a6a6d)
  • move Workspace::{raise,lower}ClientWithinApplication to win/x11/control.h (e4f4f9e)
  • move Workspace::lower_window to win/layers.h (27dc6fb)
  • move Workspace::raise_window to win/layers.h (b6ee7ef)
  • move Workspace::raiseOrLowerClient to win/layers.h (622dfa8)
  • move Workspace::restack{ClientUnderActive} to win/layers.h (08add80)
  • move Workspace::restoreSessionStackingOrder to win/x11/space.h (c290841)
  • namespace cursor redirect (270503f)
  • namespace Wayland cursor theme (13ca455)
  • namespace X11 plugin classes (c72ed9b)
  • omit backend check (fc2f3fb)
  • own cursor image explicitly (7a9e806)
  • port decoration renderers to Decoration::damaged signal (f1c6b7d)
  • port from KPluginLoader::pluginsById to KPluginMetaData::pluginById (e2840b7)
  • port KCM loading to KPluginMetadata (df832cc)
  • port last remnants of removed "units" (09b4328)
  • port OverlaySheet headers to use title: property (3e53091)
  • port Q_ENUMS to Q_ENUM (a97a7b9)
  • prepare composition in X11 compositor (adccfe6)
  • prepare window repaint in helper function (a1f7299)
  • process compositor selection ownership changes internally (0a3de48)
  • provide platform cursor image from cursor class (595b197)
  • put paint duration recording into separate struct (6bd3238)
  • release selection timer in X11 compositor (5c15d7c)
  • relocate event filter container (aec066f)
  • relocate X11 event filter (477a45d)
  • remove circular import (e43f581)
  • remove continue startup function (f5178e2)
  • remove create backend functions (ee0a2f5)
  • remove fallback timer (947c209)
  • remove function to prepare shutdown (79b9762)
  • remove gesture API in Platform (a4bfb8e)
  • remove half-pixel correction workaround (21df390)
  • remove input platform check (e86ae30)
  • remove Keyboard Modifiers API in Platform (382940d)
  • remove keymap change API in Platform (8ca3a58)
  • remove monotonic clock variable (4f2cbea)
  • remove parent argument (a12cea8)
  • remove platform cursor factory (4e7ceb4)
  • remove presentation fallback clock (0516871)
  • remove session control changed signal (7b558ae)
  • remove static cursor variable (49c27e4)
  • remove surface checks (c53f389)
  • remove symbolic icons (decdd91)
  • remove the software presented swap path (de41090)
  • remove touch frame API in Platform (9c729d6)
  • remove udev monitor (18f3b5a)
  • remove unneeded X-KDE-PluginKeyword (ca6a720)
  • remove unused include (5895114)
  • remove unused include (e737fb2)
  • remove unused include (d4f1283)
  • remove unused parameter (e2a2137)
  • remove virtual start session function (def6496)
  • remove Wayland compositor swapped functions (1966c6b)
  • remove Wayland session backend plugin infrastructure (59c3006)
  • remove WaylandServer init function (1f0adb7)
  • reorder Workspace methods (f657226)
  • repaint in X11 compositor class (5449a69)
  • replace an old workaround for alpha-only shadows (1cddb1f)
  • replace cursor changed signal of Platform class (c3624a5)
  • replace output enabled check with compositor lock (67bde8a)
  • replace QList with STL vector (0cb191a)
  • replace QRegExp usages with QRegularExpression (4215128)
  • replace QVector with STL vector (bca0871)
  • resolve circular include (08e8ef6)
  • reuse GLTexture::toImage (9c7810e)
  • save initial placement rule as int with bounds check on load (e855a91)
  • save placement through custom enum (3c45fb5)
  • scene: relocate compositor into render namespace (9dcf725)
  • scene: relocate Wayland compositor into render namespace (90853de)
  • scene: relocate X11 compositor into render namespace (0bd0c46)
  • scene: remove OpenGL2Compositing enum (ca75481)
  • scene: store Compositor pointer in Application (6a37536)
  • scene: use GL_LINEAR also on X11 (1d0e989)
  • schedule repaints in compositor child classes (7ef0e87)
  • script: move old ClientModel in V2 namespace (263a89c)
  • select window interactively from input namespace (3003ceb)
  • set native session variable in constructor (0ac4729)
  • set software cursor in Wayland compositor (1e1f625)
  • simplify generic config plugin loading (05c93f6)
  • simplify X11 cursor getters (3078dfb)
  • space: add count entry to placement enum (6ce95c1)
  • space: dissolve the Placement class in the win namespace (cd0cf75)
  • space: move placement code to the win folder (1cb8b83)
  • space: move placement enum to win/types.h (4b1766c)
  • space: move Workspace functions definitions (7f3b981)
  • space: promote helper functions to public interface (2f152ee)
  • space: select placement via switch statement (52131a9)
  • space: trasform placement functions to templates (a044cb8)
  • split out X11 event filter from Workspace (4f3e02c)
  • split some code off windows stacking algorithm to x11 namespace (f6a892c)
  • split Workspace::stacking_order off to a new class (4083b81)
  • split xStackingQueryTree to a new win::x11::stacking_tree class (0a2a577)
  • start app directly from child (8f38fb3)
  • start Xwayland after Workspace (ffafaa2)
  • store cursor in input platform (acd8f73)
  • store input platform in Application (e53d6b6)
  • store input redirect in input platform (f9a9983)
  • store session object in smart pointer (7f99f1b)
  • store test clients in application instance (94474c1)
  • store test outputs in STL container (daf33bc)
  • store Xwayland instance in smart pointer (a6d71ea)
  • unvirtualize Platform init function (17a3940)
  • unvirtualize take session control function (2ff3c7b)
  • update devices interfaces (db26070)
  • use input platform devices in events (f74e546)
  • use K_PLUGIN_CLASS_WITH_JSON (f27b20e)
  • use STL chrono for presentation time calculations (9e88288)
  • wait for internal client being initialized (313dbdc)
  • xwl: abolish Selection class dynamic inheritance (9724412)
  • xwl: add X11 data struct (a65c843)
  • xwl: change X11 offer handling flow (89c5d64)
  • xwl: change X11Source::getTargets signature (452eab4)
  • xwl: change X11Source::handleTargets signature (be5ae3e)
  • xwl: communicate status with callback or throw (1f17b68)
  • xwl: explicitly delete selections (1a8341e)
  • xwl: explicitly delete sources (b2363b5)
  • xwl: get current selection on change from seat (3daf164)
  • xwl: get rid of SelectionSource base class (320b953)
  • xwl: get Xfixes extension data in data bridge (66ac8b2)
  • xwl: handle selection dependent X11 messages in function templates (d09b681)
  • xwl: handle X11 offer changes in function template (53f09a0)
  • xwl: initialize selection_data with devices (f9cd48b)
  • xwl: make Selection data public (7196e04)
  • xwl: make Selection event handling function templates (9481ab6)
  • xwl: make Selection source creation function templates (fbfb5f6)
  • xwl: make Selection timeout function templates (33f35dc)
  • xwl: make Selection transfers function templates (b52a72e)
  • xwl: make some Selection helpers function templates (d1812b0)
  • xwl: make WlSource and X11Source class templates (ce42cd8)
  • xwl: merge selection and selection_utils headers (f00161d)
  • xwl: merge two different definitions of atomToMimeTypes (008fbe4)
  • xwl: move Selection static methods to new header (8bcb47a)
  • xwl: move timestamp property to derived selection sources (7d5f923)
  • xwl: on quit destroy Xwayland early (a95e964)
  • xwl: provide dnd argument to drags (e4718ce)
  • xwl: react to Wayland clipboard changes in function templates (277b898)
  • xwl: refactor xwayland_selection_test.cpp (e6e6ad5)
  • xwl: register X11 selection in function template (a28d642)
  • xwl: remove check on data device interface (7fb1106)
  • xwl: remove data bridge self getter (3a66722)
  • xwl: remove Databridge init function (df38eef)
  • xwl: remove global instance variable (ff40c10)
  • xwl: remove helper function (61de723)
  • xwl: remove init function (a32f31b)
  • xwl: remove parent pointer (2da96a9)
  • xwl: remove prepare destroy function (fdef621)
  • xwl: remove unnecessary local variables (8e11a91)
  • xwl: remove virtual Selection functions (d1018be)
  • xwl: restructure xfixes notify handling flow (c6d92ce)
  • xwl: share X11 data with selections (687ff33)
  • xwl: split QObject out of Selection (de6eedc)
  • xwl: split responsibilities in Selection::handleSelectionNotify (39bebdf)
  • xwl: store data bridge in smart pointer (1a14d46)
  • xwl: store notifier in smart pointer (c592981)

5.22.0 (2021-06-08)

Bug Fixes

  • check wl_surface on isShown (26438d3)
  • input: initialize keyboard modifiers (2f272d9)
  • check surface when evaluating hidden internal (3ff19c2)
  • disable Dr Konqi for integration tests (e21f84d)
  • remove circular include (03af4f6)
  • remove unused variable capture (096a6c1)
  • unset Plasma shell surface on destroy (4ac6247)

Refactors

  • input: adjust to keymap being sent as string (cc8918f)
  • input: forward modifiers after updating them (6b9360c)

5.22.0-beta.0 (2021-05-26)

Features

  • effect: use cubic easing curve to squash (9a1d06d)
  • apply grid delegate KCMs on double-click (3f7f7e4)
  • deco: add CLI tool to set window decorations (3916670)
  • deco: honor NoPlugin option (104a31c)
  • effect: add a DBus interface to the highlightWindows effect (6d7db5c)
  • effect: add a DBus interface to the presentWindows effect (f90ad31)
  • effect: add support Panfrost Mali driver (636f8dd)
  • effect: annotate Intel GPUs with architecture generations (645e962)
  • effect: change filterFrame position and text (e3fdd45)
  • effect: darken panel (a64fdba)
  • effect: detect more Intel GPUs (494a9ca)
  • effect: display window icons centered (aa82e5d)
  • effect: hide windows in corners (1f2f85a)
  • add default settings indicator at module level (8fbe95c)
  • effect: introduce EffectScreen (394ce7b)
  • effect: introduce screenshot dbus interface version 2 (527b1b3)
  • effect: make ghost windows in highlight effect be fully transparent (82d1e11)
  • effect: show default indicator at module level (6cc0cfa)
  • effect: show Panels by default (dd64a69)
  • hw: remove hwcomposer backend (8764fd3)
  • input: handle keyboard events too in popup filter (a2b011c)
  • add env var to omit respawning Wayland session (80d3a5c)
  • add support for wlr_layer_shell_unstable_v1 (835779f)
  • highlight KCM KWin VirtualDesktop settings (cafa5ea)
  • launch full KCM when editing from window menu (66eb1de)
  • present for different refresh rates (f7b42ab)
  • hw: paint per virtual output (6e118b2)

Bug Fixes

  • change delete icon (2b7daa0)
  • clip ListView (0b42ea1)
  • enable apply button when typing desktop name (f81d62a)
  • implement valueFromText in a spinbox (c9fa1de)
  • make a bit more room for the decoration buttons (35b310d)
  • omit offering to remove the last desktop (638c5b7)
  • properly track synchronizing state (e783386)
  • deco: support High DPI Aurorae decorations (7b1deaa)
  • effect: activate present window even if only one window is open (ce1e61f)
  • effect: correct a typo (6724941)
  • effect: correct a typo (84b5251)
  • effect: make scale and glide effect ignore lockscreen greeter (17dba7f)
  • effect: make some animations less glitchy (ab56569)
  • effect: properly copy previous geometry (c741be2)
  • input: also track pressed ids for touch points != 0 (d09c649)
  • activate/deactivate desktop effects (42dc065)
  • add fallback timer for windows not syncing back initially (851f3be)
  • add hint about ignore geometry (104d603)
  • add KCModuleData to show default indicator at module level (b8e74fa)
  • allow building helper on musl (4299fcb)
  • always send a final synthetic configure event (38a874d)
  • compare with same int type (6c46241)
  • correct disambiguation (22c8886)
  • create Wayland socket only once (fb053b2)
  • disable compositor and delay compositor shutdown (42e7082)
  • do not update unmanagedWidgetDefaultState (ab59b01)
  • improve text for "keep above"/"keep below" buttons (b238ffd)
  • lower default severity of logging categories (baf30cb)
  • make KWinDisplay less chatty (43780eb)
  • reset repaints per output (09bae33)
  • return value in unused paint functions (4f0f5a8)
  • reuse Qt's implementation for non-Latin symbols in global shortcuts (7dd445d)
  • update sidebar default indicator (d24409e)
  • update values on text edit (522bc4f)
  • use clearer text for "Menu" decoration button (fca9267)
  • effect: allow wobbly windows model and real geometries get out of sync (6edfea7)
  • effect: properly reset present times in coverswitch and flipswitch effects (abe22c8)
  • hw: indicate missing swap events (5ff558e)
  • hw: initialize buffer age in nested X11 backend (6842adc)
  • hw: make context current on cleanup of intermediate framebuffer (17564c7)
  • hw: omit buffer age usage when hardware does not transform (4683b71)
  • scene: repaint output for all relevant window repaints (945dda6)
  • scene: reset repaint output in paint function (0b475a5)
  • script: restore script DBus API (4d9de93)
  • destroy compositor before destroying backend (96ddd18)
  • move platform shutdown to later in the process (768a49c)
  • omit trying to minimize transient children without control (ce7100e)
  • prolong sync fallback time (4f8334c)
  • stop extra input events from causing shutdown issues (d394bcd)
  • unset pseudo-max restore geometries on taking control (2434b6a)
  • update deco size when setting no-border (e51bcf1)
  • update view geometry with high precision (7572ab2)
  • input: connect directly to deco geometry changes (87c4b9d)

Refactors

  • do not compare values if we know they already changed (b4670f9)
  • unify the code that turns StrutAreas into QRegion (0749071)
  • effect: remove outdated ksplash window class strings (bad0c28)
  • effect: remove redundant slide code (d387118)
  • effect: rewrite fade effect using ES6 features (787e19b)
  • effect: rewrite maximize effect using ES6 features (e79af34)
  • effect: rewrite scale effect using ES6 features (99917bf)
  • effect: rewrite the effect using ES6 features (ae7e947)
  • adapt to Wrapland xdg-shell API changes (cebf43d)
  • always signal output addition and removal (cc1900b)
  • call again into repaint functions (1ffdb6c)
  • call again into single repaint function (cfc2e3d)
  • create session interface class (86c2792)
  • follow kwindoweffects::windowSizes deprecation (544d741)
  • improve GlobalShortcuts code (8777a5a)
  • make buffer for screen function pure virtual (1345bd2)
  • make logind integration non-global (fed8135)
  • make perform composition function pure virtual (9555094)
  • move OpenGL safepoint creation to X11 compositor (ef3598a)
  • move OpenGL safepoint definition to kwinglobals (bf5ad8a)
  • only delete entries once changes are applied (58c843a)
  • paint all outputs in separate function (910e6d1)
  • paint per output in separate function (f977e25)
  • paint referencing output objects (b009d13)
  • port away from KPluginTrader (49fe45a)
  • port away from Q_ENUMS to Q_ENUM (c025c51)
  • port deprecated KNewStuff signals (0aa6b28)
  • port kwin from Plasma Components2 (f848eaf)
  • port kwindecoration KCM to KNS QML components (5cd2163)
  • port kwineffects KCM to KNS QML components (7cddcb8)
  • port kwintabbox KCM away from KNS3::DownloadDialog (c9ac486)
  • present QPainter per output (7f6ec1a)
  • relocate and rename logind integration (6a12e2f)
  • remove buffer swap completion signal (e30871c)
  • remove KCModuleDataSignaling (fd3346e)
  • remove unused argument (ea053e3)
  • remove unused include (f5ffe2b)
  • remove virtual keyboard logging category (c870153)
  • swap position valid return value logic (5062b64)
  • unify windows properties methods in KCM class (ae3a926)
  • effect: improve wobblywindows update loop (2929871)
  • effect: prepare for versioned dbus interface (05ec710)
  • effect: re-implement highlight window as AnimationEffect (1fd47f3)
  • hw: allow only per-screen QPainter rendering (11d6632)
  • hw: query buffer age after present return (54db8f7)
  • hw: rearrange buffer age checks for repaints (c9989b4)
  • hw: remove per screen rendering function (2e04ae2)
  • hw: remove QPainter overlay functions (49dd2f0)
  • scene: get leads from separate function (590ac52)
  • scene: split up function to perform composition (da6668f)
  • script: port Script to QJSEngine (f1753be)
  • script: port ScriptedEffects to QJSEngine (787ad60)

5.21.0 (2021-02-16)

Bug Fixes

  • add fallback timer for windows not syncing back initially (c3bc90f)
  • always send a final synthetic configure event (2db9783)
  • create Wayland socket only once (4d6f3f9)
  • omit trying to minimize transient children without control (a02b80f)
  • prolong sync fallback time (42a369a)
  • update deco size when setting no-border (6bab966)
  • input: connect directly to deco geometry changes (622a084)
  • unset pseudo-max restore geometries on taking control (861a612)

5.21.0-beta.0 (2021-02-07)

Features

  • add audio pause mapping in xkb_qt_mapping (f160ea8)
  • add option to enable XWayland debug (5d128e2)
  • allow Short Name override (55add26)
  • highlight effects that are not in default state (73ff4ce)
  • effect: add an animation curve to maximize and fullscreen (50c2945)
  • add Wayland wrapper binary (35b6351)
  • apply Initially as default value of new Rules Properties (f9b70b2)
  • define annexed transient children (1012828)
  • expose keyboard layout Short Name via DBus (1a21f2c)
  • expose switchToNextLayout() method in Keyboard Layout DBus API (5c24363)
  • implement KCModuleData in Scripts KCM (f034f77)
  • effect: allow configuring click behavior in Desktop Grid (287e7da)
  • improve Detect Properties button (7ade2c8)
  • remove shading windows (3c51411)
  • simplify border selection (6b9cf77)
  • deco: use Header KColorScheme role instead of obsolete WM group in kdeglobals (831d7d3)
  • effect: add a setting to change the animation curve (897180c)
  • effect: add screenshotScreens to screenshot specific screens (d16aa5e)
  • effect: raise blur strenght (3312792)
  • hw: add variable to align outputs horizontal (d9f1e13)
  • scene: composite to maximal refresh rate (1e57edb)

Bug Fixes

  • input: create config watcher in ctor (26eb02c)
  • add a Duplicate action to rules list (8ec7ca8)
  • add an explicit quit mechanism controlled by plasma (9e764a7)
  • allow negative numbers in position (01ccf74)
  • always update border size for thumbnails (5678099)
  • avoid race on keyboard layout registering (d1806ea)
  • cancel on nullptr window select (8b417a8)
  • check for client may having closed itself (bd38a4b)
  • check for nullptr (0b1f71d)
  • close otherwise leaking file descriptor (81faec4)
  • configure on no-change maximize requests (e66a2c2)
  • correct binding loop on coordinate editor (3c7eebe)
  • correct magiclamp effect direction (8e4bf4d)
  • correct the surface id (c487f0a)
  • detect softpipe and llvmpipe on Mesa 20.2+ (35d5824)
  • disable bouncy cursor effect during ksplash (0344752)
  • disable debug log messages for KWIN_UTILS by default (ce30e63)
  • disable left touch edge by default (e18fa95)
  • do not detach QVector (56c3462)
  • do not force suggested property values (31d54a5)
  • do not use Implicit QML function call (28b6359)
  • don't expect authorization for interactive screenshots (e0492f1)
  • emit DBus signal for Keyboard Layout applet on every layout change (532abe4)
  • find unmanaged windows correctly (6617bd3)
  • handle OperationsOp as a noop (6cedddd)
  • implement KCModuleData to highlight default at module level (549c098)
  • improve detection of Radeon GPUs (245895e)
  • include <fcntl.h> for open() (baf2b1e)
  • initialize members in constructor (2628da8)
  • limit hightlight scrolling duration (a09d383)
  • make KeyboardLayoutTest pass with updated DBus API (5c35368)
  • omit showing keyboard layout OSD on switching between windows (c546c5e)
  • properly check if a vector is empty (578996f)
  • register unique service name when wayland keyboard interface is in use (991f13c)
  • replace uint with unsigned int (0a10072)
  • restore default key repeat mode (ecf1dfb)
  • deco: make direct connection to maximizedChanged signal (2d8d3aa)
  • effect: correct KWIN_EFFECT_FACTORY macros (62467f8)
  • effect: lookup ComparableQPoint keys in QMap (c250bea)
  • effect: schedule a lookingglass repaint when window is damaged (2532506)
  • effect: schedule a magnifier repaint when window is damaged (efdd2f6)
  • effect: schedule a zoomrepaint when window is damaged (07aef73)
  • reload key-repeat settings when kcminputrc changes (b1fd772)
  • remove confusing debug message (7319e05)
  • reply a meaningful dBus error when detecting unmanaged windows (0d0fdd7)
  • show error when detected window is unmanaged (7e6d571)
  • show no flag if Display Name is set (f4d4461)
  • store variants in own config entry (ae63218)
  • update thumbnail border size on theme change (8e0f711)
  • use generic wording for apps which can remember their settings (796de47)
  • use KCModuleData (f5b27b9)
  • use new Connections syntax (dae6496)
  • use untranslated name for Night Color global shortcut (435e0e2)
  • effect: screenshot correctly on GLES (1633aa6)
  • adapt restore geometry on screen change (94e78de)
  • always omit placing when initially maximized or fullscreen (729c463)
  • change client leader group for group clients (31e56d8)
  • check modal window control on tabbox addition (6ecb7d0)
  • clear const / non-const iterator mismatch (3881f99)
  • compare with same signedness (4b23900)
  • correctly invalidate cached x stacking order in wayland only mode (7b91350)
  • create Deleted control (0dd4a62)
  • determine indirect transient followers (26d1344)
  • enable sync extension for current Xwayland master (b4c5757)
  • include geometrytip header (45f4803)
  • initialize session state variable (f445663)
  • inline static header functions (203ac0a)
  • limit syncless resize updates (ae28abe)
  • log remnant's address (e4adf58)
  • make removal of X11 event filters safe (a7a0d51)
  • manage default Highlight indicator when not handled by KCModule (2ba093f)
  • mark as resizable depending on fullscreen update (5b391f0)
  • only raise leads with control (b7c3520)
  • order screens correctly in screenshotScreens (9af9f61)
  • overload negation operator for flags (2bf872f)
  • place internal osd windows according to placement policies (4eb210f)
  • properly test internal window flags (2a021ce)
  • provide blocking compositing override (a56f66b)
  • register Toplevel as Qt meta type (34de314)
  • remove compile warnings (0d44711)
  • remove unused variables (6d883ab)
  • reset shape region on update (ac06c9b)
  • set rules KCM localization domain (822e700)
  • show OSD when switching keyboard layout with Application Policy (fcb92e4)
  • update matrix on dmabuf texture initialization (cc45179)
  • deco: use background color palette for frame (923fb1c)
  • script: add Wayland windows to client model (37bc121)
  • remember fullscreen restore geometry on move (9d197ff)
  • restore geometry on move-resize (66412fb)
  • set restore geometry when invalid on fullscreen (ec6de41)
  • show correct keyboard layout OSD on policy change (cac8ada)
  • suppress redundant keyboard layout OSD notification (1d17365)
  • unset restore geometry on ending move (e209a1a)
  • use better window placement heuristics for internal clients (c40c6b3)
  • use right windowDamaged() signal in ThumbnailItem (6c8be9f)
  • deco: add rectangle to menu show request (e110a5d)
  • effect: expand geometry to annexed transients (4a75bfe)
  • input: handle empty input regions correctly (a1dcd38)
  • scene: create shadow only when effect-window exists (314f12f)
  • scene: move class member variable declarations (73df5b8)
  • scene: paint subsurface quads (dce810f)
  • scene: position subsurface relative to parent (4fa9b27)
  • scene: use std vector for nodes generation (e780b8a)
  • script: connect signals with window wrapper (40d56cf)
  • script: populate model with wrapped windows (e85541b)
  • script: register WindowWrapper to QML engine (5d82491)
  • space: send only children with control to other screen (342633a)

Refactors

  • add config module information to builtin effects (5e671f3)
  • add config module role to effectsmodel and use it to open config (70d2d9c)
  • add decoration KCM module data (7719ed9)
  • add geometry transform functions (608ebe3)
  • add missing includes (d3f5b25)
  • add properties to a rule one-by-one (f29498a)
  • add shadow margins getter (0d19b83)
  • add visible_rect with argument function (0cf36d2)
  • adjust maximization in free function (b213dae)
  • assert on no size change when sending to screen (9a65e50)
  • check for decoration directly (01ee9cb)
  • check transient for all windows (e4418cb)
  • clean up decoration KCM QML code (6831311)
  • create filtered Wayland display in ctor (e13be81)
  • create remnant windows for annexed transients (a309836)
  • create separate Wayland subsurface representation (537a14c)
  • define geometry update blocker in geo header (33b7389)
  • do not call randomly eglGetError() after eglMakeCurrent (6ed3037)
  • do not explicitely define Exec line for KCM (f2dfef1)
  • do not set geometry pending on fullscreen update (a71f587)
  • don't use a lambda unnecessarily (2a612ad)
  • drop excessive method arguments in Keyboard Layout DBus API (93a85c9)
  • get frame magins in function template (b55893e)
  • get visible rect in function template (b5d83b0)
  • hand over window type to popup input filter (ecac139)
  • handle X11 shape in Toplevel (c81042b)
  • have Toplevel::damage emit a QRegion (d403711)
  • have transient children be public (b06e64e)
  • improve pixmap cross fade code (129436a)
  • improve variable definitions (2e3369b)
  • in-class initialize NET info pointer (69081e8)
  • inform about initial motif hint get via argument (e1e78f0)
  • introduce geometry restore struct (4c75637)
  • make keyboard layout DBus API index based (07efc84)
  • maximize Wayland windows through template functions (11abad1)
  • move caption struct to Toplevel (685d510)
  • move decorations kcm to appearance (7cd945f)
  • move geometry update struct to Toplevel (92d25b1)
  • move maximize infrastructure to win namespace (683383b)
  • overhaul windows geometries (7e27ccf)
  • pass layout in KeyboardLayout::layoutChanged() signal argument (57aaad7)
  • port decoration KCM to KPluginLoader (d154955)
  • port from QStandardPaths::DataLocation to AppDataLocation (f140470)
  • port KCM KWin Decoration to SettingStateBinding (17295da)
  • port rules KCM to new Connections syntax (b2bf177)
  • port some KCMs away from deprecated undoChanges (51370a9)
  • positon geometry tip from x11::window class only (ca8ad66)
  • prefer std::make_unique over std::unique_ptr(new T) (c91cc05)
  • prefer using smart pointers to raw (eb8aa7d)
  • prepare annexed child rendering (30179ce)
  • prepare for compiling with EGL_NO_PLATFORM_SPECIFIC_TYPES (813a84d)
  • provide expected presentation time to effects (c77b5af)
  • provide Toplevel as argument to check transients (c54b6ab)
  • rectify restore geometry in separate function (87439f6)
  • reimplement client leader group finder in win namespace (683650f)
  • reimplement client shape as function template (5f02408)
  • remove a basic SNI for keyboard layout (d0db547)
  • remove cashed buffer geometry (dec260d)
  • remove cashed client geometry (57eda1f)
  • remove changeMaximized function (81d6548)
  • remove client content position getter (6e4e766)
  • remove client pos function (60f34ff)
  • remove decoration KCM isDefault call (83716b9)
  • remove decoration rect getter (4eb9fd3)
  • remove defunct calls to KAboutData::pluginInfo (cfeb200)
  • remove deprecated code (d0e6769)
  • remove dont_move_resize function (141c8ea)
  • remove fixqopengl.h (58390d9)
  • remove has-child function (6e84a5c)
  • remove input transform overrides (3a61e27)
  • remove maximize mode override from internal client (7f0e23c)
  • remove maximize recursion preventer (6583d04)
  • remove requested maximize mode getter (c0181f0)
  • remove set client shown functions (d17c631)
  • remove shade geometry change member variable (bde77e5)
  • remove support for _NET_WM_FRAME_OVERLAP (9b12734)
  • remove Toplevel popup functions (3592e17)
  • remove Toplevel's partial geometry getters (226c29a)
  • remove transient placement (28dca27)
  • remove transparent rect getter (f157196)
  • remove unnecessary comparisons (2895637)
  • remove unnecessary include (6ac18a2)
  • remove unused enforcement of geometry changes (960bea7)
  • remove unused function (8defe9b)
  • remove virtual client size function (cb374c2)
  • replace aspect macros with lambdas (649b9d7)
  • replace buffer margins with Toplevel variable (2f01a06)
  • replace client position member function (1c53ce4)
  • replace old connect syntax with new one (096e319)
  • replace Qt min/max calls (2d27492)
  • replace QVector with std vector (61cc9b1)
  • replace X11Client with win::x11::window (d20a93f)
  • replace XdgShellClient with win::wayland::window (8a88cba)
  • reposition geometry tip in function template (01e263e)
  • return to Properties-based QML API (fcf2ef3)
  • set size directly (8019e75)
  • simplify input geometry getter (b5ba3f6)
  • simplify minimal deco size calculation (3211692)
  • simplify updating group member relations (7857b49)
  • split up configure request function (57b7f4c)
  • split up function to take X11 window control (4405e27)
  • split up size for client size function (0158ef1)
  • update keyboard repeat config reading (80d4e8b)
  • use geometry update struct (2d54bd9)
  • use KCModuleData in ScreenEdge and TouchScreenEdge KCM (73c43c4)
  • effect: port desktopgrid away from QTimeline curve shape (2b360ae)
  • effect: remove KWIN4_ADD_GLUTILS_BACKEND cmake macro (7a92c4d)
  • rework function to update tool windows (bbd6f11)
  • simplify setting transient lead (2f5494d)
  • unvirtualize functions (82c7154)
  • update fullscreen in function template (70ec186)
  • use KPluginMetaData to load scripted config (4889ac7)
  • deco: add update size function (e906a09)
  • effect: port cubeslide away from QTimeline curve shape (7634bfe)
  • effect: port flipswitch away from QTimeline curve shape (04dc64d)
  • qpa: expose output names to QScreen (fbc4080)
  • update maximization in free function (2b71188)
  • update X11 windows fullscreen in function template (8cfb592)
  • use reference on offscreen position check (021a678)
  • deco: add window wrapper (e3c9fd4)
  • deco: replace client QPointer with Connection object (aa3dfb1)
  • deco: use double click timer smart pointer (5ea03a1)
  • store control in Toplevel (81c97a2)
  • scene: build quads in normal function (6d5e5d6)
  • scene: omit setting static texture variable (b8488b3)
  • scene: remove special subsurface handling (90caaf5)
  • unref annexed children remnants after timeout (bb88e1f)
  • scene: remove window buffer shape (51f41ad)
  • add access functions for visible rect before geometry update (aa15cf4)
  • add repaint during geometry updates in win namespace (ef0b7b2)
  • add string rules matching structs (e44c593)
  • assert on no surface (415b9bc)
  • check for popup from win namespace (ac6b4cb)
  • check for special window in win namespace (2f26af1)
  • check pending repaints from virtual function (64bb0ec)
  • composite Deleted (715c182)
  • composite transient into Toplevel (289b78d)
  • consolidate window geometry transformations (d964df3)
  • create header files with windowing function templates (01c488f)
  • create separate function for delayed ecectric maximize (fc8f9af)
  • create stacking order from bottom to top (4c0747f)
  • enter and leave desktops in win namespace (d322d44)
  • find modal without boolean trap (54e5e40)
  • get deco margins in Toplevel (39ec690)
  • handle window rules in win namespace (f51ccae)
  • harmonize damage addition (7fec694)
  • have resize effect status in control class (b200174)
  • have resize-effect as member (df1c383)
  • implement quicktiling in win namespace (c3f1218)
  • introduce ruler structs (7a0259b)
  • manage transients in control class (9b6a29b)
  • merge internal and clients lists (02899d8)
  • merge request focus functions (e48fb99)
  • merge unmanageds and clients lists (988b782)
  • merge X11 window type calls (94d721a)
  • modernize lower and raise group logic (64fd395)
  • move AbstractClient functions to Toplevel (df0fd8f)
  • move border functions to win namespace (63cbc71)
  • move clientPos implementation to Toplevel (467ee42)
  • move desktop setting to Toplevel (8256865)
  • move find-in-list function to win namespace (d9e7253)
  • move functions about screen, desktop, activity to own header (e8991b3)
  • move geometry shrink functions to win namespace (517e6b1)
  • move mouse and whell command to win namespace (6c3afbe)
  • move NET getters into win namespace (b25a6dd)
  • move pack-to function to win namespace (8e1012d)
  • move quicktile zone maximizing to win namespace (abf9046)
  • move same application check to win namespace (ff1ff45)
  • move shade boolean setter to win namespace (3cfdb67)
  • move shadow functionality to win namespace (4d8ff24)
  • move shortcut caption suffix function (fb5d0ef)
  • move tabbox functionality to control (db1e43b)
  • move update mouse grab function (2b5c956)
  • move win decoration functions in separate header (7886e78)
  • move win setup functions in separate header (7ab1f16)
  • move windows from within win namespace (f2ff2cf)
  • move X11-only properties to Toplevel (efc7660)
  • move X11Client properties to AbstractClient (eade2f1)
  • namesope signals with template parameter (f723ce2)
  • omit checking xdg-shell clients on internal (a906c7f)
  • process decoration button in win namespace (cb730df)
  • provide app menu in control class (eb01a01)
  • provide defaults of virtual Toplevel functions (35f830b)
  • reimplement caption in win namespace (373ff05)
  • reimplement decoration support in win namespace (7d15905)
  • reimplement frame-client geometry converters (1a81176)
  • reimplement minimize functionality in win namespace (1e16ecf)
  • reimplement move-resize in win namespace (6566b9a)
  • reimplement stacking functions in win namespace (4f9ca28)
  • remove AbstractClient (b79263b)
  • remove convenience overrides (89612b6)
  • remove desktops list (6cd3b0a)
  • remove function to find client with same caption (0e5d234)
  • remove key press event member function (785bbf0)
  • remove legacy ActivityFlag enum (20ccbd9)
  • remove legacy X11 multi-screens support (e2fb59f)
  • remove MaximizeMode (ed1d702)
  • remove nogroup argument from lower and raise calls (3572fe0)
  • remove titlebarPosition function (0f152d8)
  • remove Unmanaged class (8e0510e)
  • remove unmanaged loop action (17845e3)
  • remove unused signal (af5edbf)
  • remove unused variables (8336700)
  • remove update layer member function (8aa12e0)
  • remove virtual move alternative (fb2117f)
  • remove X11 clients list (43e9c2e)
  • remove x11 desktop-id member function getter (34091ab)
  • remove X11-only CSD property (0e1a5b4)
  • reorganise rules files (bc7f452)
  • replace AbstractClient usage with Toplevel (61b8f9e)
  • replace activation enum with booleans (2f4b966)
  • replace check rules macros with function templates (7f15fb5)
  • replace discard rule macro with lambdas (dd6bc3f)
  • replace ForceGeometry_t with win::force_geometry (262ea15)
  • replace Layer enum with enum class (f631fae)
  • replace MaximizeMode with win::maximize_mode (bbf9415)
  • replace on-screen functions by win headers (6d73da9)
  • replace Position with win::position (e536720)
  • replace property getters with function templates (366e83b)
  • replace rule apply macros with function templates (698e17c)
  • replace SizeMode with win::size_mode (3ce0a17)
  • save X11 main clients in transient leads (15b634f)
  • set and get desktop file name in win namespace (37c8334)
  • set fullscreen in control class (3d54122)
  • set modal in control class (37b20f9)
  • set shortcut in win namespace (0f26d03)
  • set unresponsive windows in control class (aabba27)
  • set Wayland maangement in control class (7fbb0da)
  • set window active in win namespace (0701244)
  • set window layer in control class (921eb07)
  • setup AbstractClient connections in win namespace (946ed71)
  • setup Plasma window in win namespace (1f239fa)
  • shade windows in win namespace (f020a11)
  • skip pager and alike with win functions (12f8387)
  • split out windowing control class (cdf68b6)
  • split up win header file (514bccf)
  • standardize X11 group transient handling (07e2dcd)
  • stop window composition at once (d2df2ef)
  • store remnants in normal windows list (1f72041)
  • store transient leads in vector (937110d)
  • unify damage addition (2652584)
  • update client visibility from win namespace (76e6c92)
  • update cursor in win namespace (9bb09a3)
  • update geometry in control class (0223aea)
  • update tool windows in win namespace (92b9362)
  • use enum classes for set and fore rules (d960321)
  • use position and size explicitly (ff7b787)
  • use STL smart pointers for TabBox clients (0a06b07)
  • use transient class in remnants (5ed2208)
  • use win::geometry_updates_blocker everywhere (d47b82d)
  • effect: add windowing function helper macro (71b6336)
  • use windowing function templates (7410ac9)
  • script: create window wrapper class (d11012c)
  • space: remove Q_PROPERTY macros from window classes (e09a5b8)
  • space: use STL containers for clients lists (86fca92)

5.20.0 (2020-10-13)

Bug Fixes

  • scene: create shadow only when effect-window exists (5753ce5)

5.20.0-beta.0 (2020-09-25)

⚠ BREAKING CHANGES

  • Default modifier key for moving/resizing windows changes from Alt to Meta.

Features

  • effect: add effect that animates full screen changes (22b94d8)
  • effect: expose frameGeometryChanged signal to effects (6aa10cf)
  • add option to disable window position memory for KDE apps (f08e82f)
  • add uninstall button for kwin scripts (de2867d)
  • effect: expose effect ID to scripting via effect.pluginId (5bb054d)
  • effect: expose the toplevel's pid in the scripting API (bc27e5b)
  • allow testing transformations on windowed KWin (30ba739)
  • change CommandAllKey to Meta (92aaad0)
  • implement presentation-time (ddc4f86)
  • improve partial maximization strings (558eede)
  • remove minimized windows special handling in task switcher (435310d)
  • effect: expose transientFor and only blur when transient parent is dock (00b375b)
  • position OSD a bit farther down (0d48983)
  • use monochrome icon for keyboard layout sni (9773206)
  • use Service Property to authorize screenshot without confirmation (962da29)
  • effect: implement focus tracking with QAccessibilityClient (c698271)
  • effect: implement zoom text caret tracking (e0d4b42)
  • effect: start logout animation on only windowAdded/Closed (16c806f)
  • effect: start sliding popups animation on only windowAdded/Closed (836d941)
  • effect: start the fade animation on only windowAdded or windowClosed (0c5ea7b)
  • hw: allow nested mode to have a fractional scale < 1 (8e421c7)
  • hw: request server-side decorations for the nested Wayland plugin host window (3c39b90)
  • scene: unpack Gl subimages (a05588c)
  • script: provide methods to create and remove virtual desktops (f47a05d)
  • space: allow corner-tiling by quickly combining tiling shortcuts (cdb4c56)
  • space: make Thumbnail Grid the default Window Switcher layout (3f031d0)

Bug Fixes

  • hw: set DPMS to on when enabling an output (5fa3ed2)
  • clear plugins after changing KNS entires (663ee37)
  • correct a typo (3052fa3)
  • make GL Context current on lanczos textures delete in timer hander (6fce3d4)
  • make script KCM default button work (730bf4a)
  • point kcfgc File attribute to kcfg file (bfc41ec)
  • remove a warning (98f8b3b)
  • remove flawed moc-include (56017eb)
  • return native screen sized images for screenshots (5d10f37)
  • deco: guess format for depth 30 (10bpc) (bb3c6ed)
  • effect: disable AnimationEffects when the screen is locked (af5e110)
  • effect: keep sticky windows on top of the cube by default (043c61c)
  • effect: properly clip windows (c376059)
  • effect: screenshot native screen sized images (6e79a87)
  • hw: check image map nullptr error (589e61d)
  • hw: do not blank crtc in atomic mode (3a6b9ba)
  • hw: do not call showCursor when softwareCursor is on (fb3348a)
  • hw: prevent cursor buffer leakage (816fda2)
  • hw: use --scale on kwin_wayland windowed mode (be986aa)
  • input: discard sub-pixel movements in gestures (bba02a8)
  • input: don't leak QTimer (dbba8cf)
  • input: let keyboard layout applet show actual layout (f196cb5)
  • qpa: delete platform screens with provided API function (cd63436)
  • qpa: don't leak screens when cleaning up (386366b)
  • qpa: omit double-deleting Window::handle (da38844)
  • clean xkb debug output of empty lines (7bdc93b)
  • correct build (3363c2d)
  • detect wmclass property correctly in rules KCM (ef19197)
  • don't perform MouseActivateRaiseAndPassClick for topmost windows (677f332)
  • grab all possible keyboard modifiers for window commands (82ac5fd)
  • hold a passive grab on buttons only when needed (62f2220)
  • loop twice through modes for Window Switcher (591f3b5)
  • make keyboard layout DBus API more reliable (4a85119)
  • remove compiler warning (ca49e42)
  • scene: clip shadows on useraction menus correctly with scale (56600e6)
  • only call VirtualDesktops::load once (deca25c)
  • save default keyboard layout (5d702d7)
  • set proper default value for ActiveMouseScreen (cd80c96)
  • space: prevent move/resize when handling full screen event (40787fc)
  • space: prevent move/resize when handling maximize event (45115d5)
  • space: resize maximised windows upon workspace change (f93a133)
  • partially revert a0c4a8e766a2160 (30f89a7)
  • propagate defaultsIndicatorVisibleChanged to children KCModule (7bdbabf)
  • script: reenable videowall config dialog (2727193)
  • provide a mask for flag-type properties (window types) (a2ed601)
  • set types property for NET::AllTypesMask correctly (2174e8e)
  • space: force FocusIn events for already focused windows (21728f2)
  • use correct physical dpi calculation (e5fa6b6)
  • hw: provide physical dimensions for outputs (e767cb1)
  • hw: support systems with age disabled (946df4e)
  • delay KCM initialization after QObject creation in standalone (91147c7)
  • improve scrolling speed through rules list (b7d650e)
  • save state in compsoiting KCM (b208e57)
  • send a valid timestamp on X11 in TakeFocus messages (db81769)
  • hw: append connector type id to DRM output name (95bb35f)
  • hw: move cursor with respect to view geometry ratios (a504c78)
  • hw: orientate view geometry (d09f2a9)
  • hw: return non-local debug output (1019ddf)
  • input: scale and rotate touch input correctly (910bd25)
  • qpa: delete font database to not leak it (4011d72)
  • scene: delay paint by the maximum duration of the last 200 frames (3663bd7)
  • scene: lock presentation only with output (502166c)
  • scene: update texture only when dmabuf images received (15a1024)
  • space: check edges for nearly complete screen overlap (ba48120)
  • xwl: close fd on error (a7aa252)
  • xwl: respect array bounds (a9f4018)
  • add kconf_update script to fix placement rule (cced66c)
  • allow absolute desktop file name paths (7b470c8)
  • center anchor placeholder message in RulesEditor (d9e0d22)
  • check for validity of edge in screen edge KCM (e8ede6b)
  • communicate placement setting (4f58b74)
  • correctly align natural layout in present windows (9f0001e)
  • detect also window complete class (a402782)
  • detect virtual desktops in Wayland (a9320c0)
  • extend upper limit of position and size spinners (b53d700)
  • guard against zero screens (9d095a6)
  • handle differences in paths for Linux vs FreeBSD (0f53246)
  • identify org.telegram.desktop notifications correctly (77dbeb3)
  • improve debug message, reduce duplicates (770cb9f)
  • improve opengl debug messages (db59918)
  • initialize class variables (d222793)
  • initialize struct variables (81703f2)
  • make Plastik decoration compatible with Qt 5.15 (efde264)
  • notify about decoration theme change (0baf911)
  • provide dmabuf on hardware with formats but without modifiers (51823e2)
  • reference correctly label in Screen Edges system settings (cad13bd)
  • show "window role" combo (dccd1c3)
  • show first item at right position on property list (81aa8dd)
  • store size properties (84d0077)
  • use EGL/eglmesaext.h in recommended way (3cce103)
  • scene: do not abort in KWin::Compositor::bufferSwapComplete() (68b2830)

Refactors

  • change enablement in output class (24d249d)
  • effect: improve loop implementations in WindowQuadList (09fc578)
  • effect: make WindowQuadList a QVector (f14c215)
  • hw: add missing const-referenece (facbb63)
  • scene: translate for -> foreach on a hot path (021065b)
  • adapt to KNS deprecations (848c29f)
  • adapt to Wrapland API change (8380ed1)
  • adapt to Wrapland Buffer API change (013f2b1)
  • adapt to Wrapland Output information changes (5f30176)
  • adapt to Wrapland Output to WlOutput name change (fa94d94)
  • adapt Wrapland's new Output master class (7626739)
  • add frameGeometryChanged basic implementation (5499b16)
  • allow creation of simple EGL textures (733f38d)
  • allow public access to orientate size function (e2df477)
  • clean #if version check blocks (c7ba4d0)
  • deprecate --libinput option (c0080b2)
  • don't compare string with empty string (db5b043)
  • drop empty X-KDE-PluginInfo-Depends (b3ca65d)
  • drop multi-head from VirtualDesktopManagement (d57aa85)
  • get raw pointer for internal Buffer use (92eb074)
  • move screens changed timer to X11 plugin (75917d2)
  • port away from deprecated Qt::MidButton (10db141)
  • port away from KMimeTypeTrader (81e34e8)
  • port some tests away from a deprecated QProcess::start() overload (7634700)
  • port TestTabBoxClientModel away from deprecated QWeakPointer::data() (ac8ed8d)
  • effect: convert a couple foreach loops (df41e16)
  • effect: factorize Screenshot code (0a4f5fa)
  • effect: remove leftovers after blur cache (f183bec)
  • hw: remove buffer age in windowed X11 backend (9c50454)
  • hw: remove DRM remote-access (dad8d47)
  • hw: remove output configuration file write (e042f84)
  • hw: remove special Gl strict binding handling (52b9625)
  • hw: remove superfluous check of non-rendered output (90d3428)
  • hw: remove X11 EGL backend (1b0cbf9)
  • hw: use introspection to print enums (939a21b)
  • hw: use simple EGL textures in Wayland nested backend (1a23a48)
  • qpa: remove unused override for the inputcontext (037efbc)
  • scene: use std::array to store lanczos kernel data (ab7492c)
  • move DPMS to Platform level (c189277)
  • port away from deprecated KTitleWidget::setPixmap() (5aa8e66)
  • port knsrc file to explicit syntax for kpackage (5b2bdbb)
  • reduce repeated Screens::scale(int) (bcd21f8)
  • xwl: remove Q_FALLTHROUGH macros (3372476)
  • remove createScreens method (2a0b43a)
  • remove Platform ready check (afd3cc7)
  • remove scale method option (f75b373)
  • remove Screens subclassing (bac5d56)
  • remove unused function supportsTransformations (f4d9362)
  • remove virtual keyboard (b865f01)
  • remove vsync option (4369213)
  • start up after Platform with direct call (d19cc27)
  • use std::vector for EglDmabufBuffer images (824f4d3)

5.19.1 (2020-06-16)

Bug Fixes

  • add kconf_update script to fix placement rule (38c225a)
  • center anchor placeholder message in RulesEditor (921eedb)
  • communicate placement setting (055cece)
  • correctly align natural layout in present windows (5757316)
  • detect virtual desktops in Wayland (7dda121)
  • extend upper limit of position and size spinners (c4da075)
  • make Plastik decoration compatible with Qt 5.15 (305e425)
  • reference correctly label in Screen Edges system settings (8169af2)
  • show "window role" combo (5574c67)
  • show first item at right position on property list (7df67a1)
  • store size properties (7ff7dae)
  • use EGL/eglmesaext.h in recommended way (116da30)

5.19.0 (2020-06-09)

5.19.0-beta.0 (2020-05-24)

Features

  • use text to describe maximize button actions in options KCM (6fe0da5)
  • script: introduce ClientModelByScreenAndActivity (5c85b94)
  • script: make workspace.currentActivity writable (73043a6)
  • add a shouldReturnNativeSize argument to screenshotFullscreen (0d42bd0)
  • decode full monitor vendor name from EDID using hwdata (790aa7b)
  • improve PowerOff/PowerDown behaviour (b5976a6)
  • make Compositor more verbose (c460d6c)
  • redesign KWinRules KCM (1c83b35)
  • hw: simplify printing DrmObjects through QDebug (b9e8de8)
  • input: allow to set a scroll Factor for input devices (ac503c6)
  • remove default button on kwinrules KCM (d525bae)

Bug Fixes

  • act on valgrind warning copying window icon for windowed mode (6b2e477)
  • align layout of list items correctly in rules KCM (0fbcda0)
  • allow to take single screen screenshots using scale factor without loss (e08ce99)
  • correct message extraction (839b3bd)
  • create screens before screen edges (255b99a)
  • disable synchronized resizing for Xwayland < 1.21 (16fcb58)
  • disable widget in TabBox KCM if property is immutable (72197af)
  • disable widgets in screen edges KCM when immutable (170fc42)
  • don't exec() QDialog in decoration KCM (141a9b0)
  • don't position plasma surfaces if a position wasn't requested (dd50b1a)
  • enable synchronized resizing for Xwayland clients (7395354)
  • enforce correct teardown order (cef24cf)
  • follow scale of drag surfaces (1769fa9)
  • improve export buttons of Rules KCM (6f1074d)
  • improve tests behaviour on set ups with high dpi (5938775)
  • make hwdata truly a runtime dependency (49a2463)
  • make KCM dialog non blocking (3770f01)
  • make the string translatable (74c0b68)
  • manage KCModule states in TabBox KCM (991934d)
  • pass command line arguments to launched processes (adeb20c)
  • place lockscreen greeter above other windows (78b22ea)
  • prefer holding a reference to an object we're going to call (fb0a203)
  • set correct damage for repaints (333e4e3)
  • set correct default for MaximizeButtonRightClickCommand in KCM (eef9048)
  • set saner width for Placeholder messages in rules KCM (97466ce)
  • hw: don't leak planes (d2be110)
  • update KAboutData (81fd1c3)
  • update X11 time stamp on Wayland (663765f)
  • use new property ComboBox.currentValue in rules KCM (9a196d3)
  • deco: include config (34dad10)
  • hw: avoid crash in KWin::DrmOutput::updateCursor (8ff8354)
  • hw: improve QDebug of DrmOutput (c2cf2ef)
  • script: re-evaluate exclusions after relevant switching (463ac76)
  • set cursor size default to 24 to align with KCM (a965edd)
  • hw: properly access a scoped pointer (ef7248f)
  • xwl: handle same data being requested twice (b319b86)
  • use Wrapland's new std::weak_ptr (895d5f0)

Refactors

  • adapt to Wrapland server remodel (8f53e83)
  • script: introduce writable frameGeometry property (51277fb)
  • adapt to new KScreenLocker API (2069e03)
  • disable edge in touch edges KCM when immutable (198e0a8)
  • encapsulate and share duplicated EGL code (c836be3)
  • port kwinoptions focus tab to KConfigXT (ea1ce02)
  • port kwinoptions KCM partly to KConfigXT (c758086)
  • port kwinrules kcm to kconfigxt (0be2ab2)
  • port touch screen KCM to KConfigXT (8e84a14)
  • remove QSessionManager usage (06670a8)
  • remove unused method (17829cd)
  • space: drop Workspace::sendPingToWindow() (71113be)
  • port placeholder message to Kirigami.PlaceholderMessage (81e7cc9)
  • port screen edges KCM to KConfigXT (d17b175)
  • use generated kcfg settings in TabBox KCM (41e143b)
  • use KConfig XT in compositing KCM to store values (d6f74aa)
  • use KConfig XT in compositing KCM UI (05106a9)
  • effect: drop KWIN_GL_DEBUG (2e967f0)
  • effect: port GLPlatform to QRegularExpression (8185590)

5.18.1 (2020-05-05)

Bug Fixes

  • deco: include config (f93a150)
  • hw: avoid crash in KWin::DrmOutput::updateCursor (c9951dc)
  • script: re-evaluate exclusions after relevant switching (cac9dd0)
  • make KCM dialog non blocking (9682cc3)

5.18.0 (2020-04-15)

5.18.0-beta.0 (2020-04-01)

Features

  • scene: print debug message when viewport limits aren't met (eabacb7)
  • remove orientation sensor (c77731e)
  • deco: implement the size property (30e31d3)
  • effect: detect AMD Navi GPUs (242c38b)
  • effect: detect more AMD GPUs with GFX9 (Vega) chips (5023be5)
  • effect: move from Quad to Cubic (d958b16)
  • effect: set original backend framebuffer for render targets (eea46a6)
  • hw: add hardware transformation API (452d45c)
  • hw: introduce Gl post-process output rotations (267b6fe)
  • delay composite (60d4843)
  • effect: make sliding popup smoother and more consistent (7eb82c6)
  • hw: remember previous geometries of outputs (3cfcfbb)
  • input: send a Qt::Key_PowerDown when long pressing the power button (5170d59)
  • script: expose Workspace::sendClientToDesktop() (3541cf0)
  • space: implement resize_x/resize_y constraint adjustment (d8969a9)
  • xwl: support resolution change emulation (7f443f2)
  • add wp_viewporter support (7801a19)
  • expose more Night Color properties to d-bus (44e0780)
  • expose Night Color transition timings to d-bus (b639383)
  • introduce ftrace marker (1ffbfa0)
  • introduce Nigth Color inhibition API (e7eb3aa)
  • shim screen locker KWayland integration (60b2b24)

Bug Fixes

  • allow to create more than one row on the "Virtual Desktops" settings page (d6e56f3)
  • deco: disable problematic Plastik text hints (db3b77f)
  • deco: do not crash on plasma mobile (03a90ac)
  • deco: notify about decorations button order change (a1e5182)
  • effect: clip ListView (8b894cd)
  • effect: return early if close button accepts input event (9bce8b8)
  • hw: cache output transformation first (b31dc32)
  • hw: change up cursor output rotation values (237bb5f)
  • hw: force geometry change in backend plugins (f54b33d)
  • hw: work around missing mode data in crtc struct (0a31333)
  • input: send touch events with respect to device rotation (f36454c)
  • scene: schedule workspace repaint on minimize (9f6c071)
  • space: recursively destroy WindowPixmap objects (5722779)
  • connect the right tablet mode signals (e4f9483)
  • correct ftrace function name (965ab0d)
  • delete internal connection queue in order (bc5d25f)
  • disconnect to update client outputs on surface destroy (902d5c4)
  • do not divide by zero (6ff3bab)
  • draw drag icon during drags (79f43d4)
  • fall back to mode size (090801f)
  • inform Screens about size change (e4630e7)
  • make sure attribute is defined (90b725d)
  • make the virtual keyboard disappear when locking the screen (0bc7d01)
  • return client scale for internal scale (3d3ffa2)
  • set outputs for XWayland windows (301525c)
  • set virtual output logical size (876498b)
  • unset automatic socket naming on custom name (18e9cbe)
  • update idle inhibit state not for XWayland clients (05afacd)
  • effect: don't animate morphing popups when only shape changes (9594222)
  • hw: allow running without outputs (ea67269)
  • hw: set output view geometry (f1cfdf3)
  • scene: apply "Block compositing" rule right away (ae33841)
  • scene: avoid texture bleed rendering X11 window (328c0f6)
  • scene: fix decoration texture bleeding (07bc5a8)
  • scene: resize X11 windows without visual artifacts (f26546f)
  • space: do not use localtime for measuring duration (b439430)
  • xwl: handle reset of surface (daacd8d)
  • skip kwin.upd if python3 not installed (d453f16)
  • scene: remove outdated hack to reset vertex buffers (855d6ed)
  • space: keep the opposite corner still when resizing a window (3007810)
  • space: provide correct input geometry for client-side decorated clients (bc096c2)
  • remove "animation speed" keyword from Compositing KCM (dba2693)
  • return correct Unmanaged clients shape (0f4fc83)
  • space: clamp XdgShellClient::clientSize to surface size (80fc7b2)
  • set initial geometry and broadcast on change (6628c46)
  • take logical size on changes (6db2245)
  • update client scale (48ecef9)

Refactors

  • remove deprecated virtual desktop functions (ac457d8)
  • hw: add drm atomic flip handler (b5e55f7)
  • hw: add modeSize getter (bffde95)
  • hw: reverse the virtual output scaled size (f6b6768)
  • hw: use MapTexture for rotation rendering (bec71ac)
  • convert KWin options KCM Advanced part to KConfigXT (5179d74)
  • convert KWin options KCM Moving part to KConfigXT (32bae97)
  • drop kdeinit linking (3baf477)
  • integrate Wrapland client memory management API changes (4251609)
  • move definition of X11Client::damageNotifyEvent() to x11client.cpp (4cd7e7b)
  • optimize Night Color D-Bus service check (511792f)
  • port away from deprecated QProcess error signal (33971d2)
  • port Decoration KCM to KConfigXT (ed435ef)
  • port DesktopGrid QtQuickWindow to EffectQuickView (5d40f79)
  • put the resize effect in charge of scheduling repaints (0a944b0)
  • remove duplicated ping code (72572d7)
  • remove unneeded calls (0e45087)
  • simplify HTML markups (c5888cf)
  • use dedicated class for system clock change detection (58f3a3b)
  • use less Toplevel::isClient() (d5e42af)
  • use Q_ASSERT in XdgShellClient::transientPlacement() (2a4c4c0)
  • effect: add a const ref (42f572f)
  • effect: port from deprecated method KCModule::changed (d8db53b)
  • scene: merge window classes (aaae9ce)
  • space: split geometry topic file (e601cf9)
  • space: use geometry helpers in InternalClient (5e1dc00)