Commit graph

874 commits

Author SHA1 Message Date
4e2e58e03d chore: gate accessibility-only winit state 2026-07-02 18:43:40 +02:00
Votre Nom
ce5ea665e2 Fix high-signal widget and Wayland warnings
Avoid recursive operation traversal, execute visible list updates instead of leaving a lazy iterator unused, remove unreachable cfg-gated surface creation code, and handle subsurface buffer attachment failures.
2026-07-02 18:42:57 +02:00
Ashley Wulber
c781ff6199 chore: cargo fmt 2026-07-01 10:37:52 -04:00
Ashley Wulber
633ed14411 feat: popup reposition 2026-07-01 10:37:52 -04:00
Ashley Wulber
8e94441efa fix: apply initial corner radius after adding surfaces to the state
otherwise the corners won't be set.
2026-07-01 10:37:52 -04:00
Ashley Wulber
46781102fe fix: set blur and corners on creation 2026-07-01 10:37:52 -04:00
Ashley Wulber
5cc9f8d621 fix: single blur surface per wl surface 2026-07-01 10:37:52 -04:00
Ashley Wulber
6be49cb530 blur command helper 2026-07-01 10:37:52 -04:00
Ashley Wulber
b8b0804140 fix(overlap): fix check for disabling 2026-07-01 10:37:52 -04:00
Ashley Wulber
6521f7fa20 fix: improved layer surface popup cleanup 2026-07-01 10:37:52 -04:00
Ashley Wulber
f6fa506f6c chore(layer shell): add padding action 2026-07-01 10:37:52 -04:00
Ashley Wulber
e0c7d353aa better handle pending corners 2026-07-01 10:37:52 -04:00
Ashley Wulber
a63d57261f blur enabled event 2026-07-01 10:37:52 -04:00
Ashley Wulber
1bcba7e30c wip: corner radius v2 2026-07-01 10:37:52 -04:00
Hojjat
9f41055861 Revert "feat: add direct SCTK action sender for wayland popups"
This reverts commit b007caba44.
2026-06-30 12:26:07 -04:00
Ilia Malanin
c3c8fcf52c refactor: wrap repeated run_action call in a macro 2026-06-09 10:14:25 -04:00
Ilia Malanin
f725961c87 fix: reuse wgpu compositor across windows 2026-06-09 10:14:25 -04:00
Ashley Wulber
dcf4cf0194 improv: ignore duplicate surfaces and log a warning 2026-06-06 02:22:09 +02:00
Ashley Wulber
9c748f1656 Revert "fix: avoid deadlock in context menu rendering"
This reverts commit 0094b347d4.
2026-05-27 17:25:49 -04:00
Hojjat
0094b347d4 fix: avoid deadlock in context menu rendering 2026-05-27 17:22:00 -04:00
Ashley Wulber
a7d71d9ace chore: modifiers event on keyboard enter and leave 2026-05-27 20:01:47 +02:00
Hojjat
b007caba44 feat: add direct SCTK action sender for wayland popups 2026-05-20 16:04:35 +02:00
KENZ
1444d5c43e fix(ime): Don't panic if some IME sends DeleteSurrounding events 2026-05-08 00:23:00 +02:00
KENZ
f752bba18f Revert "Fix the candidate window position of fcitx5 which does't work well wi…"
This reverts commit a9bcb00529.
2026-05-08 00:22:22 +02:00
Lcstyle
d7595fab95 fix: bootstrap FrameStatus on session lock surface configure
The session lock configure handler was missing receive_frame() and
request_redraw() calls that the layer surface configure handler has.
Without these, after S3 resume or DPMS wake, the FrameStatus entry
for lock surfaces could be missing, causing the rendering gate to
never reach Ready state — resulting in permanently grey lock screens.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-07 12:40:09 -04:00
Ashley Wulber
e000c71ff2 fix: send redraw request after events
creation events must be handled before processing redraws
2026-05-07 17:39:02 +02:00
KENZ
aa2a870c35 fix: Forward wayland IME events in SCTK only when single-instance
Some checks failed
Audit / vulnerabilities (push) Has been cancelled
Test / all (ubuntu-latest, 1.88) (push) Has been cancelled
Build / todos_linux (push) Has been cancelled
Build / todos_windows (push) Has been cancelled
Build / todos_macos (push) Has been cancelled
Build / todos_raspberry (push) Has been cancelled
Check / wasm (push) Has been cancelled
Check / widget (push) Has been cancelled
Test / all (ubuntu-latest, beta) (push) Has been cancelled
Document / all (push) Has been cancelled
Format / all (push) Has been cancelled
Lint / all (push) Has been cancelled
Test / all (macOS-latest, 1.88) (push) Has been cancelled
Test / all (macOS-latest, beta) (push) Has been cancelled
Test / all (macOS-latest, stable) (push) Has been cancelled
Test / all (ubuntu-latest, stable) (push) Has been cancelled
Test / all (windows-latest, 1.88) (push) Has been cancelled
Test / all (windows-latest, beta) (push) Has been cancelled
Test / all (windows-latest, stable) (push) Has been cancelled
feature enabled
2026-04-18 16:12:59 -04:00
Ian Douglas Scott
8f10a3bd34 winit: Set WindowAttributesWayland without cctk feature
There doesn't seem to be any reason for this to require the `cctk`
feature?

