input: special case Focus/Move actions for fullscreen windows
This commit is contained in:
parent
173f2ae051
commit
1a05121498
1 changed files with 11 additions and 3 deletions
|
|
@ -822,10 +822,14 @@ impl State {
|
||||||
let current_output = seat.active_output();
|
let current_output = seat.active_output();
|
||||||
let workspace = self.common.shell.active_space_mut(¤t_output);
|
let workspace = self.common.shell.active_space_mut(¤t_output);
|
||||||
let focus_stack = workspace.focus_stack.get(seat);
|
let focus_stack = workspace.focus_stack.get(seat);
|
||||||
match workspace
|
let mut result = workspace
|
||||||
.tiling_layer
|
.tiling_layer
|
||||||
.next_focus(focus, seat, focus_stack.iter())
|
.next_focus(focus, seat, focus_stack.iter());
|
||||||
{
|
if workspace.get_fullscreen(¤t_output).is_some() {
|
||||||
|
result = FocusResult::None;
|
||||||
|
}
|
||||||
|
|
||||||
|
match result {
|
||||||
FocusResult::None => {
|
FocusResult::None => {
|
||||||
// TODO: Handle Workspace orientation
|
// TODO: Handle Workspace orientation
|
||||||
match focus {
|
match focus {
|
||||||
|
|
@ -854,6 +858,10 @@ impl State {
|
||||||
Action::Move(direction) => {
|
Action::Move(direction) => {
|
||||||
let current_output = seat.active_output();
|
let current_output = seat.active_output();
|
||||||
let workspace = self.common.shell.active_space_mut(¤t_output);
|
let workspace = self.common.shell.active_space_mut(¤t_output);
|
||||||
|
if workspace.get_fullscreen(¤t_output).is_some() {
|
||||||
|
return; // TODO, is this what we want? How do we indicate the switch?
|
||||||
|
}
|
||||||
|
|
||||||
if let Some(_move_further) =
|
if let Some(_move_further) =
|
||||||
workspace.tiling_layer.move_current_window(direction, seat)
|
workspace.tiling_layer.move_current_window(direction, seat)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue