Fix focus next/prev group

This commit is contained in:
Nabos 2022-08-17 14:14:48 +02:00
parent b6f81aa7bb
commit 72c34cb5e5

View file

@ -515,39 +515,22 @@ fn move_container_to_next_or_prev_output(stream: &UnixStream, go_to_prev: bool)
send_command(stream, &cmd);
}
fn move_container_to_next_group(stream: &UnixStream) {
move_container_to_next_or_prev_group(stream, false);
fn focus_container_to_next_group(stream: &UnixStream) {
focus_container_to_next_or_prev_group(stream, false);
}
fn move_container_to_prev_group(stream: &UnixStream) {
move_container_to_next_or_prev_group(stream, true);
fn focus_container_to_prev_group(stream: &UnixStream) {
focus_container_to_next_or_prev_group(stream, true);
}
fn move_container_to_next_or_prev_group(stream: &UnixStream, go_to_prev: bool) {
fn focus_container_to_next_or_prev_group(stream: &UnixStream, go_to_prev: bool) {
let current_workspace_index: usize = get_current_workspace(stream).num;
let focused_group_index = current_workspace_index / 10;
let outputs = get_outputs(stream);
if focused_group_index < outputs.len() {
let target_output = if go_to_prev {
&outputs[(focused_group_index - 1) - 1]
if go_to_prev {
focus_to_group(stream, focused_group_index - 1);
} else {
&outputs[(focused_group_index + 1) - 1]
};
let mut cmd: String = "focus output ".to_string();
cmd.push_str(&target_output.name);
send_command(stream, &cmd);
} else {
let target_workspace = if go_to_prev {
current_workspace_index - 10
} else {
current_workspace_index + 10
};
let mut cmd: String = "workspace number ".to_string();
cmd.push_str(&target_workspace.to_string());
send_command(stream, &cmd);
focus_to_group(stream, focused_group_index + 1);
};
}
@ -617,10 +600,10 @@ fn main() {
move_container_to_prev_output(&stream);
}
Command::NextGroup => {
move_container_to_next_group(&stream);
focus_container_to_next_group(&stream);
}
Command::PrevGroup => {
move_container_to_prev_group(&stream);
focus_container_to_prev_group(&stream);
}
Command::RearrangeWorkspaces => {
rearrange_workspaces(&stream);