From aad6c21ab476dbbf35041634448f28009a03643c Mon Sep 17 00:00:00 2001 From: Hojjat Date: Tue, 4 Aug 2026 14:00:50 -0600 Subject: [PATCH] fix: request redraw when editor needs to redraw chore: update libcosmic fix: redraw when deleting text where cursor doesn't move editor only redraws if the action causes the cursor to move. ctrl+a+backspace or presseing delete doesn't move the cursor. --- Cargo.lock | 36 ++++++++++++++++++------------------ src/text_box.rs | 6 ++++++ 2 files changed, 24 insertions(+), 18 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 61cb663..52e2806 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -815,7 +815,7 @@ dependencies = [ [[package]] name = "build_helpers" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#0ca1b784c931c946517379795ce87328c6a902b8" +source = "git+https://github.com/pop-os/libcosmic.git#633e6ab83fa019a75f7c7c94c55d04dc5650bd7b" dependencies = [ "cfg_aliases", ] @@ -1350,7 +1350,7 @@ dependencies = [ [[package]] name = "cosmic-config" version = "1.0.0" -source = "git+https://github.com/pop-os/libcosmic.git#0ca1b784c931c946517379795ce87328c6a902b8" +source = "git+https://github.com/pop-os/libcosmic.git#633e6ab83fa019a75f7c7c94c55d04dc5650bd7b" dependencies = [ "atomicwrites", "cosmic-config-derive", @@ -1371,7 +1371,7 @@ dependencies = [ [[package]] name = "cosmic-config-derive" version = "1.0.0" -source = "git+https://github.com/pop-os/libcosmic.git#0ca1b784c931c946517379795ce87328c6a902b8" +source = "git+https://github.com/pop-os/libcosmic.git#633e6ab83fa019a75f7c7c94c55d04dc5650bd7b" dependencies = [ "quote", "syn 2.0.119", @@ -1546,7 +1546,7 @@ dependencies = [ [[package]] name = "cosmic-theme" version = "1.0.0" -source = "git+https://github.com/pop-os/libcosmic.git#0ca1b784c931c946517379795ce87328c6a902b8" +source = "git+https://github.com/pop-os/libcosmic.git#633e6ab83fa019a75f7c7c94c55d04dc5650bd7b" dependencies = [ "almost", "configparser", @@ -3174,7 +3174,7 @@ dependencies = [ [[package]] name = "iced" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#0ca1b784c931c946517379795ce87328c6a902b8" +source = "git+https://github.com/pop-os/libcosmic.git#633e6ab83fa019a75f7c7c94c55d04dc5650bd7b" dependencies = [ "build_helpers", "dnd", @@ -3196,7 +3196,7 @@ dependencies = [ [[package]] name = "iced_accessibility" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic.git#0ca1b784c931c946517379795ce87328c6a902b8" +source = "git+https://github.com/pop-os/libcosmic.git#633e6ab83fa019a75f7c7c94c55d04dc5650bd7b" dependencies = [ "accesskit", "accesskit_winit", @@ -3205,7 +3205,7 @@ dependencies = [ [[package]] name = "iced_core" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#0ca1b784c931c946517379795ce87328c6a902b8" +source = "git+https://github.com/pop-os/libcosmic.git#633e6ab83fa019a75f7c7c94c55d04dc5650bd7b" dependencies = [ "bitflags 2.13.1", "build_helpers", @@ -3231,7 +3231,7 @@ dependencies = [ [[package]] name = "iced_debug" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#0ca1b784c931c946517379795ce87328c6a902b8" +source = "git+https://github.com/pop-os/libcosmic.git#633e6ab83fa019a75f7c7c94c55d04dc5650bd7b" dependencies = [ "iced_core", "iced_futures", @@ -3241,7 +3241,7 @@ dependencies = [ [[package]] name = "iced_futures" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#0ca1b784c931c946517379795ce87328c6a902b8" +source = "git+https://github.com/pop-os/libcosmic.git#633e6ab83fa019a75f7c7c94c55d04dc5650bd7b" dependencies = [ "futures", "iced_core", @@ -3255,7 +3255,7 @@ dependencies = [ [[package]] name = "iced_graphics" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#0ca1b784c931c946517379795ce87328c6a902b8" +source = "git+https://github.com/pop-os/libcosmic.git#633e6ab83fa019a75f7c7c94c55d04dc5650bd7b" dependencies = [ "bitflags 2.13.1", "bytemuck", @@ -3276,7 +3276,7 @@ dependencies = [ [[package]] name = "iced_program" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#0ca1b784c931c946517379795ce87328c6a902b8" +source = "git+https://github.com/pop-os/libcosmic.git#633e6ab83fa019a75f7c7c94c55d04dc5650bd7b" dependencies = [ "iced_graphics", "iced_runtime", @@ -3285,7 +3285,7 @@ dependencies = [ [[package]] name = "iced_renderer" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#0ca1b784c931c946517379795ce87328c6a902b8" +source = "git+https://github.com/pop-os/libcosmic.git#633e6ab83fa019a75f7c7c94c55d04dc5650bd7b" dependencies = [ "iced_graphics", "iced_tiny_skia", @@ -3297,7 +3297,7 @@ dependencies = [ [[package]] name = "iced_runtime" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#0ca1b784c931c946517379795ce87328c6a902b8" +source = "git+https://github.com/pop-os/libcosmic.git#633e6ab83fa019a75f7c7c94c55d04dc5650bd7b" dependencies = [ "build_helpers", "bytes", @@ -3313,7 +3313,7 @@ dependencies = [ [[package]] name = "iced_tiny_skia" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#0ca1b784c931c946517379795ce87328c6a902b8" +source = "git+https://github.com/pop-os/libcosmic.git#633e6ab83fa019a75f7c7c94c55d04dc5650bd7b" dependencies = [ "bytemuck", "cosmic-text", @@ -3330,7 +3330,7 @@ dependencies = [ [[package]] name = "iced_wgpu" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#0ca1b784c931c946517379795ce87328c6a902b8" +source = "git+https://github.com/pop-os/libcosmic.git#633e6ab83fa019a75f7c7c94c55d04dc5650bd7b" dependencies = [ "as-raw-xcb-connection", "bitflags 2.13.1", @@ -3362,7 +3362,7 @@ dependencies = [ [[package]] name = "iced_widget" version = "0.14.2" -source = "git+https://github.com/pop-os/libcosmic.git#0ca1b784c931c946517379795ce87328c6a902b8" +source = "git+https://github.com/pop-os/libcosmic.git#633e6ab83fa019a75f7c7c94c55d04dc5650bd7b" dependencies = [ "build_helpers", "cosmic-client-toolkit", @@ -3381,7 +3381,7 @@ dependencies = [ [[package]] name = "iced_winit" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#0ca1b784c931c946517379795ce87328c6a902b8" +source = "git+https://github.com/pop-os/libcosmic.git#633e6ab83fa019a75f7c7c94c55d04dc5650bd7b" dependencies = [ "build_helpers", "cosmic-client-toolkit", @@ -4461,7 +4461,7 @@ checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2" [[package]] name = "libcosmic" version = "1.0.0" -source = "git+https://github.com/pop-os/libcosmic.git#0ca1b784c931c946517379795ce87328c6a902b8" +source = "git+https://github.com/pop-os/libcosmic.git#633e6ab83fa019a75f7c7c94c55d04dc5650bd7b" dependencies = [ "apply", "ashpd 0.12.3", diff --git a/src/text_box.rs b/src/text_box.rs index e52cd12..ea1f412 100644 --- a/src/text_box.rs +++ b/src/text_box.rs @@ -1089,11 +1089,13 @@ where Named::Backspace => { delete_modifiers(&mut editor, Motion::LeftWord, *modifiers); editor.action(Action::Backspace); + editor.set_redraw(true); shell.capture_event(); } Named::Delete => { delete_modifiers(&mut editor, Motion::RightWord, *modifiers); editor.action(Action::Delete); + editor.set_redraw(true); shell.capture_event(); } Named::Tab => { @@ -1412,6 +1414,10 @@ where shell.publish(on_changed.clone()); } } + + if editor.redraw() { + shell.request_redraw(); + } } }