Commit graph

6769 commits

Author SHA1 Message Date
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
Hojjat
7afd9ee0f8 fix: add alt clipboard bindings for text_editor 2026-06-21 06:49:01 -04:00
Jeremy Soller
62b90179a2 Fix List widget not updating children because iterator not consumed 2026-06-10 12:04:26 -06: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
Hojjat
5013f63956 improv: reuse loaded fonts by cosmic-text for svg renderer 2026-05-30 02:56:54 +02:00
Ashley Wulber
ebb3b125bf Revert "fix(text): don't reload cache every redraw"
This reverts commit 590e093086.
2026-05-29 16:43:44 -04:00
Gavin John
590e093086 fix(text): don't reload cache every redraw
I have >1000 fonts installed. COSMIC has always been somewhat laggy for me, but I had assumed it was just like that for everyone, or was the fault of my T480s. Eventually, when trying to diagnose some hitching, I ended up discovering that cosmic-launcher was consuming on average ~5% total CPU over time, which led me to discover that it was fetching all the fonts from disk and software rendering the fonts, every redraw, causing the high cpu usage *and* the stutters (as a result of hammering disk I/O). Oops.

The fix is simple: just persist the cache across redraws.
2026-05-29 19:56:54 +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
dfcd989947 fix: present suboptimal frames 2026-05-27 17:22:00 -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
Ashley Wulber
6105d8bdef reexport geometry from iced_graphics 2026-05-22 15:42:09 -04:00
Michael Aaron Murphy
98fb6a0fba
docs: update cosmic-protocols with docs cfg fix 2026-05-20 17:00:28 +02:00
Hojjat
b007caba44 feat: add direct SCTK action sender for wayland popups 2026-05-20 16:04:35 +02:00
Hojjat
a7ca336eb4 feat: HasSelectableText impl to TextEditor 2026-05-20 16:04:35 +02:00
Hojjat
2e1e4bd6e0 feat: add HasSelectableText trait to Text widget 2026-05-20 16:04:35 +02:00
Hojjat
9ae155b8e2 fix: crash while resizing on x11 2026-05-20 16:00:15 +02:00
Ericky Dos Santos
346faf2e79 Make shader_f16 optional because it does not work in webgl 2026-05-20 07:26:41 -04:00
Hojjat
251254ad51 feat: add selectable() to Text 2026-05-16 08:28:37 -04:00
Ashley Wulber
347d91f7ea improv(wgpu): adapter selection 2026-05-10 22:41:11 -04: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
edwloef
3928e0d385 wgpu: request devices with SHADER_F16 feature 2026-04-27 15:03:07 +02:00
Hojjat
90d2c418a7 chore: update to wgpu 28 and cosmic-text 0.19 2026-04-27 14:35:24 +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
78caabba7e fix: load image synchronously if no callback is set
Some checks failed
Audit / vulnerabilities (push) Has been cancelled
Check / wasm (push) Has been cancelled
Check / widget (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, 1.88) (push) Has been cancelled
Test / all (ubuntu-latest, beta) (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
2026-04-13 21:59:23 +02:00
Mateusz Mikuła
044496f652 Sort using more deterministic algorithm
`hypot` while useful for most of the cases, may break sorting
assumptions like deterministic comparison.
As seen in: https://github.com/pop-os/cosmic-launcher/issues/352

Add and use a new method that trades the performance for more
determinism.
2026-04-13 10:36:11 -04:00
Hojjat
fc6b46342b feat: dnd destination for stack widget 2026-04-10 22:13:43 -04:00
Ian Taylor
37f7eab8a3 Fix bounds check
Previous behavior: images larger that 2048px would have their bottom
right corners transparent because the info didn't get uploaded to the
GPU
2026-04-10 08:58:26 -04:00
Hojjat
7fd263d99e chore: update cosmic-text
Basic shaping falls back to the default SansSerif font if glyphs are
missing
2026-04-06 10:11:59 -04:00
Hojjat
ed9ad80e18 fix: if there's only one focusable item, don't unfocus 2026-04-03 18:59:41 -04:00
Hojjat
42fd5c76bb feat: focus wrap-around
The tab cycles around when we reach the last focusable
2026-04-03 18:59:41 -04:00
Ashley Wulber
2d4ede1597 Revert "chore: use crate for softbuffer"
This reverts commit 375b24c3c4.
2026-04-02 22:50:29 -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
Vukašin Vojinović
04c273a79b chore: add functions for row/column
This matches the libcosmic ones (e.g `row::with_children()`, instead of `Row::with_children()`).
2026-04-01 20:31:22 +02:00
Hojjat
f141c3ce5c fix: support Unicode/non-ASCII scripts in combo_box search 2026-04-01 12:59:26 -04:00