splits: show missed bells when a title tab is shown

This commit is contained in:
Boris Faure 2019-10-06 23:36:28 +02:00
parent a32b9cee88
commit 424ddba2c8
2 changed files with 35 additions and 1 deletions

View File

@ -7,6 +7,12 @@ color_classes {
#include "default_colors.in.edc"
}
#endif
#ifndef BG_COLOR_BELL_NO_ALPHA
#define BG_COLOR_BELL_NO_ALPHA BG_COLOR_NO_ALPHA
#endif
#ifndef FG_COLOR_BELL_NO_ALPHA
#define FG_COLOR_BELL_NO_ALPHA 255 153 51
#endif
efl_version: 1 20;
@ -1414,6 +1420,21 @@ collections {
inherit: "default" 0.0;
visible: 1;
}
description { state: "bell" 0.0;
inherit: "tab" 0.0;
color: FG_COLOR_BELL_NO_ALPHA 255;
color3: BG_COLOR_BELL_NO_ALPHA 18;
}
}
program { name: "tab,bell,on";
signal: "tab,bell,on"; source: "terminology";
action: STATE_SET "bell" 0.0;
target: "tabtitle";
}
program { name: "tab,bell,off";
signal: "tab,bell,off"; source: "terminology";
action: STATE_SET "tab" 0.0;
target: "tabtitle";
}
part { name: "tablimit0"; type: SPACER;
description { state: "default" 0.0;

View File

@ -536,6 +536,7 @@ _solo_bell(Term_Container *tc,
solo = (Solo*) tc;
term = solo->term;
if (!tc->is_focused)
term->missed_bell = EINA_TRUE;
if (!tc->wn->config->disable_visual_bell)
@ -548,6 +549,12 @@ _solo_bell(Term_Container *tc,
elm_layout_signal_emit(term->base, "bell,ring", "terminology");
}
}
if ((term->missed_bell) && (term->config->show_tabs)
&& (tc->parent->type == TERM_CONTAINER_TYPE_SPLIT))
{
edje_object_signal_emit(term->bg, "tab,bell,on", "terminology");
}
edje_object_message_signal_process(term->bg);
tc->parent->bell(tc->parent, tc);
}
@ -599,6 +606,11 @@ _solo_focus(Term_Container *tc, Term_Container *relative)
return;
term->missed_bell = EINA_FALSE;
if ((term->config->show_tabs)
&& (tc->parent->type == TERM_CONTAINER_TYPE_SPLIT))
{
edje_object_signal_emit(term->bg, "tab,bell,off", "terminology");
}
if (tc->parent != relative)
{
@ -626,6 +638,7 @@ _solo_focus(Term_Container *tc, Term_Container *relative)
if (term->missed_bell)
term->missed_bell = EINA_FALSE;
edje_object_message_signal_process(term->bg);
}
static Eina_Bool