output: don't focus the workspace when clicking on the separator
This commit is contained in:
parent
d3ee69863a
commit
dd89355d80
3 changed files with 11 additions and 0 deletions
|
|
@ -729,6 +729,7 @@ fn create_dummy_output(state: &Rc<State>) {
|
||||||
bar_rect: Default::default(),
|
bar_rect: Default::default(),
|
||||||
bar_rect_rel: Default::default(),
|
bar_rect_rel: Default::default(),
|
||||||
bar_rect_with_separator: Default::default(),
|
bar_rect_with_separator: Default::default(),
|
||||||
|
bar_rect_with_separator_rel: Default::default(),
|
||||||
bar_separator_rect: Default::default(),
|
bar_separator_rect: Default::default(),
|
||||||
bar_separator_rect_rel: Default::default(),
|
bar_separator_rect_rel: Default::default(),
|
||||||
non_exclusive_rect: Default::default(),
|
non_exclusive_rect: Default::default(),
|
||||||
|
|
|
||||||
|
|
@ -234,6 +234,7 @@ impl ConnectorHandler {
|
||||||
bar_rect: Default::default(),
|
bar_rect: Default::default(),
|
||||||
bar_rect_rel: Default::default(),
|
bar_rect_rel: Default::default(),
|
||||||
bar_rect_with_separator: Default::default(),
|
bar_rect_with_separator: Default::default(),
|
||||||
|
bar_rect_with_separator_rel: Default::default(),
|
||||||
bar_separator_rect: Default::default(),
|
bar_separator_rect: Default::default(),
|
||||||
bar_separator_rect_rel: Default::default(),
|
bar_separator_rect_rel: Default::default(),
|
||||||
render_data: Default::default(),
|
render_data: Default::default(),
|
||||||
|
|
|
||||||
|
|
@ -96,6 +96,7 @@ pub struct OutputNode {
|
||||||
pub bar_rect: Cell<Rect>,
|
pub bar_rect: Cell<Rect>,
|
||||||
pub bar_rect_rel: Cell<Rect>,
|
pub bar_rect_rel: Cell<Rect>,
|
||||||
pub bar_rect_with_separator: Cell<Rect>,
|
pub bar_rect_with_separator: Cell<Rect>,
|
||||||
|
pub bar_rect_with_separator_rel: Cell<Rect>,
|
||||||
pub bar_separator_rect: Cell<Rect>,
|
pub bar_separator_rect: Cell<Rect>,
|
||||||
pub bar_separator_rect_rel: Cell<Rect>,
|
pub bar_separator_rect_rel: Cell<Rect>,
|
||||||
pub render_data: RefCell<OutputRenderData>,
|
pub render_data: RefCell<OutputRenderData>,
|
||||||
|
|
@ -776,6 +777,7 @@ impl OutputNode {
|
||||||
let mut bar_rect = Rect::default();
|
let mut bar_rect = Rect::default();
|
||||||
let mut bar_rect_rel = Rect::default();
|
let mut bar_rect_rel = Rect::default();
|
||||||
let mut bar_rect_with_separator = Rect::default();
|
let mut bar_rect_with_separator = Rect::default();
|
||||||
|
let mut bar_rect_with_separator_rel = Rect::default();
|
||||||
let mut bar_separator_rect = Rect::default();
|
let mut bar_separator_rect = Rect::default();
|
||||||
let mut bar_separator_rect_rel = Rect::default();
|
let mut bar_separator_rect_rel = Rect::default();
|
||||||
let mut workspace_rect = non_exclusive_rect;
|
let mut workspace_rect = non_exclusive_rect;
|
||||||
|
|
@ -800,6 +802,7 @@ impl OutputNode {
|
||||||
}
|
}
|
||||||
let to_rel = |r: Rect| r.move_(-rect.x1(), -rect.y1());
|
let to_rel = |r: Rect| r.move_(-rect.x1(), -rect.y1());
|
||||||
bar_rect_rel = to_rel(bar_rect);
|
bar_rect_rel = to_rel(bar_rect);
|
||||||
|
bar_rect_with_separator_rel = to_rel(bar_rect_with_separator);
|
||||||
bar_separator_rect_rel = to_rel(bar_separator_rect);
|
bar_separator_rect_rel = to_rel(bar_separator_rect);
|
||||||
workspace_rect_rel = to_rel(workspace_rect);
|
workspace_rect_rel = to_rel(workspace_rect);
|
||||||
}
|
}
|
||||||
|
|
@ -808,6 +811,8 @@ impl OutputNode {
|
||||||
self.bar_rect.set(bar_rect);
|
self.bar_rect.set(bar_rect);
|
||||||
self.bar_rect_rel.set(bar_rect_rel);
|
self.bar_rect_rel.set(bar_rect_rel);
|
||||||
self.bar_rect_with_separator.set(bar_rect_with_separator);
|
self.bar_rect_with_separator.set(bar_rect_with_separator);
|
||||||
|
self.bar_rect_with_separator_rel
|
||||||
|
.set(bar_rect_with_separator_rel);
|
||||||
self.bar_separator_rect.set(bar_separator_rect);
|
self.bar_separator_rect.set(bar_separator_rect);
|
||||||
self.bar_separator_rect_rel.set(bar_separator_rect_rel);
|
self.bar_separator_rect_rel.set(bar_separator_rect_rel);
|
||||||
self.workspace_rect.set(workspace_rect);
|
self.workspace_rect.set(workspace_rect);
|
||||||
|
|
@ -1184,6 +1189,10 @@ impl OutputNode {
|
||||||
if self.bar_button(seat, x, y) {
|
if self.bar_button(seat, x, y) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
let bar_rect_with_separator_rel = self.bar_rect_with_separator_rel.get();
|
||||||
|
if bar_rect_with_separator_rel.contains(x, y) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
let ws = self.ensure_workspace();
|
let ws = self.ensure_workspace();
|
||||||
seat.focus_node(ws);
|
seat.focus_node(ws);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue