Add centered workspace thumbnails to overview

Render a tinted, scrollable workspace strip with live thumbnails, output-scaled font labels and a subtle selected-workspace outline. Keep the window grid background-free and support workspace selection without exiting overview.

Animate strip opacity independently with precise fade tolerances and continuous reversal, and expose toggle-overview through feresectl.
This commit is contained in:
Samuel Onoja committed 2026-09-26 15:13:13 +01:00
1 parent 0709484efb
commit b422448d88
11 files changed
+775 -52

No files matched your search

+14
View File
@@ -195,6 +195,9 @@ impl Ferese {
}
if event.state() == ButtonState::Pressed {
if self.click_overview_workspace(position) {
return;
}
if let Some(window) = self.window_under_visual(position)
&& let Some(id) = self.window_ids.get(&window).copied()
{
@@ -230,6 +233,17 @@ impl Ferese {
let vertical = event.amount(Axis::Vertical).unwrap_or_else(|| {
event.amount_v120(Axis::Vertical).unwrap_or(0.0) * 15.0 / 120.0
});
let pointer = self.seat.get_pointer().expect("seat has a pointer");
if self.scroll_overview_strip(
pointer.current_location(),
if horizontal != 0.0 {
horizontal
} else {
vertical
},
) {
return;
}
let mut frame = AxisFrame::new(event.time() as u32).source(source);
if horizontal != 0.0 {
frame = frame.value(Axis::Horizontal, horizontal);