Debian Patches
Status for kwin/4:6.3.6-1
Patch | Description | Author | Forwarded | Bugs | Origin | Last update |
---|---|---|---|---|---|---|
upstream_612ec743_backends-drm-also-generate-modes-for-the-native-refresh-rate-of-the-display.patch | [PATCH] backends/drm: also generate modes for the native refresh rate of the display As we only do this when the scaling mode is available, it should be pretty safe, and these modes avoid driver issues where the refresh rate isn't switched to 60Hz. (cherry picked from commit 6d82dbcb7f344db3e3e772f91ec738b9e431681d) |
Xaver Hugl <xaver.hugl@kde.org> | no | upstream | 2025-05-23 | |
upstream_1a6871de_wayland-Fix-focused-surface-check-in-wl-data-device-start-drag.patch | [PATCH] wayland: Fix focused surface check in wl_data_device.start_drag SeatInterface::focusedPointerSurface() contains the main surface, but the client can specify a subsurface. (cherry picked from commit 40379821ee527ad7666de916f890852578c3a591) |
Vlad Zahorodnii <vlad.zahorodnii@kde.org> | no | upstream | 2025-05-29 | |
relax-interplasma-versioned-deps.patch | no | |||||
upstream_3f0a8a88_plugins-dimscreen-Enable-by-default.patch | [PATCH] plugins/dimscreen: Enable by default It helps to attract user's attention to the system prompt. It seems like a good default. |
Vlad Zahorodnii <vlad.zahorodnii@kde.org> | no | 2025-03-20 | ||
upstream_68dbfe7a_backends-drm-prevent-the-main-thread-from-moving-the-target-pageflip-time-forward.patch | [PATCH] backends/drm: prevent the main thread from moving the target pageflip time forward When the commit thread moves the target back by one refresh cycle, there's some time where estimateNextVblank will still return the old target - so if the main thread adds another commit to the queue and overrides the target, the commit thread's action would be undone. |
Xaver Hugl <xaver.hugl@gmail.com> | no | 2024-09-05 | ||
upstream_602072c9_backends-drm-remove-unused-method.patch | [PATCH] backends/drm: remove unused method | Xaver Hugl <xaver.hugl@gmail.com> | no | 2025-04-03 | ||
upstream_85eeafa0_backends-drm-dynamically-adjust-the-safety-margin-based-on-commit-time.patch | [PATCH] backends/drm: dynamically adjust the safety margin based on commit time Atomic (test) commits can take a varying amount of time, and that depends on the content of the commits as well as CPU frequency. For example, changing GAMMA_LUT can take a whole additional millisecond on my desktop PC, and may take even longer on laptops in power saving mode. To mitigate that, as well as the scheduler not necessarily waking up the commit thread at the desired time, the added logic compares the desired vs. achieved commit completion timestamp after every atomic commit, and adjusts the safety margin accordingly. As we currently don't know exactly when the atomic commit is actually applied, and the timestamp for when the ioctl returns is just an approximation (which fails on NVidia), this keeps the base safety margin at 1.5ms. We can reduce that once we have some API to actually know when the commit is applied. |
Xaver Hugl <xaver.hugl@gmail.com> | no | upstream | 2025-04-03 | |
upstream_7b93a776_Implement-MouseKeys-on-Wayland.patch | [PATCH] Implement MouseKeys on Wayland This allows to move the mouse cursor using numpad keys. This is an accessibility feature. On X11 this is implemented in XKB, on Wayland we get to do it outself. It's implemented as a plugin that filters for relevant keys and generates mouse events through a virtual pointer device |
Nicolas Fella <nicolas.fella@gmx.de> | no | upstream | 2022-12-26 | |
upstream_801d31a9_plugins-stickykeys-Unlatch-keys-after-mouse-click.patch | [PATCH] plugins/stickykeys: Unlatch keys after mouse click This is how X11 behaves and it allows things like Ctrl+Click to work as expected with sticky keys |
Nicolas Fella <nicolas.fella@gmx.de> | no | 2024-07-09 | ||
upstream_fd0eef29_Fix-config-options-for-inactive-window-action.patch | [PATCH] Fix config options for inactive window action The "Activate, pass click and raise on release" option was added to the Window Actions Inactive Inner Window left click dropdown, but in this file was instead added to the Titlebar actions list: https://invent.kde.org/plasma/kwin/-/merge_requests/6555/diffs?file=794ca93c1a0a39541fac0b789307cde9ec80df1d#diff-content-794ca93c1a0a39541fac0b789307cde9ec80df1d This moves the added config file option to the Inner Window section, which should help it operate as expected when non-default options are selected. |
John Kizer <john.kizer@proton.me> | no | upstream | 2025-04-30 | |
upstream_572fee09_effects-slideback-Also-check-activity-when-matching-windows.patch | [PATCH] effects/slideback: Also check activity when matching windows When a window is raised, we compare which windows we have to move. Otherwise it gets managed, but never painted, and thus never cleared, this corrupts the stacking order. (cherry picked from commit 0ed015cc8adc86c860b3a87555b2574d94999a4c) |
David Edmundson <david@davidedmundson.co.uk> | no | upstream | 2025-05-27 | |
upstream_48ddfb59_wayland-Send-wl-data-source-cancelled-if-wl-data-device-start-drag-is-rejected.patch | [PATCH] wayland: Send wl_data_source.cancelled if wl_data_device.start_drag is rejected If a dnd operation is rejected by the start_drag request, currently, the client has no any feedback about it. This change makes kwin send a wl_data_source.cancelled similar to what weston does. Note that with internal drags, no feedback will still be provided though. (cherry picked from commit d9249be845b788b1e22e9944468c26612d37730b) |
Vlad Zahorodnii <vlad.zahorodnii@kde.org> | no | 2025-06-04 | ||
upstream_9580193a_backends-drm-also-handle-GPU-resets-on-secondary-GPUs.patch | [PATCH] backends/drm: also handle GPU resets on secondary GPUs Just re-creates the swapchains and context. (cherry picked from commit 7268ced6517dccc2d11420b62668af31f26a58e8) |
Xaver Hugl <xaver.hugl@gmail.com> | no | 2025-06-11 | ||
upstream_98b64e9b_backends-drm-allow-night-light-to-get-closer-to-the-edges-of-the-gamut.patch | [PATCH] backends/drm: allow night light to get closer to the edges of the gamut The limit changes the result vs. 6.2 / kwin_x11. 0.0001 is enough to prevent the math from going crazy, and changes the result a lot less. (cherry picked from commit 29dc8ee4cacb6372c0d93c784a18059158b6f1b9) |
Xaver Hugl <xaver.hugl@gmail.com> | no | upstream | 2025-06-26 | |
upstream_252c74c0_Implement-org-freedesktop-a11y-KeyboardMonitor-interface.patch | [PATCH] Implement org.freedesktop.a11y.KeyboardMonitor interface This allows screen readers to intercept keys for their own shortcut handling. This is not a regular input filter since we need to be able to intercept keys before they change the XKB state. |
Nicolas Fella <nicolas.fella@gmx.de> | no | 2025-03-06 | ||
upstream_cfc05b0e_a11ykeyboardmanager-Grab-keys-when-grabbed-modifier-is-pressed.patch | [PATCH] a11ykeyboardmanager: Grab keys when grabbed modifier is pressed The description for 'modifiers' in SetKeyGrabs says "All keys in this list will be grabbed, and keys pressed while any of these keys are down will also be grabbed." That last part was missing, causing keys to be processed normally and sent to the application when they shouldn't. |
Nicolas Fella <nicolas.fella@gmx.de> | no | upstream | 2025-06-27 | |
upstream_5ba6279b_A11yKeyboardMonitor-Fix-sending-keycodes-to-AT.patch | [PATCH] A11yKeyboardMonitor: Fix sending keycodes to AT processKey receives scancodes, we need to convert to keycodes when emitting KeyEvent |
Nicolas Fella <nicolas.fella@gmx.de> | no | upstream | 2025-07-01 | |
upstream_889ffed2_A11yKeyboardMonitor-Distinguish-modifier-and-other-key.patch | [PATCH] A11yKeyboardMonitor: Distinguish modifier and other key When processing a key event, only update A11yKeyboardMonitor::lastModifier and A11yKeyboardMonitor::lastModifierTime if the pressed key is actually a modifier. Otherwise, the "if the modifier was pressed twice within the key repeat delay process it normally" logic above would trigger when pressing a non-modifier key twice within the key repeat delay time, breaking e.g. Orca's structural navigation when pressing "H" twice to jump to the heading after the next, and instead result in a literal "h" getting inserted when input is accepted (e.g. in an editable LibreOffice Writer document). |
Michael Weghorn <m.weghorn@posteo.de> | no | upstream | 2025-07-07 | |
upstream_070f5ba6_xdgshellwindow-Reset-gravity-on-interactive-resize-finish.patch | [PATCH] xdgshellwindow: Reset gravity on interactive resize finish Prevent a maximize operation from accidentally reusing whatever resize gravity a previous interactive resize operation used. This fixes an issue where windows may be placed at a non-0,0 coordinate after a maximize on fractionally scaled displays if the window was previously resized from the top edge, potentially allowing mouse clicks on the top of the display to reach windows underneath the maximized window. (cherry picked from commit 0d929de7f0aad8bfd07075bf189cb19ee46f6815) |
Vlad Zahorodnii <vlad.zahorodnii@kde.org> | no | 2025-07-01 | ||
upstream_8f331a26_backends-drm-don-t-use-UUID-to-identify-outputs.patch | [PATCH] backends/drm: don't use UUID to identify outputs The UUID is only set later by the output configuration system, so it can't be used in the drm backend when deciding the dpms state of a "new" output. This changes it to use EDID ID, EDID hash or connector name instead, which are valid much earlier and are reliable enough for the dpms workaround. (cherry picked from commit e177e1d2da8a278f85d5d3e24ffdc01e7c2eaca6) |
Xaver Hugl <xaver.hugl@gmail.com> | no | upstream | 2025-07-04 | |
upstream_225e7360_wayland-Remove-buffer-checks-in-xdg-surface-and-layer-surface-factory-requests.patch | [PATCH] wayland: Remove buffer checks in xdg_surface and layer_surface factory requests Due to transactions getting delayed sometimes, the current surface state may have a buffer. It doesn't necessarily mean that it's a protocol error. Whether the client has actually committed an invalid state will be determined later when the client commits the surface after creating the surface role. (cherry picked from commit 7772926af7f74e29c14f7b97418745111278dd83) |
Xaver Hugl <xaver.hugl@gmail.com> | no | upstream | 2025-07-04 | |
upstream_e4e144db_backends-drm-Fix-memory-leak-in-DrmGpu-createNonMasterFd.patch | [PATCH] backends/drm: Fix memory leak in DrmGpu::createNonMasterFd drmGetDeviceNameFromFd2 returns an allocated string, which means we should free it. (cherry picked from commit e6e3431da596e7580c367ea1ed13b1b614638026) |
Vlad Zahorodnii <vlad.zahorodnii@kde.org> | no | 2025-07-07 | ||
upstream_e8541cf2_wayland-Fix-resizing-with-fractional-increments.patch | [PATCH] wayland: Fix resizing with fractional increments Rounded client sizes are checked, which is okay if we want to determine whether the window geometries match. But it doesn't mean that the requested frame size can be used. We need to run nextClientSizeToFrameSize() on top to make sure that the frame tightly wraps the surface. For example, consider that the rect.width() is 10.5 and the target scale factor is 2. If there are no borders, the requested client size will be 11. If the current client size happens to be 11 as well, then the final frame geometry will have 10.5 width, which is totally incorrect, it has to be 11. If kwin uses 10.5 width, then the outline around the window may not have uniform thickness. During interactive resize, the snapped geometry also needs to be gravitated so when you drag the left edge of the window, the right edge doesn't move left and right chaotically. (cherry picked from commit 5b7abb00a3cbbf4084683c9a2070970d0897a39a) |
Vlad Zahorodnii <vlad.zahorodnii@kde.org> | no | 2025-07-09 | ||
upstream_51c0880f_wayland-close-popups-upon-window-activation.patch | [PATCH] wayland: close popups upon window activation Popups should grab all input on Wayland, however there are numerous (deliberate) ways to get outside the grab, such as a shortcut that opens a new window or pressing alt-tab. If a popup is active when the focus changes we are left in a state where the new window visibly has focus and appears on top of the popup's main window, but the popup is still visible with an input grab. This is a broken state. This patch cancels popups if the focus window changes for whatever reason. Cancelling a popup also destroys the window server side rather than waiting for the client to handle the popupDone so there is no racey aspect for the next input. (cherry picked from commit 43f7621eb1ef22704c4c12c21c29945bffa37e47) |
Vlad Zahorodnii <vlad.zahorodnii@kde.org> | no | upstream | 2025-07-09 | |
upstream_267fa4ec_Fix-activate-and-raise-action-with-panels.patch | [PATCH] Fix "activate and raise" action with panels With the "activate and raise" action, the window manager should activate and raise the window but not pass the click. If a window is focusable, then only the mouse press should be filtered out. If a window is not focusable, there is some sophisticated code to see whether the window is obstructed by any other window (because isActive() is always false for such windows so we need another way to determine whether it's the first click). If the window is obstructed, then no click will be passed but the action will still be performed, in other words, the window will be activated (noop) and raised. However, this breaks if a window has transients, which is the case with panels. We want the click to be passed along even though the window is covered by a child (it doesn't matter whether it accepts focus). Given that primarily only special surfaces don't accept focus, e.g. panels, and they are expected to receive clicks, the special stacking order code path can be replaced with a `return false;` statement. Which is also identical to the MouseActivate case. See also e8dad997fae98e3c0c40653667dd22a002747556 (cherry picked from commit f73200def99d7511955c3c698b53832cd3bb9404) |
Vlad Zahorodnii <vlad.zahorodnii@kde.org> | no | upstream | 2025-07-11 |
All known versions for source package 'kwin'
- 4:6.3.6-1 (sid, trixie, forky)
- 4:5.27.5-3 (bookworm)