Return focus to fullscreen view
This fixes https://github.com/SirCmpwn/sway/issues/431 by returning focus to the fullscreen view. Also it fixes the issue with the fullscreen view pointer not being set which did my head in
This commit is contained in:
parent
27ab7d8982
commit
b755fd073e
|
@ -1464,7 +1464,7 @@ static struct cmd_results *cmd_fullscreen(int argc, char **argv) {
|
||||||
wlc_view_set_state(container->handle, WLC_BIT_FULLSCREEN, !current);
|
wlc_view_set_state(container->handle, WLC_BIT_FULLSCREEN, !current);
|
||||||
// Resize workspace if going from fullscreen -> notfullscreen
|
// Resize workspace if going from fullscreen -> notfullscreen
|
||||||
// otherwise just resize container
|
// otherwise just resize container
|
||||||
if (current) {
|
if (!current) {
|
||||||
arrange_windows(workspace, -1, -1);
|
arrange_windows(workspace, -1, -1);
|
||||||
workspace->fullscreen = container;
|
workspace->fullscreen = container;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -220,6 +220,10 @@ static bool handle_view_created(wlc_handle handle) {
|
||||||
// refocus in-between command lists
|
// refocus in-between command lists
|
||||||
set_focused_container(newview);
|
set_focused_container(newview);
|
||||||
}
|
}
|
||||||
|
swayc_t *workspace = swayc_parent_by_type(focused, C_WORKSPACE);
|
||||||
|
if (workspace && workspace->fullscreen) {
|
||||||
|
set_focused_container(workspace->fullscreen);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
swayc_t *output = swayc_parent_by_type(focused, C_OUTPUT);
|
swayc_t *output = swayc_parent_by_type(focused, C_OUTPUT);
|
||||||
wlc_handle *h = malloc(sizeof(wlc_handle));
|
wlc_handle *h = malloc(sizeof(wlc_handle));
|
||||||
|
|
Loading…
Reference in a new issue