mirror of
https://github.com/swaywm/sway.git
synced 2024-12-28 07:56:31 +01:00
Merge pull request #55 from taiyu-len/master
fixed when views dont have names.
This commit is contained in:
commit
107f961752
2 changed files with 10 additions and 7 deletions
|
@ -54,9 +54,7 @@ swayc_t *new_output(wlc_handle handle) {
|
||||||
output->width = size->w;
|
output->width = size->w;
|
||||||
output->height = size->h;
|
output->height = size->h;
|
||||||
output->handle = handle;
|
output->handle = handle;
|
||||||
if (name) {
|
output->name = name ? strdup(name) : NULL;
|
||||||
output->name = strdup(name);
|
|
||||||
}
|
|
||||||
|
|
||||||
add_child(&root_container, output);
|
add_child(&root_container, output);
|
||||||
|
|
||||||
|
@ -95,7 +93,7 @@ swayc_t *new_container(swayc_t *child, enum swayc_layouts layout) {
|
||||||
cont->layout = layout;
|
cont->layout = layout;
|
||||||
cont->width = child->width;
|
cont->width = child->width;
|
||||||
cont->height = child->height;
|
cont->height = child->height;
|
||||||
cont->x = child->x;
|
cont->x = child->x;
|
||||||
cont->y = child->y;
|
cont->y = child->y;
|
||||||
cont->visible = child->visible;
|
cont->visible = child->visible;
|
||||||
|
|
||||||
|
@ -132,7 +130,7 @@ swayc_t *new_view(swayc_t *sibling, wlc_handle handle) {
|
||||||
(unsigned int)handle, title, sibling, sibling?sibling->type:0);
|
(unsigned int)handle, title, sibling, sibling?sibling->type:0);
|
||||||
//Setup values
|
//Setup values
|
||||||
view->handle = handle;
|
view->handle = handle;
|
||||||
view->name = strdup(title);
|
view->name = title ? strdup(title) : NULL;
|
||||||
view->visible = true;
|
view->visible = true;
|
||||||
|
|
||||||
view->desired_width = -1;
|
view->desired_width = -1;
|
||||||
|
@ -159,7 +157,7 @@ swayc_t *new_floating_view(wlc_handle handle) {
|
||||||
(unsigned int)handle, title);
|
(unsigned int)handle, title);
|
||||||
//Setup values
|
//Setup values
|
||||||
view->handle = handle;
|
view->handle = handle;
|
||||||
view->name = strdup(title);
|
view->name = title ? strdup(title) : NULL;
|
||||||
view->visible = true;
|
view->visible = true;
|
||||||
|
|
||||||
// Set the geometry of the floating view
|
// Set the geometry of the floating view
|
||||||
|
|
|
@ -104,6 +104,7 @@ static bool handle_view_created(wlc_handle handle) {
|
||||||
// Float popups
|
// Float popups
|
||||||
if (type & WLC_BIT_POPUP) {
|
if (type & WLC_BIT_POPUP) {
|
||||||
swayc_t *view = new_floating_view(handle);
|
swayc_t *view = new_floating_view(handle);
|
||||||
|
wlc_view_set_state(handle, WLC_BIT_MAXIMIZED, false);
|
||||||
focus_view(view);
|
focus_view(view);
|
||||||
arrange_windows(active_workspace, -1, -1);
|
arrange_windows(active_workspace, -1, -1);
|
||||||
}
|
}
|
||||||
|
@ -136,13 +137,17 @@ static void handle_view_destroyed(wlc_handle handle) {
|
||||||
focus_view(focus_pointer());
|
focus_view(focus_pointer());
|
||||||
arrange_windows(active_workspace, -1, -1);
|
arrange_windows(active_workspace, -1, -1);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (type & WLC_BIT_OVERRIDE_REDIRECT) {
|
if (type & WLC_BIT_OVERRIDE_REDIRECT) {
|
||||||
focus_view(focus_pointer());
|
focus_view(focus_pointer());
|
||||||
arrange_windows(active_workspace, -1, -1);
|
arrange_windows(active_workspace, -1, -1);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (type & WLC_BIT_POPUP) {
|
||||||
|
swayc_t *view = get_swayc_for_handle(handle, &root_container);
|
||||||
|
destroy_view(view);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
swayc_t *view = get_swayc_for_handle(handle, &root_container);
|
swayc_t *view = get_swayc_for_handle(handle, &root_container);
|
||||||
swayc_t *parent;
|
swayc_t *parent;
|
||||||
|
|
Loading…
Reference in a new issue