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:
1 parent
0709484efb
commit
b422448d88
11 files changed
+775
-52
No files matched your search
@@ -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);
|
||||
|
||||
Reference in new issue
Block a user