Hello community,

here is the log from the commit of package muffin for openSUSE:Factory checked 
in at 2019-12-02 11:31:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/muffin (Old)
 and      /work/SRC/openSUSE:Factory/.muffin.new.4691 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "muffin"

Mon Dec  2 11:31:17 2019 rev:20 rq:752548 version:4.4.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/muffin/muffin.changes    2019-11-07 
23:16:33.948537359 +0100
+++ /work/SRC/openSUSE:Factory/.muffin.new.4691/muffin.changes  2019-12-02 
11:35:45.926432803 +0100
@@ -1,0 +2,7 @@
+Sun Nov 24 17:24:05 UTC 2019 - Aaron Stern <ukbeas...@protonmail.com>
+
+- Update to version 4.4.1
+  * meta-shadow-factory: Fix terminal shadows
+  * window.c: Fix regression on window move
+  
+-------------------------------------------------------------------

Old:
----
  muffin-4.2.2.tar.gz

New:
----
  muffin-4.4.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ muffin.spec ++++++
--- /var/tmp/diff_new_pack.n0uMbW/_old  2019-12-02 11:35:46.426432555 +0100
+++ /var/tmp/diff_new_pack.n0uMbW/_new  2019-12-02 11:35:46.426432555 +0100
@@ -21,7 +21,7 @@
 %define typelib typelib-1_0-Muffin-0_0
 %define _lto_cflags %{nil}
 Name:           muffin
-Version:        4.2.2
+Version:        4.4.1
 Release:        0
 Summary:        Cinnamon Desktop default window manager
 License:        GPL-2.0-or-later AND MIT

++++++ muffin-4.2.2.tar.gz -> muffin-4.4.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/muffin-4.2.2/configure.ac 
new/muffin-4.4.1/configure.ac
--- old/muffin-4.2.2/configure.ac       2019-07-25 10:27:05.000000000 +0200
+++ new/muffin-4.4.1/configure.ac       2019-11-22 10:46:43.000000000 +0100
@@ -1,8 +1,8 @@
 AC_PREREQ(2.50)
 
 m4_define([muffin_major_version], [4])
-m4_define([muffin_minor_version], [2])
-m4_define([muffin_micro_version], [2])
+m4_define([muffin_minor_version], [4])
+m4_define([muffin_micro_version], [1])
 
 m4_define([muffin_version],
           [muffin_major_version.muffin_minor_version.muffin_micro_version])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/muffin-4.2.2/debian/changelog 
