This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch master
in repository terminology.

View the commit online.

commit 293081bb3ce4098e8902b398edbe98405f2b9aaa
Author: Boris Faure <bill...@gmail.com>
AuthorDate: Sat Sep 24 00:02:33 2022 +0200

    background: fade it with the color defined as background in the color scheme
---
 ChangeLog.theme              |  6 ++++++
 THEMES.md                    |  5 +++++
 data/themes/default/core.edc | 14 ++++++++------
 src/bin/options_background.c |  4 ----
 src/bin/win.c                | 21 +++++++++++++++++----
 5 files changed, 36 insertions(+), 14 deletions(-)

diff --git a/ChangeLog.theme b/ChangeLog.theme
index 8855e27..582c05f 100644
--- a/ChangeLog.theme
+++ b/ChangeLog.theme
@@ -2,6 +2,12 @@
 Terminology 1.12.1
 ==================
 
+Changes since 1.12.1:
+--------------------
+  * Add part "terminology.fade" in group "terminology/core" to set the color
+  used to fade the background of the terminal.  Terminology sets it to the
+  background color of the colorscheme.
+
 Changes since 1.8.0:
 --------------------
   * Add group "terminology/color_preview" to display a preview of a
diff --git a/THEMES.md b/THEMES.md
index 630bfee..6084b65 100644
--- a/THEMES.md
+++ b/THEMES.md
@@ -176,6 +176,11 @@ To notify that the current tab is being dragged outside of other tabs.
 
 ## Swallowed parts
 
+### Part `terminology.fade`
+
+Part used to fade the background, either with a solid color or the screen
+background when the `translucent` option is set.
+
 ### Part `terminology.background`
 
 Actual background.
diff --git a/data/themes/default/core.edc b/data/themes/default/core.edc
index ab0d2e9..122d7c4 100644
--- a/data/themes/default/core.edc
+++ b/data/themes/default/core.edc
@@ -10,23 +10,25 @@ group { name: "terminology/core";
             new r, g, b, a, v;
             v = (getarg(2) * 255) / 100;
 
-            custom_state(PART:"fade", "default", 0.0);
-            get_state_val(PART:"fade", STATE_COLOR, r, g, b, a);
-            set_state_val(PART:"fade", STATE_COLOR, r, g, b, v);
-            set_state(PART:"fade", "custom", 0.0);
+            custom_state(PART:"terminology.fade", "default", 0.0);
+            get_state_val(PART:"terminology.fade", STATE_COLOR, r, g, b, a);
+            set_state_val(PART:"terminology.fade", STATE_COLOR, r, g, b, v);
+            set_state(PART:"terminology.fade", "custom", 0.0);
          }
       }
    }
    parts {
         ////////////////////////////////////////////////////////////////////
         // background handling
-      part { name: "fade"; type: RECT;
+      part { name: "terminology.fade"; type: RECT;
          description { state: "default" 0.0;
+             color_class: "BG";
          }
       }
       part { name: "terminology.background"; type: SWALLOW;
-         clip_to: "fade";
+         clip_to: "terminology.fade";
          description { state: "default" 0.0;
+             color_class: "BG";
          }
          description { state: "image" 0.0;
             inherit: "default" 0.0;
diff --git a/src/bin/options_background.c b/src/bin/options_background.c
index 78b2bc5..8218ecb 100644
--- a/src/bin/options_background.c
+++ b/src/bin/options_background.c
@@ -51,7 +51,6 @@ _cb_op_video_trans_chg(void *data,
    Config *config = ctx->config;
 
    config->translucent = elm_check_state_get(obj);
-   elm_object_disabled_set(ctx->op_opacity, !config->translucent);
    config_save(config);
    main_trans_update();
 }
@@ -65,8 +64,6 @@ _cb_op_video_opacity_chg(void *data,
    Config *config = ctx->config;
 
    config->opacity = elm_slider_value_get(obj);
-   if (!config->translucent)
-     return;
    config_save(config);
    main_trans_update();
 }
@@ -569,7 +566,6 @@ options_background(Evas_Object *opbox, Evas_Object *term)
    elm_slider_indicator_format_set(o, _("%1.0f%%"));
    elm_slider_min_max_set(o, 0, 100);
    elm_slider_value_set(o, config->opacity);
-   elm_object_disabled_set(o, !config->translucent);
    elm_box_pack_end(bx, o);
    evas_object_show(o);
    evas_object_smart_callback_add(o, "changed",
diff --git a/src/bin/win.c b/src/bin/win.c
index 7183462..e678f23 100644
--- a/src/bin/win.c
+++ b/src/bin/win.c
@@ -1058,10 +1058,7 @@ _term_trans(Term *term)
    Evas_Object *edje = elm_layout_edje_get(term->core);
    Win *wn = term->wn;
 
-   if (term->config->translucent)
-     msg.val = term->config->opacity;
-   else
-     msg.val = 100;
+   msg.val = term->config->opacity;
    edje_object_message_send(term->bg_edj, EDJE_MESSAGE_INT, 1, &msg);
    edje_object_message_send(edje, EDJE_MESSAGE_INT, 1, &msg);
 
@@ -1075,6 +1072,13 @@ _term_trans(Term *term)
           }
         else
           {
+             if (wn->config->color_scheme)
+               {
+                  evas_object_color_set(wn->backbg,
+                                        wn->config->color_scheme->bg.r,
+                                        wn->config->color_scheme->bg.g,
+                                        wn->config->color_scheme->bg.b, 255);
+               }
              elm_win_alpha_set(wn->win, EINA_FALSE);
              evas_object_show(wn->backbg);
              wn->translucent = EINA_FALSE;
@@ -2237,6 +2241,15 @@ win_new(const char *name, const char *role, const char *title,
 
    wn->backbg = o = evas_object_rectangle_add(evas_object_evas_get(wn->win));
    evas_object_color_set(o, 0, 0, 0, 255);
+   if (wn->config->color_scheme)
+     {
+        evas_object_color_set(o,
+                              wn->config->color_scheme->bg.r,
+                              wn->config->color_scheme->bg.g,
+                              wn->config->color_scheme->bg.b, 255);
+     }
+   else
+     evas_object_color_set(o, 0, 0, 0, 255);
    evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
    evas_object_size_hint_fill_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL);
    elm_win_resize_object_add(wn->win, o);

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to