Fixes the app ID, and therefore icon, for `cosmic-sync-gui`.
2026-04-16 12:59:35 -06:00
boloto1979
64b97077b7 fix(wayland): add mouse cursor entered event to SctkEvent 2026-04-16 12:27:46 -04:00
Ashley Wulber
13b8d3eab6 fix: just use 0 for position of blur rectangle 2026-04-14 23:21:27 -04:00
Ashley Wulber
1bf1e33317 improv(wayland): handle capabilities for ext_background_effect 2026-04-14 18:21:36 -04:00
Ashley Wulber
d2b2715835 feat: ext-background-effect blur 2026-04-14 18:21:36 -04:00
Hojjat
42e3afb568 fix: double negative causing windows to never become ready 2026-04-01 21:59:58 -04:00
KENZ
84f3210819 Use base colors iff program style's background color is not opaque for IME preedit 2026-04-01 17:19:38 -04:00
KENZ
594ed5cfbe fix: Forward DeleteSurroundingText event in wayland backend 2026-04-01 17:18:08 -04:00
KENZ
d0ef1f9e85 Implement IME-related methods of SctkWinitWindow for apps using single-instance feature
- At least, following apps are using `single-instance` feature:
  - cosmic-launcher
  - cosmic-app-library
- Once libcosmic text widgets supported the IME, these apps start hitting following methods of SctkWinitWindow which is `todo!()` and will crash at startup:
  - `set_ime_cursor_area()`
  - `set_ime_allowed()`
  - `set_ime_purpose()`
- So, this PR implements these method utilizing following wayland protocols.
  - zwp_text_input_v3
  - zwp_text_input_manager_v3
2026-04-01 17:18:08 -04:00
Ashley Wulber
e4da5002ae fix: a11y_ready state for sctk surfaces 2026-04-01 17:12:17 -04:00
Ashley Wulber
1fdd24ab99 fix: feature gates 2026-03-30 18:47:47 -04:00
Ashley Wulber
d4b0c0482b fix: ensure adapter is created before window is marked visible 2026-03-30 18:47:47 -04:00
Ashley Wulber
5fa8b72a21 fix: mark window ready after adapter created 2026-03-30 18:47:47 -04:00
Ashley Wulber
3b7f0bec0e chore: cleanup platform specific code 2026-03-30 18:47:47 -04:00
Ashley Wulber
f59d5354bf increment surface version after sync 2026-03-23 20:16:37 -04:00
Ashley Wulber
9b94ee3ec4 fix: scale 2026-03-23 19:12:21 -04:00
KENZ
a9bcb00529 Fix the candidate window position of fcitx5 which does't work well with winit's set_ime_cursor_area() 2026-03-23 10:35:45 -04:00
wiiznokes
2d41248288 fix windows build 2026-03-18 09:11:54 -04:00
Ashley Wulber
51b0411026 fix(viewport): must use logical size when scale changes 2026-03-17 20:49:44 -04:00
Hojjat
7491547d70 fix(iced): handle scroll events 2026-03-16 15:57:15 -04:00
Hojjat
9b0ebf30bb fix(iced): route all pointer events through SctkEvent::PointerEvent 2026-03-16 15:57:15 -04:00
Ashley Wulber
1e419b2bc6 fix: update cursor pos when pointer enters 2026-03-10 01:08:34 -04:00
Ian Douglas Scott
4fb3ba214b winit: Fix cursor_position for touch events
Some widgets check the cursor position when handling the touch down
event, so we need to make sure `cursor_position` is set then, and not
only when there is a touch move event. Simply always setting it for
`WindowEvent::PointerButton` (for touch or mouse input) seems
reasonable.

We also need to avoid clearing `cursor_position` for `PointerLeft`
with a touch device. Do that only for mouse input.

Ideally Iced would handle touch input without tying to
`cursor_position`, but this should match the behavior of upstream Iced.

This seems to fix regressions since the Iced rebase in the `tour`
example, and in `cosmic-files`. `cosmic-files` seems to have some
issue using the menus with a touch device, but that doesn't seem to be a
regression.
2026-03-09 21:29:00 -04:00