Tom Grushka
01c0cb020e
fix: a11y: magnifier: correct Centered/OnEdge focal-point math and refresh focal point at zoom-in
...
- I used AI to assist in research of the focal point computation formulae for OnEdge and Centered modes.
- I used the formulas found in [KDE's zoom magnifier](https://invent.kde.org/plasma/kwin/-/blob/master/src/plugins/zoom/zoom.cpp ) and converted them to Rust and the COSMIC focal point system.
- Remove unnecessary focal-point precomputation in `OutputZoomState::new`, because it is now updated on first zoom in anyway.
- Do focal point computation in Local coordinates in update_focal_point to eliminate local-global conversion confusion/ issues.
- ZoomMovement::OnEdge - single code path rewrite - old two-branch logic caused jumping and unpredictability at high zoom. Fixes [#2683 ](https://github.com/pop-os/cosmic-epoch/issues/2683 ), partially addresses [#2688 ](https://github.com/pop-os/cosmic-epoch/issues/2688 ).
- ZoomMovement::Centered - translation/clamp/invert - prevents "blow up" of calculation at zoom level > 2.0 that caused cursor to disappear off bottom right of screen. Fixes [#1503 ](https://github.com/pop-os/cosmic-comp/issues/1503 ).
- `is_level_change` - sets `previous_point` so that `animating_focal_point` interpolates instead of jumping. Still room for improvement (needs focal point recomputation per-frame during animation to prevent "boomerang" feel), but this is still an improvement over jumping.
- In `trigger_zoom`, call `update_focal_point` when `level > 1.0` - overlaps proposal in [#1859 ](https://github.com/pop-os/cosmic-comp/pull/1859 ) + the level gate to prevent stale focal point on zoom in. Fixes [#2511 ](https://github.com/pop-os/cosmic-comp/issues/2511 ) and [#1883 ](https://github.com/pop-os/cosmic-epoch/issues/1883 ). Partially addresses [#1420 ](https://github.com/pop-os/cosmic-comp/issues/1420 ) (item 1 only).
2026-07-13 13:08:45 +02:00
Victoria Brekenfeld
693d1ad775
shell/window: Fix radii for server-side decorations
2026-07-09 18:08:01 +02:00
Victoria Brekenfeld
2971845d40
render/blur: Fix rotated outputs having cut off blur regions
2026-07-09 18:08:01 +02:00
Victoria Brekenfeld
3e17157ccf
chore: update smithay
2026-07-09 18:08:01 +02:00
Victoria Brekenfeld
1f48a5e866
shell/menu: Use new MenuColumn widget
2026-07-09 18:08:01 +02:00
Victoria Brekenfeld
4f8aed4149
blur: Fix invalid matrix inversions
2026-07-09 18:08:01 +02:00
Victoria Brekenfeld
0c805d9b30
chore: cleanup new blur code
2026-07-09 18:08:01 +02:00
Victoria Brekenfeld
f6cb4519a0
render/blur: Cache native texture type
2026-07-09 18:08:01 +02:00
Victoria Brekenfeld
c92b91221c
render/element: Support converting gl-textures
2026-07-09 18:08:01 +02:00
Victoria Brekenfeld
1f0456a5af
render: Include OutputId in namespaces
2026-07-09 18:08:01 +02:00
Victoria Brekenfeld
361a2282c7
output: Add increasing output id
2026-07-09 18:08:01 +02:00
Ashley Wulber
f6d3dafda7
fix: use configured blur strength for lock surface and its subsurfaces
2026-07-09 18:08:01 +02:00
Victoria Brekenfeld
e0b6784eb5
render/blur: Wipe blur_texture before blit
2026-07-09 18:08:01 +02:00
Victoria Brekenfeld
f424abbc29
render/blur: Fix div-by-zero in shaders
2026-07-09 18:08:01 +02:00
Victoria Brekenfeld
43d6145afd
chore: fix warnings with no features
2026-07-09 18:08:01 +02:00
Victoria Brekenfeld
58938ef8ee
render/blur: Fix transformed outputs
2026-07-09 18:08:01 +02:00
Ashley Wulber
b890f7b0fa
fix(corner_radius): loosen padding size constraint
2026-07-09 18:08:01 +02:00
Ashley Wulber
77f57a656d
fix: pad_rect typos
2026-07-09 18:08:01 +02:00
Victoria Brekenfeld
db06770a6b
element: Refactor remaining libcosmic elements for blur
2026-07-09 18:08:01 +02:00
Victoria Brekenfeld
6c76fdaa79
element/window/stack: Use new IcedRenderElement
2026-07-09 18:08:01 +02:00
Victoria Brekenfeld
ab9f13b36f
iced: Handle blur internally
2026-07-09 18:08:01 +02:00
Victoria Brekenfeld
5ee2fa911a
wayland: Support cosmic-corner-radius v2
2026-07-09 18:08:01 +02:00
Victoria Brekenfeld
55d57ddba2
chore: theme-v2 libcosmic update
2026-07-09 18:08:01 +02:00
Victoria Brekenfeld
667414bd92
renderer/blur: Fix incorrectly offset blur region
2026-07-09 18:08:01 +02:00
Victoria Brekenfeld
6868c24501
renderer/blur: Use proper commit counter
2026-07-09 18:08:01 +02:00
Victoria Brekenfeld
d4cd9b674c
chore: Adjust log level for blur debugging
2026-07-09 18:08:01 +02:00
Victoria Brekenfeld
cfed174e9b
chore: Fix clippy lints
2026-07-09 18:08:01 +02:00
Victoria Brekenfeld
de8b47839c
render: Make blur_strength configurable
2026-07-09 18:08:01 +02:00
Victoria Brekenfeld
1c5ef576f4
render: Don't use separate damage_output calls
2026-07-09 18:08:01 +02:00
Victoria Brekenfeld
eb41b076ed
render: Use NamespaceElements to fix blurred lower layer-shell surfaces
2026-07-09 18:08:01 +02:00
Victoria Brekenfeld
a9bf89d8b2
element/wayland: Add blur background-effect
2026-07-09 18:08:01 +02:00
Victoria Brekenfeld
e4c0716951
element: Refactor element acquisition to be push based
2026-07-09 18:08:01 +02:00
Victoria Brekenfeld
178c6593dc
element: Introduce SurfaceRenderElement
2026-07-09 18:08:01 +02:00
Victoria Brekenfeld
8b990e5658
render: Merge FromGlesError into AsGlowRenderer
2026-07-09 18:08:01 +02:00
Victoria Brekenfeld
0ce7f11445
element/surface: Fix reported corner radius
2026-07-09 18:08:01 +02:00
maskedsyntax
067be10474
fix: fall back to legacy X11 names when loading pointer themes
...
Smithay requests modern shape-v1 names while themes like DMZ-White
only provide legacy X11 aliases. Try known aliases before failing to load.
2026-07-08 16:10:15 -06:00
Ian Douglas Scott
373a44d431
shell: Restore fullscreen to single-element stack
...
If a surface was previously a single-element stack, restore it normally
using the floating/tiling restore data, but map as a single element
stack instead of a plain window.
2026-07-07 17:46:23 -07:00
Ian Douglas Scott
98e1dd7f6b
shell: Also restore stack element on sticky layer to stack
2026-07-07 17:46:23 -07:00
Ian Douglas Scott
5c0c22988e
Don't unnecessarily use Option in WorkspaceRestoreData
...
Unless we expect to need this again in the future, it's best not to have
an `Option` here unnecessarily.
2026-07-07 17:46:23 -07:00
Ian Douglas Scott
9e6d46c17e
shell: Restore fullscreen surface to stack
...
Previously, a surface that was in a stack that is fullscreened would be
removed from the stack, and on unfullscreening, restored to the
floating/tiling layer as though it were a new window outside the stack.
Instead, if the stack still exists, add the window to it at the same
position it previously occupied.
2026-07-07 17:46:23 -07:00
Ian Douglas Scott
f765696834
Avoid unnecessarily unwrapping stack_ref() after is_stack()
...
In a lot of cases, matching on `stack_ref()` also works.
2026-07-07 17:46:23 -07:00
Ian Douglas Scott
26ee83aaa7
Implement Debug and comparison with CosmicMapped for CosmicMappedKey
2026-07-07 17:46:23 -07:00
Ian Douglas Scott
29320bdab5
Add cosmic-keyboard-layout-unstable-v1 protocol
...
https://github.com/pop-os/cosmic-protocols/pull/28
Allows clients like `cosmic-applet-input-sources` to show which layout
group is active and update it. Currently this is implemented by update
the `xkb_config` to change the layout order.
2026-07-07 16:44:09 +02:00
Ericky Dos Santos
031fdc389a
kms: change from thread_local approach to wiring scanout node through function calls to detect scanout candidates
2026-07-06 11:26:22 -06:00
Ericky Dos Santos
012c77ec81
fix(kms): gate overlay scanout per-element by buffer GPU node
2026-07-06 11:26:22 -06:00
Hojjat Abdollahi
9d52653d5c
revert: "fix: follow the focus after alt+tab to another output"
...
This reverts commit 56f84fba2d .
2026-07-02 17:53:03 +02:00
Alexander Daichendt
f5e0ba1594
make device DrmDevice in disable_crts
2026-07-01 21:18:43 +02:00
Alexander Daichendt
a9f2427c00
fix: internal laptop screen stuck on vendor logo with external monitor
2026-07-01 21:18:43 +02:00
Ashley Wulber
dacdc3db39
chore: workaround for Tiger Lake
2026-07-01 13:30:57 -04:00
Tom Grushka
c5775d2010
change update_focal_point to use f64 to avoid rounding errors
2026-07-01 17:56:29 +02:00