Merge pull request #747 from mahkoh/jorth/click-divider
output: don't focus the workspace when clicking on the separator
This commit is contained in:
commit
4ca67772b3
3 changed files with 15 additions and 3 deletions
|
|
@ -729,6 +729,7 @@ fn create_dummy_output(state: &Rc<State>) {
|
|||
bar_rect: Default::default(),
|
||||
bar_rect_rel: Default::default(),
|
||||
bar_rect_with_separator: Default::default(),
|
||||
bar_rect_with_separator_rel: Default::default(),
|
||||
bar_separator_rect: Default::default(),
|
||||
bar_separator_rect_rel: Default::default(),
|
||||
non_exclusive_rect: Default::default(),
|
||||
|
|
|
|||
|
|
@ -234,6 +234,7 @@ impl ConnectorHandler {
|
|||
bar_rect: Default::default(),
|
||||
bar_rect_rel: Default::default(),
|
||||
bar_rect_with_separator: Default::default(),
|
||||
bar_rect_with_separator_rel: Default::default(),
|
||||
bar_separator_rect: Default::default(),
|
||||
bar_separator_rect_rel: Default::default(),
|
||||
render_data: Default::default(),
|
||||
|
|
|
|||
|
|
@ -96,6 +96,7 @@ pub struct OutputNode {
|
|||
pub bar_rect: Cell<Rect>,
|
||||
pub bar_rect_rel: 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_rel: Cell<Rect>,
|
||||
pub render_data: RefCell<OutputRenderData>,
|
||||
|
|
@ -776,6 +777,7 @@ impl OutputNode {
|
|||
let mut bar_rect = Rect::default();
|
||||
let mut bar_rect_rel = 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_rel = Rect::default();
|
||||
let mut workspace_rect = non_exclusive_rect;
|
||||
|
|
@ -798,15 +800,19 @@ impl OutputNode {
|
|||
Rect::new_sized_saturating(x1, y1 + bh + bsw, width, height - bh - bsw);
|
||||
}
|
||||
}
|
||||
bar_rect_rel = bar_rect.move_(-rect.x1(), -rect.y1());
|
||||
bar_separator_rect_rel = bar_separator_rect.move_(-rect.x1(), -rect.y1());
|
||||
workspace_rect_rel = workspace_rect.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_with_separator_rel = to_rel(bar_rect_with_separator);
|
||||
bar_separator_rect_rel = to_rel(bar_separator_rect);
|
||||
workspace_rect_rel = to_rel(workspace_rect);
|
||||
}
|
||||
self.non_exclusive_rect.set(non_exclusive_rect);
|
||||
self.non_exclusive_rect_rel.set(non_exclusive_rect_rel);
|
||||
self.bar_rect.set(bar_rect);
|
||||
self.bar_rect_rel.set(bar_rect_rel);
|
||||
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_rel.set(bar_separator_rect_rel);
|
||||
self.workspace_rect.set(workspace_rect);
|
||||
|
|
@ -1183,6 +1189,10 @@ impl OutputNode {
|
|||
if self.bar_button(seat, x, y) {
|
||||
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();
|
||||
seat.focus_node(ws);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue