Add mouse window controls and finer display scaling (#63)
Add configurable mouse and wheel bindings, window move and resize, tab drops, cross-output dragging, and device settings. Adjust display scaling in 0.05 increments. Preserve opposite-edge positioning during scrolling resizes and show rows for edge drops into tabbed columns.
This commit is contained in:
1 parent
ab11269246
commit
ad00e55fe4
35 files changed
+3454
-512
No files matched your search
@@ -123,6 +123,31 @@ impl WorkspaceLayout {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn place_window(
|
||||
&mut self,
|
||||
window: WindowId,
|
||||
target: WindowId,
|
||||
placement: ferese_layout::DropPlacement,
|
||||
) -> Result<(), LayoutError> {
|
||||
match self {
|
||||
Self::Tree(layout) => layout.place_window(window, target, placement),
|
||||
Self::Scrolling(layout) => layout.place_window(window, target, placement),
|
||||
}
|
||||
}
|
||||
|
||||
pub fn resize_edge(
|
||||
&mut self,
|
||||
window: WindowId,
|
||||
edge: Direction,
|
||||
delta: f64,
|
||||
bounds: Rect,
|
||||
) -> Result<bool, LayoutError> {
|
||||
match self {
|
||||
Self::Tree(layout) => layout.resize_edge(window, edge, delta, bounds),
|
||||
Self::Scrolling(layout) => layout.resize_edge(window, edge, delta, bounds),
|
||||
}
|
||||
}
|
||||
|
||||
pub fn remove(&mut self, window: WindowId) -> Result<(), LayoutError> {
|
||||
match self {
|
||||
Self::Scrolling(layout) => layout.remove(window),
|
||||
|
||||
Reference in new issue
Block a user