Commit graph

47 commits

Author SHA1 Message Date
Niklas Herder
28258e5a5f cursor: Add idle-hide timeout
Adds a cursor_hide_timeout config key (Option<u32> seconds) to
CosmicCompConfig. When set, the cursor is hidden after the configured
period of pointer inactivity and revealed again by any pointer event.
Touch input does not count as activity (no visible cursor to surface).

Implementation:
- Per-seat hidden flag, calloop timer token, and last-armed Instant on
  CursorStateInner.
- notify_cursor_activity called from each pointer-related input branch
  (motion, button, axis, tablet) resets the flag and reschedules the
  timer; rapid successive calls are coalesced behind a 100ms throttle
  so high-frequency mice don't churn the calloop timer source.
- On timer fire, the hidden flag is set, draw_cursor short-circuits to
  an empty element list, and a render is scheduled. Active pointer
  grabs (drags, resizes) suppress the hide.
- Config reload arms or cancels the timer immediately; None as the
  configured value collapses the cancel path into the same function.

Closes #2231.

Drafted with Claude (Anthropic); reviewed and tested by the committer.
2026-05-22 14:14:17 +02:00
Vukašin Vojinović
1f7f0c70b7 chore: format for Rust 2024 2025-10-22 23:55:11 +02:00
Vukašin Vojinović
0847247c33 chore: clippy 2025-10-22 23:55:11 +02:00
Victoria Brekenfeld
be1424f1ca render/wayland: filter scanout candidates by frametime estimation 2025-08-07 19:40:23 +02:00
Ian Douglas Scott
fa4bffdbe6 Add cursor_image_status/set_cursor_image_status to SeatExt
The `cursor_image_status()` function saves some duplication in various
places. The `set_cursor_image_status()` saves a bit less, but is also
handy.
2025-06-10 19:24:05 +02:00
Victoria Brekenfeld
2cbe89d89d xwayland: Set scaled cursor size via xsettings 2025-04-16 21:06:51 +02:00
Victoria Brekenfeld
de1e528ba7 render/cursor: Don't round cursor coordinates early 2025-04-16 21:06:51 +02:00
Victoria Brekenfeld
e6a3f5373c render/cursor: Correctly convert hotspot coordinates 2025-04-16 21:06:51 +02:00
Victoria Brekenfeld
95b27637ae chore: smithay update 2025-03-12 16:50:58 +01:00
Victoria Brekenfeld
2e2943d99c render: Scale contents according to zoom_level 2025-02-20 23:51:55 +01:00
Victoria Brekenfeld
abda6619ff render/cursor: Follow selected scale instead of wanted scale 2025-02-07 13:32:30 +01:00
may
0ffe6ae718
wayland: Implement cursor-shape-v1 2024-09-09 16:21:27 +02:00
Victoria Brekenfeld
16691581ff render/cursor: Don't crash for themes with zero delay 2024-06-27 16:41:38 +02:00
Victoria Brekenfeld
a97279147e cursor: Re-enable cursor image cache 2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
c7d50e7c5b seat: Make render-related state thread-safe 2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
e78e199663 chore: Update smithay for thread-safety 2024-06-26 12:59:33 +02:00
Ian Douglas Scott
73b12194c0 Update smithay 2024-05-10 13:51:28 +02:00
Victoria Brekenfeld
b40d153809 cosmic-screencopy-v2 2024-03-25 16:55:31 +01:00
Victoria Brekenfeld
d341cb8b86 debug: Drop puffin integration 2024-03-21 17:49:06 +01:00
Ian Douglas Scott
a1c8b3aa3e Add support for profiling using tracy 2024-03-20 23:55:21 +01:00
Victoria Brekenfeld
492d215fd8 cursor: Add resize variants 2024-03-04 13:19:57 +01:00
Christian Meissl
e74b0dfaaa use memory for system cursor
smithay only considers memory based
cursor elements for scan-out on a
cursor plane.
2024-02-15 13:13:33 +01:00
Ian Douglas Scott
111eb4edf4 Update smithay, with cursor/selection changes
We'll probably want to add support for `cursor-shape-v1`. Not sure about
`wlr-data-control-unstable-v1`. But this just updates to work with the
latest smithay commit for new.
2023-10-10 13:32:41 -07:00
Victoria Brekenfeld
003263b94e
render: Don't treat dnd surface as egliable for scanout on cursor plane 2023-09-14 14:44:54 +02:00
Ian Douglas Scott
e1fc182c3e Update Smithay 2023-09-13 20:24:11 -07:00
Victoria Brekenfeld
88d8972d34 moving: Grab use correct cursor 2023-07-18 12:21:16 +02:00
Victoria Brekenfeld
b818a68a91 tiling: Properly handle resizing using a ptr device 2023-07-11 16:33:23 +02:00
Victoria Brekenfeld
331b884f1e tiling: Animate tree changes 2023-05-12 20:01:37 +02:00
Victoria Brekenfeld
b98ca9c493 Update smithay for 10-bit color support 2023-04-18 17:10:37 +02:00
Victoria Brekenfeld
1c62d6d061 debug: Add actual profiling for rendeirng 2023-03-06 19:39:08 +01:00
Victoria Brekenfeld
35de500c00 chore: update smithay + switch to tracing 2023-02-24 17:43:07 +01:00
Victoria Brekenfeld
7092c523f5 deps: Update smithay
- Use new GAT frame
- Bugfixes
- Finish window debug overlay
2022-11-28 17:50:41 +01:00
Victoria Brekenfeld
7a034c8e52 deps: smithay + egui update 2022-11-23 16:10:37 +01:00
Victoria Brekenfeld
5a4df346a8 wip: screencopy 2022-11-23 16:09:58 +01:00
Victoria Brekenfeld
00f1b029da wip: New shell logic 2022-11-23 16:08:32 +01:00
Victoria Brekenfeld
6690e13d54 deps: Update smithay 2022-08-31 13:01:23 +02:00
Victoria Brekenfeld
9e0a6e1b5f fmt commit 2022-08-30 13:28:36 +02:00
Victoria Brekenfeld
500a8c51b1 cursor: Render Cursor over DnD-icons 2022-08-10 13:37:38 +02:00
Victoria Brekenfeld
6c7b393b79 render: Fix cursor rendering on empty screens 2022-07-12 20:00:13 +02:00
Victoria Brekenfeld
ea282809f4 cursor: Use seat id for rendering 2022-07-08 14:00:30 +02:00
Victoria Brekenfeld
1fb49824f9 deps: Update smithay
Fixes misbehaving floating windows
2022-07-07 19:46:25 +02:00
Victoria Brekenfeld
39de286d51 cargo fmt 2022-07-04 16:01:06 +02:00
Victoria Brekenfeld
270f06182e backend: Adopt to new wayland-display handling 2022-07-04 16:01:06 +02:00
Victoria Brekenfeld
91863adcf1 deps: Use smithay fork again 2022-03-31 00:03:07 +02:00
Victoria Brekenfeld
9417a72818 deps: Update for new smithay changes 2022-03-22 12:30:36 +01:00
Victoria Brekenfeld
25b44fde58 deps: update for new smithay version 2022-03-16 20:05:24 +01:00
Victoria Brekenfeld
b0cf94047f backend: consolidate rendering code 2022-02-04 21:24:29 +01:00
Renamed from src/backend/cursor.rs (Browse further)