Commit graph

2024 commits

Author SHA1 Message Date
Hojjat
56a210bb4e feat(text_context_menu): always show items, but disable them 2026-09-11 18:51:57 +02:00
Hojjat
a401af8b1c fix(wayland): deliver popup Done to the parent window's widgets too 2026-09-10 21:16:06 +02:00
Hojjat
ff7c753302 fix(text_input): draw selected text in the theme's selected_text_color 2026-09-10 21:02:41 +02:00
Hojjat
eec2f7619d Revert "fix(text_input): font color in selected mode (#1409)"
This reverts commit 7cc116803b.
2026-09-10 21:02:41 +02:00
Alex Klepov
7cc116803b
fix(text_input): font color in selected mode (#1409) 2026-09-10 17:33:57 +02:00
Hojjat
521f3c2baf fix(context_menu): pass through the content's overlays, cursor and drop targets 2026-09-10 17:32:27 +02:00
Hojjat
9f634b0ec2 fix(menu): give each popup instance its own id 2026-09-10 17:32:27 +02:00
Hojjat
6081a48cd3 fix(app): count a popup closed once now that Done also reaches its parent 2026-09-10 17:32:27 +02:00
Hojjat
a8fe59f388 refactor(surface): type surface actions on the message they carry 2026-09-10 17:32:27 +02:00
Hojjat
376f1b8850 fix(segmented_button): read the live menu state when drawing the context item 2026-09-10 17:32:27 +02:00
Hojjat
fd20f09729 feat(context_menu): report open/close and reset on compositor dismissal 2026-09-10 17:32:27 +02:00
Hojjat
aac833d37d feat(menu): add Item::Entry with a reservable icon slot 2026-09-10 17:32:27 +02:00
Hojjat
2fb052d134 feat(context_menu): add item_width setter 2026-09-10 17:32:27 +02:00
Hojjat
645ca8b906 fix(context_menu): place the context_menu in the correct place in X11 2026-09-10 17:32:27 +02:00
Hojjat
37c392a470 fix(context_menu): don't panic when no menu is set 2026-09-10 17:32:27 +02:00
Frederic Laing
0304f1d92e fix: detect SVG icons by content 2026-09-07 15:27:32 +02:00
Hojjat
d4d71fd53e improv: better downsampler for small target images 2026-09-04 21:55:43 +02:00
Ashley Wulber
b728852754 chore: update iced
popup creation/cleanup fixes
2026-09-03 19:45:45 +02:00
Hojjat
6347ba2390 fix: keep content's overlays visible while showing toaster 2026-09-03 00:27:13 +02:00
Hojjat
9cc82abd9c fix: don't pass keyboard events to content if popover modal is open 2026-09-02 13:04:46 +02:00
Michael Aaron Murphy
c3ced76094
feat: update cosmic-icons 2026-08-31 23:58:52 +02:00
Hojjat Abdollahi
c003a58fff
feat(iced): hide-cursor and multi-popup features 2026-08-29 02:29:36 +02:00
Eric Le Bihan
caec74c255 fix(menu example): fix key binds not being dispatched
The menu example advertised key binds (Ctrl+W / Ctrl+Shift+N) that were
never dispatched.

So add a subscription to take them into account.
2026-08-25 21:17:21 +02:00
Eric Le Bihan
3b62210d27 fix(menu): request redraw when menu bar opens
When using a menu bar without Wayland popup support, the menu items are
unclickable, as redrawing is never requested.

So, request a redraw after opening so the overlay menu is created and
drawn immediately.
2026-08-25 21:17:21 +02:00
Michael Aaron Murphy
2a73fbc0ed fix(segmented_button): request redraw on tab focus shift 2026-08-25 16:46:23 +02:00
Ashley Wulber
f8f5c7b5a6
feat: popover top position (#1403) 2026-08-25 02:28:46 +02:00
Jeremy Soller
ef490df50b
Revert "feat(cosmic-config): add new_data method." (#1399)
It was found that dirs::data_dir conflicts with dirs::config_dir on
macOS and Windows.

This reverts commit 631c81b170 from
https://github.com/pop-os/libcosmic/pull/1172

- [x] I have disclosed use of any AI generated code in my commit
messages.
- If you are using an LLM, and do not fully understand the changes it is
making to the code base, do not create a PR.
- In our experience, AI generated code often results in overly complex
code that lacks enough context for a proper fix or feature inclusion.
This results in considerably longer code reviews. Due to this, AI
authored or partially authored PRs may be closed without comment.
- [x] I understand these changes in full and will be able to respond to
review comments.
- [x] My change is accurately described in the commit message.
- [x] My contribution is tested and working as described.
- [x] I have read the [Developer Certificate of
Origin](https://developercertificate.org/) and certify my contribution
under its conditions.
2026-08-21 09:07:12 -06:00
Jeremy Soller
fd34b923f7 Revert "feat(cosmic-config): add new_data method."
It was found that dirs::data_dir conflicts with dirs::config_dir on
macOS and Windows.

This reverts commit 631c81b170.
2026-08-21 08:56:00 -06:00
Michael Aaron Murphy
2ab0d4c570
fix(iced): allow scrolling when children capture touch presses 2026-08-20 21:40:09 +02:00
Jeremy Soller
b812c77438
On platforms without state_dir, fall back to ~/.local/state (#1398)
This works around issues with state config on macOS and Windows, where
there is no defined application state directory

---

- [x] I have disclosed use of any AI generated code in my commit
messages.
- If you are using an LLM, and do not fully understand the changes it is
making to the code base, do not create a PR.
- In our experience, AI generated code often results in overly complex
code that lacks enough context for a proper fix or feature inclusion.
This results in considerably longer code reviews. Due to this, AI
authored or partially authored PRs may be closed without comment.
- [x] I understand these changes in full and will be able to respond to
review comments.
- [x] My change is accurately described in the commit message.
- [x] My contribution is tested and working as described.
- [x] I have read the [Developer Certificate of
Origin](https://developercertificate.org/) and certify my contribution
under its conditions.
2026-08-20 09:13:20 -06:00
Jeremy Soller
637c454af8 On platforms without state_dir, fall back to ~/.local/state 2026-08-20 09:06:44 -06:00
Alex Klepov
3a8ebf9197
fix(menu): panic when right-clicking a submenu 2026-08-20 00:18:04 +02:00
Hojjat
a5267e623f fix: request redraw on hover state change in dropdown widget
This also add a missing request when dropdown opens
2026-08-19 14:31:31 +02:00
Paul
75e9ee7e65 fix: request redraw on dropdown open/close in the in-window overlay path
`Dropdown::new` (the plain constructor used by any non-applet consumer) leaves `window_id`/`on_surface_action` unset, which routes the widget's `overlay()` impl to the in-window overlay path rather than the surface-action-based popup path. On that path, `update()`'s `open` closure and its close counterparts only ever requested a redraw inside the `#[cfg(wayland_platform)] if let Some(...)` block gated on those fields being set — so for the common case, opening or closing a dropdown flipped `is_open` with no redraw requested at all. The stale frame stuck around until some unrelated later event (e.g. cursor motion landing on the now-open/closed menu's bounds) forced a repaint,
making the menu appear to not open until the mouse moved, and not close until the same thing happened again on the way out.

Add an unconditional `shell.request_redraw()` at each of the three `is_open` transitions that don't already publish a Message of their own (an actual option selection already triggers a normal Message-driven redraw through the app's own update cycle, so that path needed no change):

- `open`: right after `is_open` is set true, ahead of the wayland-only surface-action block.
- the `close_operation` branch of the open/close operation state machine (`Id`-based programmatic close).
- the click-outside-closes-it branch of the mouse/touch press handler.

Fixes #1395
2026-08-19 14:31:31 +02:00
Michael Murphy
c1897c01aa
i18n: translation update from Hosted Weblate (#1379) 2026-08-18 14:05:23 +02:00
Hojjat
1f8d878694 fix: request redraw when hover state changes in toggle widget 2026-08-10 21:56:23 +02:00
Hojjat
0633751633 fix: request redraw if pressed state changes in button widget 2026-08-10 21:56:23 +02:00
Hojjat
5da2e94337 fix: request redraw when menu item hover state changes 2026-08-10 21:56:23 +02:00
Hojjat
633e6ab83f fix: request redraw if hovered state changes in segmented_button 2026-08-10 18:22:08 +02:00
Hojjat
030a7dbe02 fix: request redraw in selectable text and context menu 2026-08-09 06:09:28 +02:00
Ashley Wulber
8a017a15ee fix: window id handling for multi-window 2026-08-07 20:20:54 +02:00
Ashley Wulber
324ef6e905 chore: update selectable text menu corner radius 2026-08-07 20:20:54 +02:00
Ashley Wulber
b0b9bf16f4 fix: multi-window example headerbar
the headerbar is transparent, but a wrapping container applies the right color
2026-08-07 20:20:54 +02:00
Ashley Wulber
03a66751ea chore: feature gates 2026-08-07 20:20:54 +02:00
Hojjat
654ae0bf5d chore: add typography presets for selectable_text 2026-08-07 20:20:54 +02:00
Hojjat
8a03f063c0 refactor: rename to SelectableText instead of Text
This avoids API breakage
2026-08-07 20:20:54 +02:00
Hojjat
1de6ce9460 fix: dismiss the pop up on click outside or esc 2026-08-07 20:20:54 +02:00
Hojjat
8b31e83d58 fix(test): --features applet only
fix(test): `--feature wayland` only
2026-08-07 20:20:54 +02:00
Hojjat
a70feab2bf feat: integrate text context menu popups into Cosmic framework view system 2026-08-07 20:20:54 +02:00
Hojjat
d751855c74 feat: add Wayland popup context menu to TextInput 2026-08-07 20:20:54 +02:00