Commit graph

6791 commits

Author SHA1 Message Date
1a57634add yoda: cargo fix sweep post-rebase (unused imports/vars)
Some checks failed
Check / widget (push) Has been cancelled
Audit / vulnerabilities (push) Has been cancelled
Check / wasm (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
Leyoda 2026 – GPLv3
2026-07-02 19:10:42 +02:00
362b4abb15 chore: use local winit and softbuffer 2026-07-02 18:44:56 +02:00
cf7828fb70 chore: use local glyphon and cosmic-text 2026-07-02 18:44:56 +02:00
3982e04aa2 chore: use local cctk and clipboard crates 2026-07-02 18:44:11 +02:00
4e2e58e03d chore: gate accessibility-only winit state 2026-07-02 18:43:40 +02:00
Votre Nom
b90b1413a6 yoda: point window_clipboard at public Forgejo fork
Replace pop-os/window_clipboard sctk-0.20 (no wayland feature) with
forge.aditua.com/leyoda/window_clipboard branch yoda-x11-optional. This
removes the need for cosmic-files' [patch] redirect to a local path and
makes libcosmic build standalone again.

Leyoda 2026 – GPLv3
2026-07-02 18:42:57 +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
f1f42f2bff yoda: softbuffer + window_clipboard default-features=false
Two one-line workspace-dep fixes that drop the last remaining X11 crates
for Wayland-only builds:

- softbuffer: its default = [kms, x11, x11-dlopen, wayland, wayland-dlopen]
  pulled tiny-xlib + as-raw-xcb-connection unconditionally even though
  iced_tiny_skia only needed softbuffer/wayland. Disabling the default
  lets iced_tiny_skia's own feature propagation ask for just wayland +
  wayland-dlopen.

- window_clipboard: upstream pulled clipboard_x11 + clipboard_wayland
  unconditionally on unix. Our local fork (branch yoda-x11-optional)
  gates clipboard_x11 behind an opt-in feature, so default-features=false
  + features=["wayland"] drops ~500 x11 symbols (clipboard_x11, x11rb,
  x11rb-protocol).

Combined with previous yoda-v4 cuts, cosmic-yoterm goes from
1526 -> 43 x11 symbols (-97%), and 55.4 MB -> 53.3 MB (-2.1 MB).
2026-07-02 18:42:42 +02:00
702b6359a5 yoda: gate iced_wgpu x11 backend behind an opt-in feature
iced_wgpu's unix block unconditionally depended on as-raw-xcb-connection,
tiny-xlib and x11rb for a DRI3 device-id fallback in
window/compositor.rs that only fires when wayland can't determine the
GPU. On a Wayland-only build this code path never runs, so the deps
are pure bloat.

Changes:
- Cargo.toml: move the 3 x11 crates to optional + new feature `x11`
  (not in default — wayland-only is the yoda target; users who need
  X11 opt in).
- window.rs: cfg-gate `mod x11;` on feature = "x11"
- window/compositor.rs: cfg-gate `use super::x11::get_x11_device_ids`
  + the or_else fallback on feature = "x11" (wrapped in a let-binding
  so the non-x11 branch compiles cleanly).

Result: iced_wgpu no longer pulls any x11 crate when built without
the feature.
2026-07-02 18:42:13 +02:00
a50a29b390 yoda: drop x11 default on winit workspace dep
Was pulling winit's full x11 backend (winit-x11 + x11-dl) unconditionally
despite iced_winit's own x11 feature being disabled. Fixed by adding
default-features=false on the workspace-level winit dep — iced_winit/wayland
+ wayland-dlopen propagate to winit/wayland + wayland-dlopen as needed.
2026-07-02 18:42:13 +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
da9d15b2e8 chore: update cosmic-protocols 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
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