Skip to content

Commit

Permalink
input: Displays take precendence over workspaces
Browse files Browse the repository at this point in the history
  • Loading branch information
Drakulix committed Nov 17, 2023
1 parent 594676f commit 05d012a
Showing 1 changed file with 44 additions and 71 deletions.
115 changes: 44 additions & 71 deletions src/input/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1602,54 +1602,40 @@ impl State {

match result {
FocusResult::None => {
match (focus, self.common.config.workspace.workspace_layout) {
(FocusDirection::Left, WorkspaceLayout::Horizontal)
| (FocusDirection::Up, WorkspaceLayout::Vertical) => self
.handle_action(
Action::PreviousWorkspace,
seat,
serial,
time,
pattern,
direction,
),
(FocusDirection::Right, WorkspaceLayout::Horizontal)
| (FocusDirection::Down, WorkspaceLayout::Vertical) => self
.handle_action(
Action::NextWorkspace,
seat,
serial,
time,
pattern,
direction,
),
(FocusDirection::Left, WorkspaceLayout::Vertical)
| (FocusDirection::Up, WorkspaceLayout::Horizontal) => {
if let Some(inferred) = pattern.inferred_direction() {
self.handle_action(
Action::SwitchOutput(inferred),
if let Some(inferred) = pattern.inferred_direction() {
self.handle_action(
Action::SwitchOutput(inferred),
seat,
serial,
time,
pattern,
direction,
)
} else {
match (focus, self.common.config.workspace.workspace_layout) {
(FocusDirection::Left, WorkspaceLayout::Horizontal)
| (FocusDirection::Up, WorkspaceLayout::Vertical) => self
.handle_action(
Action::PreviousWorkspace,
seat,
serial,
time,
pattern,
direction,
)
}
}
(FocusDirection::Right, WorkspaceLayout::Vertical)
| (FocusDirection::Down, WorkspaceLayout::Horizontal) => {
if let Some(inferred) = pattern.inferred_direction() {
self.handle_action(
Action::SwitchOutput(inferred),
),
(FocusDirection::Right, WorkspaceLayout::Horizontal)
| (FocusDirection::Down, WorkspaceLayout::Vertical) => self
.handle_action(
Action::NextWorkspace,
seat,
serial,
time,
pattern,
direction,
)
}
),

_ => {}
}
_ => {}
}
}
FocusResult::Handled => {}
Expand All @@ -1664,50 +1650,37 @@ impl State {

match workspace.move_current_element(direction, seat) {
MoveResult::MoveFurther(_move_further) => {
match (direction, self.common.config.workspace.workspace_layout) {
(Direction::Left, WorkspaceLayout::Horizontal)
| (Direction::Up, WorkspaceLayout::Vertical) => self.handle_action(
Action::MoveToPreviousWorkspace,
if let Some(inferred) = pattern.inferred_direction() {
self.handle_action(
Action::MoveToOutput(inferred),
seat,
serial,
time,
pattern,
Some(direction),
),
(Direction::Right, WorkspaceLayout::Horizontal)
| (Direction::Down, WorkspaceLayout::Vertical) => self.handle_action(
Action::MoveToNextWorkspace,
seat,
serial,
time,
pattern,
Some(direction),
),
(Direction::Left, WorkspaceLayout::Vertical)
| (Direction::Up, WorkspaceLayout::Horizontal) => {
if let Some(inferred) = pattern.inferred_direction() {
self.handle_action(
Action::MoveToOutput(inferred),
seat,
serial,
time,
pattern,
Some(direction),
)
}
}
(Direction::Right, WorkspaceLayout::Vertical)
| (Direction::Down, WorkspaceLayout::Horizontal) => {
if let Some(inferred) = pattern.inferred_direction() {
self.handle_action(
Action::MoveToOutput(inferred),
)
} else {
match (direction, self.common.config.workspace.workspace_layout) {
(Direction::Left, WorkspaceLayout::Horizontal)
| (Direction::Up, WorkspaceLayout::Vertical) => self.handle_action(
Action::MoveToPreviousWorkspace,
seat,
serial,
time,
pattern,
Some(direction),
),
(Direction::Right, WorkspaceLayout::Horizontal)
| (Direction::Down, WorkspaceLayout::Vertical) => self
.handle_action(
Action::MoveToNextWorkspace,
seat,
serial,
time,
pattern,
Some(direction),
)
}
),
_ => {}
}
}
}
Expand Down

0 comments on commit 05d012a

Please sign in to comment.