Victoria Brekenfeld
f00ff834c9
resize/tiling: Fix location for tablet tools
2026-09-03 21:00:11 +02:00
Victoria Brekenfeld
b8824128a0
element: Add cursor shape and resize handling on tool input
2026-09-03 21:00:11 +02:00
Victoria Brekenfeld
e65f6608a4
element: Remove unnecessary grab variants
2026-09-03 21:00:11 +02:00
Victoria Brekenfeld
9125f8a2a7
input: Add pointer-emulation grab for tablet tools
2026-09-03 21:00:11 +02:00
Victoria Brekenfeld
6467f79025
shell: Add tablet grabs
2026-09-03 21:00:11 +02:00
RipleyTom
94178034dd
feat: allow XWayland window to start minimized
2026-08-31 16:29:03 +02:00
Victoria Brekenfeld
5c93094574
chore: update smithay
2026-08-26 20:07:05 +02:00
Hojjat
31827ed240
improv: clear image_cache on refresh
2026-08-25 17:33:56 +02:00
Tom Grushka
738e0b3124
a11y: magnifier: change zoom stepping to multiplicative, bound max, add presets
...
1. Change magnifier zoom stepping from additive to multiplicative,
because zoom is a ratio, not a difference, and human perception is
logarithmic (browser zoom steps, map zoom levels, microscope powers).
2. Add `pub const ZoomConfig::ZOOM_INCREMENT_PRESETS` with two
additional presets: 10% (macOS, Cinnamon) and 75% (for users at
70-90x zoom).
3. Bound the zoom level to a generous maximum, beyond what anyone is expected
to need, to prevent runaway / unrecoverable levels (#1230 ).
Full background and rationale at #2615 .
I used AI to assist with research and issue writeup. Code is 100% mine.
- Closes #2615 .
- Fixes #1239 .
- Partially addresses #1230 and #1237 .
2026-08-21 22:56:16 +02:00
Hojjat
f20de50e41
feat: shake cursor to find by magnifying the cursor
2026-08-21 00:39:02 +02:00
Hojjat
f4ee52c46a
Ei protocol support
...
- Use the configured keyboard layout, track ei seats to reconfigure their keyboards
- DBus interface
- Disambiguate input devices per backend instance
- Add support for `ei_keysym` and `ei_text`
- Act as input method for ei_text UTF-8 injection
- Create a region per output for abosolute pointer position
- Map ei region for touchscreen emulation
- Release pointer buttons and keys on removal
- Send modifiers to EI connections
2026-08-17 12:22:35 -07:00
Hojjat
58c018dd40
fix(shell): take presentation feedback from fullscreen surfaces
2026-07-31 13:42:00 -06:00
Victoria Brekenfeld
091583ac84
backend: Support wl-dmabuf v6
2026-07-29 22:08:23 +02:00
RipleyTom
5ce21fb4f3
fix: ensure X window focus on unmap/map
2026-07-27 21:38:26 +02:00
Ian Douglas Scott
270ba7bf80
image-copy: Update toplevel cursor position for cursor_follows_focus
2026-07-21 17:02:58 +02:00
Ian Douglas Scott
27956e6e00
Make cursor_geometry() return a CursorGeometry struct
...
A bit better than just a tuple.
2026-07-21 17:02:58 +02:00
RipleyTom
8955024bff
Fix: improve edge pointer accuracy
2026-07-21 15:50:19 +02:00
Hojjat
aabf1cdc08
fix: flicker on wayland context menu pop up
...
fix
2026-07-21 12:59:20 +02:00
Victoria Brekenfeld
2d95d46a37
chore: formatting fixes
2026-07-16 19:43:10 +02:00
Victoria Brekenfeld
8ab946f10a
chore: clippy fixes
2026-07-16 19:43:10 +02:00
Hojjat
2329cea5c9
fix: input to cropped tiled windows should be bound to the tile
2026-07-15 22:55:05 +02:00
Graham Walker
b8807a541f
Fix detached active window hint
2026-07-15 13:16:28 -06:00
Victoria Brekenfeld
dec1ee8633
fixup: logic error
2026-07-14 18:16:50 -04:00
Victoria Brekenfeld
603c90b103
element/surface: Avoid scanning out translucent surfaces
2026-07-14 18:16:50 -04:00
Ilia Malanin
7a7c6b7fd4
fix: take into account pending maximized state when recalculating window geometry
2026-07-13 17:24:56 +02:00
Tom Grushka
0596cce40d
remove redundant level condition; simplify level early return on ZoomMovement::Centered
2026-07-13 13:08:45 +02:00
Tom Grushka
4d14f5568f
improve comments
2026-07-13 13:08:45 +02:00
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
1f48a5e866
shell/menu: Use new MenuColumn widget
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
361a2282c7
output: Add increasing output id
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
de8b47839c
render: Make blur_strength configurable
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
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
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
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