new/muffin-4.4.1/debian/changelog
--- old/muffin-4.2.2/debian/changelog   2019-07-25 10:27:05.000000000 +0200
+++ new/muffin-4.4.1/debian/changelog   2019-11-22 10:46:43.000000000 +0100
@@ -1,3 +1,23 @@
+muffin (4.4.1) tricia; urgency=medium
+
+  * meta-shadow-factory: Fix terminal shadows (#540)
+  * window.c: Fix regression on window move (#541)
+
+ -- Clement Lefebvre <r...@linuxmint.com>  Fri, 22 Nov 2019 09:46:24 +0000
+
+muffin (4.4.0) tricia; urgency=medium
+
+  [ Michael Webster ]
+  * metacity themes: Fix layout of themes that used mini-icons and were 
affected by e252272477.
+  * window.c, workspace.c: Remove delayed emission of the 'window-added' 
signals.
+  * prefs: Add a method for cinnamon to set the ui_scale when it changes, and 
trigger the proper updates to ensure everything scales properly.
+
+  [ Simon Brown ]
+  * window.c: various minor tweaks, small speedup (#491)
+  * meta-shadow-factory: remove some deprecated cogl_set_source calls (#497)
+
+ -- Clement Lefebvre <r...@linuxmint.com>  Wed, 20 Nov 2019 16:50:26 +0000
+
 muffin (4.2.2) tina; urgency=medium
 
   [ Michael Webster ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/muffin-4.2.2/src/compositor/meta-shadow-factory-private.h 
new/muffin-4.4.1/src/compositor/meta-shadow-factory-private.h
--- old/muffin-4.2.2/src/compositor/meta-shadow-factory-private.h       
2019-07-25 10:27:05.000000000 +0200
+++ new/muffin-4.4.1/src/compositor/meta-shadow-factory-private.h       
2019-11-22 10:46:43.000000000 +0100
@@ -42,6 +42,7 @@
 void        meta_shadow_unref       (MetaShadow            *shadow);
 CoglTexture*meta_shadow_get_texture (MetaShadow            *shadow);
 void        meta_shadow_paint       (MetaShadow            *shadow,
+                                     CoglFramebuffer       *framebuffer,
                                      int                    window_x,
                                      int                    window_y,
                                      int                    window_width,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/muffin-4.2.2/src/compositor/meta-shadow-factory.c 
new/muffin-4.4.1/src/compositor/meta-shadow-factory.c
--- old/muffin-4.2.2/src/compositor/meta-shadow-factory.c       2019-07-25 
10:27:05.000000000 +0200
+++ new/muffin-4.4.1/src/compositor/meta-shadow-factory.c       2019-11-22 
10:46:43.000000000 +0100
@@ -198,14 +198,16 @@
  * size needs to be passed in here.)
  */
 LOCAL_SYMBOL void
-meta_shadow_paint (MetaShadow     *shadow,
-                   int             window_x,
-                   int             window_y,
-                   int             window_width,
-                   int             window_height,
-                   guint8          opacity,
-                   cairo_region_t *clip,
-                   gboolean        clip_strictly)
+meta_shadow_paint (MetaShadow      *shadow,
+                   CoglFramebuffer *framebuffer,
+                   int              window_x,
+                   int              window_y,
+                   int              window_width,
+                   int              window_height,
+                   guint8           opacity,
+                   cairo_region_t  *clip,
+                   gboolean         clip_strictly)
+
 {
   float texture_width = cogl_texture_get_width (shadow->texture);
   float texture_height = cogl_texture_get_height (shadow->texture);
@@ -217,8 +219,6 @@
   int n_x, n_y;
   gboolean source_updated = FALSE;
 
-  cogl_set_source (shadow->pipeline);
-
   if (shadow->scale_width)
     {
       n_x = 3;
@@ -300,7 +300,7 @@
             {
               cogl_pipeline_set_color4ub (shadow->pipeline,
                                           opacity, opacity, opacity, opacity);
-              cogl_set_source (shadow->pipeline);
+//              cogl_set_source (shadow->pipeline); do not believe needed, but 
still there in mutter
               source_updated = TRUE;
             }
 
@@ -313,24 +313,30 @@
           if (overlap == CAIRO_REGION_OVERLAP_IN ||
               (overlap == CAIRO_REGION_OVERLAP_PART && !clip_strictly))
             {
-              cogl_rectangle_with_texture_coords (dest_x[i], dest_y[j],
-                                                  dest_x[i + 1], dest_y[j + 1],
-                                                  src_x[i], src_y[j],
-                                                  src_x[i + 1], src_y[j + 1]);
+              cogl_framebuffer_draw_textured_rectangle (framebuffer,
+                                                        shadow->pipeline,
+                                                        dest_x[i], dest_y[j],
+                                                        dest_x[i + 1], 
dest_y[j + 1],
+                                                        src_x[i], src_y[j],
+                                                        src_x[i + 1], src_y[j 
+ 1]);
             }
           else if (overlap == CAIRO_REGION_OVERLAP_PART)
             {
               cairo_region_t *intersection;
               int n_rectangles, k;
+              float *rects;
 
               intersection = cairo_region_create_rectangle (&dest_rect);
               cairo_region_intersect (intersection, clip);
 
               n_rectangles = cairo_region_num_rectangles (intersection);
+              rects = g_alloca (sizeof (float) * 8 * n_rectangles);
+
               for (k = 0; k < n_rectangles; k++)
                 {
                   cairo_rectangle_int_t rect;
                   float src_x1, src_x2, src_y1, src_y2;
+                  int pos;
 
                   cairo_region_get_rectangle (intersection, k, &rect);
 
@@ -347,11 +353,22 @@
                   src_y2 = (src_y[j] * (dest_rect.y + dest_rect.height - 
(rect.y + rect.height)) +
                             src_y[j + 1] * (rect.y + rect.height - 
dest_rect.y)) / dest_rect.height;
 
-                  cogl_rectangle_with_texture_coords (rect.x, rect.y,
-                                                      rect.x + rect.width, 
rect.y + rect.height,
-                                                      src_x1, src_y1, src_x2, 
src_y2);
+                  pos = k*8;
+                  rects[pos] = rect.x;
+                  rects[pos+1] = rect.y;
+                  rects[pos+2] = rect.x + rect.width;
+                  rects[pos+3] = rect.y + rect.height;
+                  rects[pos+4] = src_x1;
+                  rects[pos+5] = src_y1;
+                  rects[pos+6] = src_x2;
+                  rects[pos+7] = src_y2;
                 }
 
+              cogl_framebuffer_draw_textured_rectangles (framebuffer,
+                                                         shadow->pipeline,
+                                                         rects,
+                                                         n_rectangles);
+
               cairo_region_destroy (intersection);
             }
         }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/muffin-4.2.2/src/compositor/meta-window-actor.c 
new/muffin-4.4.1/src/compositor/meta-window-actor.c
--- old/muffin-4.2.2/src/compositor/meta-window-actor.c 2019-07-25 
10:27:05.000000000 +0200
+++ new/muffin-4.4.1/src/compositor/meta-window-actor.c 2019-11-22 
10:46:43.000000000 +0100
@@ -848,8 +848,10 @@
 {
   MetaWindowActor *self = META_WINDOW_ACTOR (actor);
   MetaWindowActorPrivate *priv = self->priv;
+  CoglFramebuffer *framebuffer = NULL;
   gboolean appears_focused = meta_window_appears_focused (priv->window);
   MetaShadow *shadow = appears_focused ? priv->focused_shadow : 
priv->unfocused_shadow;
+
   if (!priv->window->display->shadows_enabled) {
       shadow = NULL;
   }
@@ -888,7 +890,10 @@
           cairo_region_subtract (clip, meta_window_get_frame_bounds 
(priv->window));
         }
 
+      framebuffer = cogl_get_draw_framebuffer ();
+
       meta_shadow_paint (shadow,
+                         framebuffer,
                          params.x_offset + shape_bounds.x,
                          params.y_offset + shape_bounds.y,
                          shape_bounds.width,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/muffin-4.2.2/src/core/main.c 
new/muffin-4.4.1/src/core/main.c
--- old/muffin-4.2.2/src/core/main.c    2019-07-25 10:27:05.000000000 +0200
+++ new/muffin-4.4.1/src/core/main.c    2019-11-22 10:46:43.000000000 +0100
@@ -634,6 +634,12 @@
     case META_PREF_SYNC_METHOD:
       meta_display_update_sync_state (meta_prefs_get_sync_method ());
       break;
+    case META_PREF_UI_SCALE:
+      meta_ui_set_current_theme (meta_prefs_get_theme (), TRUE);
+      meta_display_retheme_all ();
+      meta_display_set_cursor_theme (meta_prefs_get_cursor_theme (),
+                                     meta_prefs_get_cursor_size ());
+      break;
     default:
       /* handled elsewhere or otherwise */
       break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/muffin-4.2.2/src/core/prefs.c 
new/muffin-4.4.1/src/core/prefs.c
--- old/muffin-4.2.2/src/core/prefs.c   2019-07-25 10:27:05.000000000 +0200
+++ new/muffin-4.4.1/src/core/prefs.c   2019-11-22 10:46:43.000000000 +0100
@@ -37,6 +37,7 @@
 #include "meta-plugin-manager.h"
 #include <glib.h>
 #include <gio/gio.h>
+#include <gtk/gtk.h>
 #include <string.h>
 #include <stdlib.h>
 #include "keybindings-private.h"
@@ -923,16 +924,32 @@
 }
 
 static void
-update_ui_scale (GdkScreen *screen, gpointer data)
+store_initial_ui_scale (void)
 {
   GValue value = G_VALUE_INIT;
 
   g_value_init (&value, G_TYPE_INT);
 
-  gdk_screen_get_setting (screen, "gdk-window-scaling-factor", &value);
+  gdk_screen_get_setting (gdk_screen_get_default (), 
"gdk-window-scaling-factor", &value);
   ui_scale = MAX (g_value_get_int (&value), 1); // Never let it be 0;
 }
 
+static void
+set_ui_scale (int new_scale)
+{
+  if (new_scale == ui_scale)
+    {
+      return;
+    }
+
+  ui_scale = new_scale;
+
+  meta_topic (META_DEBUG_PREFS, "UI Scale changed (to %dx), triggering frames 
and cursor size updates.\n",
+              ui_scale);
+
+  queue_changed (META_PREF_UI_SCALE);
+}
+
 
 /****************************************************************************/
 /* Initialisation.                                                          */
@@ -983,14 +1000,7 @@
   handle_preference_init_string ();
   handle_preference_init_int ();
 
-  GdkDisplay *display = gdk_display_get_default();
-
-  g_signal_connect (gdk_display_get_default_screen (display), 
"monitors-changed",
-                    G_CALLBACK (update_ui_scale), NULL);
-  g_signal_connect (gdk_display_get_default_screen (display), "size-changed",
-                    G_CALLBACK (update_ui_scale), NULL);
-
-  update_ui_scale (gdk_display_get_default_screen (display), NULL);
+  store_initial_ui_scale ();
 
   init_bindings ();
   init_workspace_names ();
@@ -2565,3 +2575,9 @@
 {
   return ui_scale;
 }
+
+void
+meta_prefs_set_ui_scale (int new_scale)
+{
+  set_ui_scale (new_scale);
+}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/muffin-4.2.2/src/core/window.c 
new/muffin-4.4.1/src/core/window.c
--- old/muffin-4.2.2/src/core/window.c  2019-07-25 10:27:05.000000000 +0200
+++ new/muffin-4.4.1/src/core/window.c  2019-11-22 10:46:43.000000000 +0100
@@ -718,10 +718,11 @@
 static void
 sync_client_window_mapped (MetaWindow *window)
 {
-  gboolean should_be_mapped = client_window_should_be_mapped (window);
+  gboolean should_be_mapped;
 
   g_return_if_fail (!window->override_redirect);
 
+  should_be_mapped = client_window_should_be_mapped (window);
   if (window->mapped == should_be_mapped)
     return;
 
@@ -896,16 +897,6 @@
     }
 }
 
-static gboolean
-emit_window_added (MetaWindow *window)
-{
-  if (window == NULL || window->screen == NULL || window->monitor == NULL)
-    return FALSE;
-
-  g_signal_emit_by_name (window->screen, "window-added", window, 
window->monitor->number);
-  return FALSE;
-}
-
 LOCAL_SYMBOL LOCAL_SYMBOL MetaWindow*
 meta_window_new_with_attrs (MetaDisplay       *display,
                             Window             xwindow,
@@ -1501,7 +1492,7 @@
     }
 
   g_signal_emit_by_name (window->screen, "window-entered-monitor", 
window->monitor->number, window);
-  clutter_threads_add_timeout (20, (GSourceFunc) emit_window_added, window);
+  g_signal_emit_by_name (window->screen, "window-added", window, 
window->monitor->number);
 
   /* Must add window to stack before doing move/resize, since the
    * window might have fullscreen size (i.e. should have been
@@ -1750,11 +1741,11 @@
 detach_foreach_func (MetaWindow *window,
                      void       *data)
 {
-  GList **children = data;
-  MetaWindow *parent;
-
   if (window->attached)
     {
+      GList **children = data;
+      MetaWindow *parent;
+
       /* Only return the immediate children of the window being unmanaged */
       parent = meta_window_get_transient_for (window);
       if (parent->unmanaging)
@@ -2629,12 +2620,11 @@
 LOCAL_SYMBOL void
 meta_window_queue (MetaWindow *window, guint queuebits)
 {
-  guint queuenum;
 
   /* Easier to debug by checking here rather than in the idle */
   g_return_if_fail (!window->override_redirect || (queuebits & 
META_QUEUE_MOVE_RESIZE) == 0);
 
-  for (queuenum=0; queuenum<NUMBER_OF_QUEUES; queuenum++)
+  for (guint queuenum=0; queuenum<NUMBER_OF_QUEUES; queuenum++)
     {
       if (queuebits & 1<<queuenum)
         {
@@ -9731,6 +9721,13 @@
   dx = x - window->display->grab_anchor_root_x;
   dy = y - window->display->grab_anchor_root_y;
 
+  /* Don't bother doing anything if no move has been specified.  (This
+   * happens often, even in keyboard resizing, due to the warping of the
+   * pointer.
+   */
+  if (dx == 0 && dy == 0)
+    return;
+
   /* Attached modal dialogs are special in that size
    * changes apply to both sides, so that the dialog
    * remains centered to the parent.
@@ -9744,13 +9741,6 @@
   new_w = window->display->grab_anchor_window_pos.width;
   new_h = window->display->grab_anchor_window_pos.height;
 
-  /* Don't bother doing anything if no move has been specified.  (This
-   * happens often, even in keyboard resizing, due to the warping of the
-   * pointer.
-   */
-  if (dx == 0 && dy == 0)
-    return;
-
   if (window->display->grab_op == META_GRAB_OP_KEYBOARD_RESIZING_UNKNOWN)
     {
       if (window->tile_mode == META_TILE_NONE)
@@ -11055,7 +11045,6 @@
   GList* after_this_one_position;
 
   active_mru_list         = window->screen->active_workspace->mru_list;
-  window_position         = g_list_find (active_mru_list, window);
   after_this_one_position = g_list_find (active_mru_list, after_this_one);
 
   /* after_this_one_position is NULL when we switch workspaces, but in
@@ -11065,6 +11054,7 @@
   if (after_this_one_position == NULL)
     return;
 
+  window_position         = g_list_find (active_mru_list, window);
   if (g_list_length (window_position) > g_list_length 
(after_this_one_position))
     {
       window->screen->active_workspace->mru_list =
@@ -11214,16 +11204,20 @@
 void
 meta_window_set_demands_attention (MetaWindow *window)
 {
+
+  GList *stack;
   MetaRectangle candidate_rect, other_rect;
-  GList *stack = window->screen->stack->sorted;
   MetaWindow *other_window;
-  gboolean obscured = FALSE;
-
-  MetaWorkspace *workspace = window->screen->active_workspace;
+  gboolean obscured;
+  MetaWorkspace *workspace;
 
   if (window->wm_state_demands_attention)
     return;
 
+  obscured = FALSE;
+  stack = window->screen->stack->sorted;
+  workspace = window->screen->active_workspace;
+
   if (workspace!=window->workspace)
     {
       /* windows on other workspaces are necessarily obscured */
@@ -11981,13 +11975,14 @@
 {
   MetaWindow *match;
   MetaStack *stack;
-  MetaTileMode match_tile_mode = META_TILE_NONE;
+  MetaTileMode match_tile_mode;
 
   window->tile_match = NULL;
 
   if (window->shaded || window->minimized)
     return;
 
+  match_tile_mode = META_TILE_NONE;
   if (META_WINDOW_TILED_LEFT (window))
     match_tile_mode = META_TILE_RIGHT;
   else if (META_WINDOW_TILED_RIGHT (window))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/muffin-4.2.2/src/core/workspace.c 
new/muffin-4.4.1/src/core/workspace.c
--- old/muffin-4.2.2/src/core/workspace.c       2019-07-25 10:27:05.000000000 
+0200
+++ new/muffin-4.4.1/src/core/workspace.c       2019-11-22 10:46:43.000000000 
+0100
@@ -310,16 +310,6 @@
    */
 }
 
-static gboolean
-emit_window_added (MetaWindow *window)
-{
-  if (window == NULL || window->workspace == NULL)
-    return FALSE;
-
-  g_signal_emit (window->workspace, signals[WINDOW_ADDED], 0, window);
-  return FALSE;
-}
-
 LOCAL_SYMBOL void
 meta_workspace_add_window (MetaWorkspace *workspace,
                            MetaWindow    *window)
@@ -369,7 +359,7 @@
    */
   meta_window_queue (window, META_QUEUE_CALC_SHOWING|META_QUEUE_MOVE_RESIZE);
 
-  clutter_threads_add_timeout (20, (GSourceFunc) emit_window_added, window);
+  g_signal_emit (workspace, signals[WINDOW_ADDED], 0, window);
   g_object_notify (G_OBJECT (workspace), "n-windows");
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/muffin-4.2.2/src/meta/prefs.h 
new/muffin-4.4.1/src/meta/prefs.h
--- old/muffin-4.2.2/src/meta/prefs.h   2019-07-25 10:27:05.000000000 +0200
+++ new/muffin-4.4.1/src/meta/prefs.h   2019-11-22 10:46:43.000000000 +0100
@@ -84,7 +84,8 @@
   META_PREF_BACKGROUND_TRANSITION,
   META_PREF_MIN_WIN_OPACITY,
   META_PREF_MOUSE_ZOOM_ENABLED,
-  META_PREF_MOUSE_BUTTON_ZOOM_MODS
+  META_PREF_MOUSE_BUTTON_ZOOM_MODS,
+  META_PREF_UI_SCALE
 } MetaPreference;
 
 typedef void (* MetaPrefsChangedFunc) (MetaPreference pref,
@@ -184,6 +185,8 @@
 
 gint meta_prefs_get_ui_scale (void);
 
+void meta_prefs_set_ui_scale (int ui_scale);
+
 /* XXX FIXME This should be x-macroed, but isn't yet because it would be
  * difficult (or perhaps impossible) to add the suffixes using the current
  * system.  It needs some more thought, perhaps after the current system
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/muffin-4.2.2/src/ui/theme-parser.c 
new/muffin-4.4.1/src/ui/theme-parser.c
--- old/muffin-4.2.2/src/ui/theme-parser.c      2019-07-25 10:27:05.000000000 
+0200
+++ new/muffin-4.4.1/src/ui/theme-parser.c      2019-11-22 10:46:43.000000000 
+0100
@@ -1657,6 +1657,11 @@
   env.title_width = 0;
   env.title_height = 0;
 
+  env.icon_width = 0;
+  env.icon_height = 0;
+  env.mini_icon_width = 0;
+  env.mini_icon_height = 0;
+
   env.theme = theme;
 
   if (!meta_parse_position_expression (tokens, n_tokens,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/muffin-4.2.2/src/ui/theme-private.h 
new/muffin-4.4.1/src/ui/theme-private.h
--- old/muffin-4.2.2/src/ui/theme-private.h     2019-07-25 10:27:05.000000000 
+0200
+++ new/muffin-4.4.1/src/ui/theme-private.h     2019-11-22 10:46:43.000000000 
+0100
@@ -891,6 +891,10 @@
   GQuark quark_right_width;
   GQuark quark_top_height;
   GQuark quark_bottom_height;
+  GQuark quark_mini_icon_width;
+  GQuark quark_mini_icon_height;
+  GQuark quark_icon_width;
+  GQuark quark_icon_height;
   GQuark quark_title_width;
   GQuark quark_title_height;
   GQuark quark_frame_x_center;
@@ -912,6 +916,10 @@
   int title_height;
   int frame_x_center;
   int frame_y_center;
+  int mini_icon_width;
+  int mini_icon_height;
+  int icon_width;
+  int icon_height;
   /* Theme so we can look up constants */
   MetaTheme *theme;
 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/muffin-4.2.2/src/ui/theme.c 
new/muffin-4.4.1/src/ui/theme.c
--- old/muffin-4.2.2/src/ui/theme.c     2019-07-25 10:27:05.000000000 +0200
+++ new/muffin-4.4.1/src/ui/theme.c     2019-11-22 10:46:43.000000000 +0100
@@ -2406,6 +2406,14 @@
         *result = env->top_height;
       else if (t->d.v.name_quark == env->theme->quark_bottom_height)
         *result = env->bottom_height;
+      else if (t->d.v.name_quark == env->theme->quark_mini_icon_width)
+        *result = env->mini_icon_width;
+      else if (t->d.v.name_quark == env->theme->quark_mini_icon_height)
+        *result = env->mini_icon_height;
+      else if (t->d.v.name_quark == env->theme->quark_icon_width)
+        *result = env->icon_width;
+      else if (t->d.v.name_quark == env->theme->quark_icon_height)
+        *result = env->icon_height;
       else if (t->d.v.name_quark == env->theme->quark_title_width)
         *result = env->title_width;
       else if (t->d.v.name_quark == env->theme->quark_title_height)
@@ -2443,6 +2451,14 @@
         *result = env->top_height;
       else if (strcmp (t->d.v.name, "bottom_height") == 0)
         *result = env->bottom_height;
+      else if (strcmp (t->d.v.name, "mini_icon_width") == 0)
+        *result = env->mini_icon_width;
+      else if (strcmp (t->d.v.name, "mini_icon_height") == 0)
+        *result = env->mini_icon_height;
+      else if (strcmp (t->d.v.name, "icon_width") == 0)
+        *result = env->icon_width;
+      else if (strcmp (t->d.v.name, "icon_height") == 0)
+        *result = env->icon_height;
       else if (strcmp (t->d.v.name, "title_width") == 0)
         *result = env->title_width;
       else if (strcmp (t->d.v.name, "title_height") == 0)
@@ -3575,7 +3591,8 @@
     case META_DRAW_GTK_BOX:
     case META_DRAW_GTK_VLINE:
       break;
-
+    case META_DRAW_ICON:
+      break;
     case META_DRAW_TITLE:
       break;
 
@@ -3618,6 +3635,16 @@
       env->frame_y_center = 0;
     }
 
+#define META_ICON_WIDTH 32
+#define META_ICON_HEIGHT 32
+#define META_MINI_ICON_WIDTH 16
+#define META_MINI_ICON_HEIGHT 16
+
+  env->mini_icon_width = META_MINI_ICON_WIDTH;
+  env->mini_icon_height = META_MINI_ICON_HEIGHT;
+  env->icon_width = META_ICON_WIDTH;
+  env->icon_height = META_ICON_HEIGHT;
+
   env->title_width = info->title_layout_width;
   env->title_height = info->title_layout_height;
   env->theme = meta_current_theme;
@@ -5200,6 +5227,10 @@
   theme->quark_right_width = g_quark_from_static_string ("right_width");
   theme->quark_top_height = g_quark_from_static_string ("top_height");
   theme->quark_bottom_height = g_quark_from_static_string ("bottom_height");
+  theme->quark_mini_icon_width = g_quark_from_static_string 
("mini_icon_width");
+  theme->quark_mini_icon_height = g_quark_from_static_string 
("mini_icon_height");
+  theme->quark_icon_width = g_quark_from_static_string ("icon_width");
+  theme->quark_icon_height = g_quark_from_static_string ("icon_height");
   theme->quark_title_width = g_quark_from_static_string ("title_width");
   theme->quark_title_height = g_quark_from_static_string ("title_height");
   theme->quark_frame_x_center = g_quark_from_static_string ("frame_x_center");


Reply via email to