mirror of
https://github.com/DreamMaoMao/maomaowm.git
synced 2026-06-19 14:33:16 -04:00
opt: If nodes are not used, then do not create them
This commit is contained in:
parent
3251e9d3bb
commit
79d9b4aa6b
3 changed files with 28 additions and 15 deletions
|
|
@ -95,4 +95,22 @@ void client_pending_force_kill(Client *c) {
|
||||||
if (!c)
|
if (!c)
|
||||||
return;
|
return;
|
||||||
kill(c->pid, SIGKILL);
|
kill(c->pid, SIGKILL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void client_add_text_node(Client *c) {
|
||||||
|
c->text_node = mango_text_node_create(c->scene, config.textdata);
|
||||||
|
wlr_scene_node_lower_to_bottom(&c->text_node->scene_buffer->node);
|
||||||
|
wlr_scene_node_set_enabled(&c->text_node->scene_buffer->node, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
void client_add_titlebar_node(Client *c) {
|
||||||
|
MangoNodeData *mangonodedata = ecalloc(1, sizeof(MangoNodeData));
|
||||||
|
mangonodedata->node_data = c;
|
||||||
|
mangonodedata->type = MANGO_TITLE_NODE;
|
||||||
|
|
||||||
|
c->titlebar_node = mango_titlebar_node_create(
|
||||||
|
mangonodedata, layers[LyrDecorate], config.textdata, 0, 0);
|
||||||
|
wlr_scene_node_lower_to_bottom(&c->titlebar_node->scene_buffer->node);
|
||||||
|
wlr_scene_node_set_enabled(&c->titlebar_node->scene_buffer->node, false);
|
||||||
|
mango_titlebar_node_update(c->titlebar_node, client_get_title(c), 1.0);
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -1143,6 +1143,15 @@ void pre_caculate_before_arrange(Monitor *m, bool want_animation,
|
||||||
set_size_per(m, c);
|
set_size_per(m, c);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (m->is_jump_mode && !c->text_node) {
|
||||||
|
client_add_text_node(c);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m->pertag->ltidxs[m->pertag->curtag]->id == MONOCLE &&
|
||||||
|
!c->titlebar_node) {
|
||||||
|
client_add_titlebar_node(c);
|
||||||
|
}
|
||||||
|
|
||||||
if (c->titlebar_node && c->mon == m) {
|
if (c->titlebar_node && c->mon == m) {
|
||||||
wlr_scene_node_set_enabled(&c->titlebar_node->scene_buffer->node,
|
wlr_scene_node_set_enabled(&c->titlebar_node->scene_buffer->node,
|
||||||
false);
|
false);
|
||||||
|
|
|
||||||
14
src/mango.c
14
src/mango.c
|
|
@ -4573,20 +4573,6 @@ mapnotify(struct wl_listener *listener, void *data) {
|
||||||
#endif
|
#endif
|
||||||
// extra node
|
// extra node
|
||||||
|
|
||||||
c->text_node = mango_text_node_create(c->scene, config.textdata);
|
|
||||||
wlr_scene_node_lower_to_bottom(&c->text_node->scene_buffer->node);
|
|
||||||
wlr_scene_node_set_enabled(&c->text_node->scene_buffer->node, false);
|
|
||||||
|
|
||||||
MangoNodeData *mangonodedata = ecalloc(1, sizeof(MangoNodeData));
|
|
||||||
mangonodedata->node_data = c;
|
|
||||||
mangonodedata->type = MANGO_TITLE_NODE;
|
|
||||||
|
|
||||||
c->titlebar_node = mango_titlebar_node_create(
|
|
||||||
mangonodedata, layers[LyrDecorate], config.textdata, 0, 0);
|
|
||||||
wlr_scene_node_lower_to_bottom(&c->titlebar_node->scene_buffer->node);
|
|
||||||
wlr_scene_node_set_enabled(&c->titlebar_node->scene_buffer->node, false);
|
|
||||||
mango_titlebar_node_update(c->titlebar_node, client_get_title(c), 1.0);
|
|
||||||
|
|
||||||
for (i = 0; i < 2; i++) {
|
for (i = 0; i < 2; i++) {
|
||||||
c->splitindicator[i] = wlr_scene_rect_create(
|
c->splitindicator[i] = wlr_scene_rect_create(
|
||||||
c->scene, 0, 0,
|
c->scene, 0, 0,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue