[metacity] libmetacity: rename MetaButtonFunction to MetaButtonType



commit eee199e3b7ce87cbd08b4b6e4c9c55c804c6ff5f
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date:   Wed Aug 17 16:21:11 2016 +0300

    libmetacity: rename MetaButtonFunction to MetaButtonType
    
    Name `function` is used inside Metacity theme. Rename existing
    MetaButtonType to MetaButtonFunction and MetaButtonFunction to
    MetaButtonType.

 libmetacity/Makefile.am                            |    5 +-
 libmetacity/meta-button-enums.h                    |   17 +
 libmetacity/meta-button-function.c                 |   95 ------
 libmetacity/meta-button-layout.c                   |  102 +++++--
 libmetacity/meta-button-layout.h                   |   10 +-
 ...eta-button-function.h => meta-button-private.h} |   44 +--
 libmetacity/meta-button-type-private.h             |   52 ---
 libmetacity/meta-frame-style-private.h             |    6 +-
 libmetacity/meta-frame-style.c                     |   84 +++---
 libmetacity/meta-theme-gtk.c                       |  100 +++---
 libmetacity/meta-theme-impl-private.h              |    8 +-
 libmetacity/meta-theme-impl.c                      |   32 +-
 libmetacity/meta-theme-metacity-private.h          |    4 +-
 libmetacity/meta-theme-metacity.c                  |  342 ++++++++++----------
 libmetacity/meta-theme.c                           |    6 +-
 libmetacity/meta-theme.h                           |    8 +-
 src/ui/frames.c                                    |   30 +-
 theme-viewer/theme-viewer-window.c                 |    6 +-
 18 files changed, 434 insertions(+), 517 deletions(-)
---
diff --git a/libmetacity/Makefile.am b/libmetacity/Makefile.am
index b355067..ed252d5 100644
--- a/libmetacity/Makefile.am
+++ b/libmetacity/Makefile.am
@@ -4,11 +4,9 @@ lib_LTLIBRARIES = libmetacity.la
 
 libmetacity_la_SOURCES = \
        meta-button-enums.h \
-       meta-button-function.c \
-       meta-button-function.h \
        meta-button-layout.c \
        meta-button-layout.h \
-       meta-button-type-private.h \
+       meta-button-private.h \
        meta-color.c \
        meta-color.h \
        meta-color-private.h \
@@ -72,7 +70,6 @@ libmetacity_la_LIBADD = \
 libmetacity_includedir = $(includedir)/metacity/libmetacity
 libmetacity_include_HEADERS = \
        meta-button-enums.h \
-       meta-button-function.h \
        meta-button-layout.h \
        meta-color.h \
        meta-enum-types.h \
diff --git a/libmetacity/meta-button-enums.h b/libmetacity/meta-button-enums.h
index fe57829..4ef4505 100644
--- a/libmetacity/meta-button-enums.h
+++ b/libmetacity/meta-button-enums.h
@@ -1,5 +1,6 @@
 /*
  * Copyright (C) 2001 Havoc Pennington
+ * Copyright (C) 2016 Alberts Muktupāvels
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -24,6 +25,22 @@ G_BEGIN_DECLS
 
 typedef enum
 {
+  META_BUTTON_TYPE_MENU,
+  META_BUTTON_TYPE_APPMENU,
+  META_BUTTON_TYPE_MINIMIZE,
+  META_BUTTON_TYPE_MAXIMIZE,
+  META_BUTTON_TYPE_CLOSE,
+  META_BUTTON_TYPE_SHADE,
+  META_BUTTON_TYPE_UNSHADE,
+  META_BUTTON_TYPE_ABOVE,
+  META_BUTTON_TYPE_UNABOVE,
+  META_BUTTON_TYPE_STICK,
+  META_BUTTON_TYPE_UNSTICK,
+  META_BUTTON_TYPE_LAST
+} MetaButtonType;
+
+typedef enum
+{
   META_BUTTON_STATE_NORMAL,
   META_BUTTON_STATE_PRESSED,
   META_BUTTON_STATE_PRELIGHT,
diff --git a/libmetacity/meta-button-layout.c b/libmetacity/meta-button-layout.c
index fc29910..80be75f 100644
--- a/libmetacity/meta-button-layout.c
+++ b/libmetacity/meta-button-layout.c
@@ -20,33 +20,95 @@
 
 #include "meta-button-layout.h"
 
+static MetaButtonType
+meta_button_type_from_string (const gchar *str)
+{
+  if (g_strcmp0 (str, "menu") == 0)
+    return META_BUTTON_TYPE_MENU;
+  else if (g_strcmp0 (str, "appmenu") == 0)
+    return META_BUTTON_TYPE_APPMENU;
+  else if (g_strcmp0 (str, "minimize") == 0)
+    return META_BUTTON_TYPE_MINIMIZE;
+  else if (g_strcmp0 (str, "maximize") == 0)
+    return META_BUTTON_TYPE_MAXIMIZE;
+  else if (g_strcmp0 (str, "close") == 0)
+    return META_BUTTON_TYPE_CLOSE;
+  else if (g_strcmp0 (str, "shade") == 0)
+    return META_BUTTON_TYPE_SHADE;
+  else if (g_strcmp0 (str, "unshade") == 0)
+    return META_BUTTON_TYPE_UNSHADE;
+  else if (g_strcmp0 (str, "above") == 0)
+    return META_BUTTON_TYPE_ABOVE;
+  else if (g_strcmp0 (str, "unabove") == 0)
+    return META_BUTTON_TYPE_UNABOVE;
+  else if (g_strcmp0 (str, "stick") == 0)
+    return META_BUTTON_TYPE_STICK;
+  else if (g_strcmp0 (str, "unstick") == 0)
+    return META_BUTTON_TYPE_UNSTICK;
+
+  return META_BUTTON_TYPE_LAST;
+}
+
+static MetaButtonType
+meta_button_type_get_opposite (MetaButtonType type)
+{
+  switch (type)
+    {
+      case META_BUTTON_TYPE_SHADE:
+        return META_BUTTON_TYPE_UNSHADE;
+      case META_BUTTON_TYPE_UNSHADE:
+        return META_BUTTON_TYPE_SHADE;
+
+      case META_BUTTON_TYPE_ABOVE:
+        return META_BUTTON_TYPE_UNABOVE;
+      case META_BUTTON_TYPE_UNABOVE:
+        return META_BUTTON_TYPE_ABOVE;
+
+      case META_BUTTON_TYPE_STICK:
+        return META_BUTTON_TYPE_UNSTICK;
+      case META_BUTTON_TYPE_UNSTICK:
+        return META_BUTTON_TYPE_STICK;
+
+      case META_BUTTON_TYPE_MENU:
+      case META_BUTTON_TYPE_APPMENU:
+      case META_BUTTON_TYPE_MINIMIZE:
+      case META_BUTTON_TYPE_MAXIMIZE:
+      case META_BUTTON_TYPE_CLOSE:
+      case META_BUTTON_TYPE_LAST:
+        return META_BUTTON_TYPE_LAST;
+
+      default:
+        return META_BUTTON_TYPE_LAST;
+    }
+}
+
 static void
 meta_button_layout_init (MetaButtonLayout *layout)
 {
   gint i;
 
-  for (i = 0; i < META_BUTTON_FUNCTION_LAST; i++)
+  for (i = 0; i < META_BUTTON_TYPE_LAST; i++)
     {
-      layout->left_buttons[i] = META_BUTTON_FUNCTION_LAST;
+      layout->left_buttons[i] = META_BUTTON_TYPE_LAST;
       layout->left_buttons_has_spacer[i] = FALSE;
 
-      layout->right_buttons[i] = META_BUTTON_FUNCTION_LAST;
+      layout->right_buttons[i] = META_BUTTON_TYPE_LAST;
       layout->right_buttons_has_spacer[i] = FALSE;
     }
 }
 
 static void
-string_to_buttons (const gchar        *str,
-                   MetaButtonFunction  side_buttons[META_BUTTON_FUNCTION_LAST],
-                   gboolean            side_has_spacer[META_BUTTON_FUNCTION_LAST])
+string_to_buttons (const gchar    *str,
+                   MetaButtonType  side_buttons[META_BUTTON_TYPE_LAST],
+                   gboolean        side_has_spacer[META_BUTTON_TYPE_LAST])
 {
   gint i;
   gint b;
-  gboolean used[META_BUTTON_FUNCTION_LAST];
+  gboolean used[META_BUTTON_TYPE_LAST];
   gchar **buttons;
 
   i = 0;
-  while (i < META_BUTTON_FUNCTION_LAST)
+  while (i < META_BUTTON_TYPE_LAST)
     used[i++] = FALSE;
 
   buttons = g_strsplit (str, ",", -1);
@@ -54,29 +116,29 @@ string_to_buttons (const gchar        *str,
   i = b = 0;
   while (buttons[b] != NULL)
     {
-      MetaButtonFunction f;
+      MetaButtonType type;
 
-      f = meta_button_function_from_string (buttons[b]);
+      type = meta_button_type_from_string (buttons[b]);
 
       if (i > 0 && g_strcmp0 ("spacer", buttons[b]) == 0)
         {
           side_has_spacer[i - 1] = TRUE;
 
-          f = meta_button_function_get_opposite (f);
-          if (f != META_BUTTON_FUNCTION_LAST)
+          type = meta_button_type_get_opposite (type);
+          if (type != META_BUTTON_TYPE_LAST)
             side_has_spacer[i - 2] = TRUE;
         }
       else
         {
-          if (f != META_BUTTON_FUNCTION_LAST && !used[f])
+          if (type != META_BUTTON_TYPE_LAST && !used[type])
             {
-              side_buttons[i] = f;
-              used[f] = TRUE;
+              side_buttons[i] = type;
+              used[type] = TRUE;
               i++;
 
-              f = meta_button_function_get_opposite (f);
-              if (f != META_BUTTON_FUNCTION_LAST)
-                side_buttons[i++] = f;
+              type = meta_button_type_get_opposite (type);
+              if (type != META_BUTTON_TYPE_LAST)
+                side_buttons[i++] = type;
             }
           else
             {
@@ -124,7 +186,7 @@ meta_button_layout_new (const gchar *str,
   meta_button_layout_init (&rtl_layout);
 
   i = 0;
-  while (rtl_layout.left_buttons[i] != META_BUTTON_FUNCTION_LAST)
+  while (rtl_layout.left_buttons[i] != META_BUTTON_TYPE_LAST)
     i++;
 
   for (j = 0; j < i; j++)
@@ -138,7 +200,7 @@ meta_button_layout_new (const gchar *str,
     }
 
   i = 0;
-  while (rtl_layout.left_buttons[i] != META_BUTTON_FUNCTION_LAST)
+  while (rtl_layout.left_buttons[i] != META_BUTTON_TYPE_LAST)
     i++;
 
   for (j = 0; j < i; j++)
diff --git a/libmetacity/meta-button-layout.h b/libmetacity/meta-button-layout.h
index 434d5a7..d6b0695 100644
--- a/libmetacity/meta-button-layout.h
+++ b/libmetacity/meta-button-layout.h
@@ -19,19 +19,19 @@
 #ifndef META_BUTTON_LAYOUT_H
 #define META_BUTTON_LAYOUT_H
 
-#include <libmetacity/meta-button-function.h>
+#include <libmetacity/meta-button-enums.h>
 
 G_BEGIN_DECLS
 
 typedef struct
 {
   /* buttons in the group on the left side */
-  MetaButtonFunction left_buttons[META_BUTTON_FUNCTION_LAST];
-  gboolean left_buttons_has_spacer[META_BUTTON_FUNCTION_LAST];
+  MetaButtonType left_buttons[META_BUTTON_TYPE_LAST];
+  gboolean left_buttons_has_spacer[META_BUTTON_TYPE_LAST];
 
   /* buttons in the group on the right side */
-  MetaButtonFunction right_buttons[META_BUTTON_FUNCTION_LAST];
-  gboolean right_buttons_has_spacer[META_BUTTON_FUNCTION_LAST];
+  MetaButtonType right_buttons[META_BUTTON_TYPE_LAST];
+  gboolean right_buttons_has_spacer[META_BUTTON_TYPE_LAST];
 } MetaButtonLayout;
 
 MetaButtonLayout meta_button_layout_new (const gchar *str,
diff --git a/libmetacity/meta-button-function.h b/libmetacity/meta-button-private.h
similarity index 62%
rename from libmetacity/meta-button-function.h
rename to libmetacity/meta-button-private.h
index 30ae6c9..d6e2ec6 100644
--- a/libmetacity/meta-button-function.h
+++ b/libmetacity/meta-button-private.h
@@ -1,6 +1,5 @@
 /*
  * Copyright (C) 2001 Havoc Pennington
- * Copyright (C) 2016 Alberts Muktupāvels
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -16,49 +15,38 @@
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef META_BUTTON_FUNCTION_H
-#define META_BUTTON_FUNCTION_H
+#ifndef META_BUTTON_PRIVATE_H
+#define META_BUTTON_PRIVATE_H
 
 #include <glib.h>
 
 G_BEGIN_DECLS
 
-/**
- * MetaButtonFunction:
- * @META_BUTTON_FUNCTION_MENU:
- * @META_BUTTON_FUNCTION_APPMENU:
- * @META_BUTTON_FUNCTION_MINIMIZE:
- * @META_BUTTON_FUNCTION_MAXIMIZE:
- * @META_BUTTON_FUNCTION_CLOSE:
- * @META_BUTTON_FUNCTION_SHADE:
- * @META_BUTTON_FUNCTION_UNSHADE:
- * @META_BUTTON_FUNCTION_ABOVE:
- * @META_BUTTON_FUNCTION_UNABOVE:
- * @META_BUTTON_FUNCTION_STICK:
- * @META_BUTTON_FUNCTION_UNSTICK:
- * @META_BUTTON_FUNCTION_LAST:
- *
- */
 typedef enum
 {
+  /* Ordered so that background is drawn first */
+  META_BUTTON_FUNCTION_LEFT_LEFT_BACKGROUND,
+  META_BUTTON_FUNCTION_LEFT_MIDDLE_BACKGROUND,
+  META_BUTTON_FUNCTION_LEFT_RIGHT_BACKGROUND,
+  META_BUTTON_FUNCTION_LEFT_SINGLE_BACKGROUND,
+  META_BUTTON_FUNCTION_RIGHT_LEFT_BACKGROUND,
+  META_BUTTON_FUNCTION_RIGHT_MIDDLE_BACKGROUND,
+  META_BUTTON_FUNCTION_RIGHT_RIGHT_BACKGROUND,
+  META_BUTTON_FUNCTION_RIGHT_SINGLE_BACKGROUND,
+  META_BUTTON_FUNCTION_CLOSE,
+  META_BUTTON_FUNCTION_MAXIMIZE,
+  META_BUTTON_FUNCTION_MINIMIZE,
   META_BUTTON_FUNCTION_MENU,
   META_BUTTON_FUNCTION_APPMENU,
-  META_BUTTON_FUNCTION_MINIMIZE,
-  META_BUTTON_FUNCTION_MAXIMIZE,
-  META_BUTTON_FUNCTION_CLOSE,
   META_BUTTON_FUNCTION_SHADE,
-  META_BUTTON_FUNCTION_UNSHADE,
   META_BUTTON_FUNCTION_ABOVE,
-  META_BUTTON_FUNCTION_UNABOVE,
   META_BUTTON_FUNCTION_STICK,
+  META_BUTTON_FUNCTION_UNSHADE,
+  META_BUTTON_FUNCTION_UNABOVE,
   META_BUTTON_FUNCTION_UNSTICK,
   META_BUTTON_FUNCTION_LAST
 } MetaButtonFunction;
 
-MetaButtonFunction meta_button_function_from_string  (const gchar        *str);
-
-MetaButtonFunction meta_button_function_get_opposite (MetaButtonFunction  function);
-
 G_END_DECLS
 
 #endif
diff --git a/libmetacity/meta-frame-style-private.h b/libmetacity/meta-frame-style-private.h
index 01d2489..f3351b3 100644
--- a/libmetacity/meta-frame-style-private.h
+++ b/libmetacity/meta-frame-style-private.h
@@ -20,7 +20,7 @@
 #define META_FRAME_STYLE_PRIVATE_H
 
 #include "meta-button-enums.h"
-#include "meta-button-type-private.h"
+#include "meta-button-private.h"
 #include "meta-color-spec-private.h"
 #include "meta-draw-op-private.h"
 #include "meta-frame-enums.h"
@@ -46,7 +46,7 @@ struct _MetaFrameStyle
    */
   MetaFrameStyle *parent;
   /** Operations for drawing each kind of button in each state. */
-  MetaDrawOpList *buttons[META_BUTTON_TYPE_LAST][META_BUTTON_STATE_LAST];
+  MetaDrawOpList *buttons[META_BUTTON_FUNCTION_LAST][META_BUTTON_STATE_LAST];
   /** Operations for drawing each piece of the frame. */
   MetaDrawOpList *pieces[META_FRAME_PIECE_LAST];
   /**
@@ -106,7 +106,7 @@ gboolean           meta_frame_style_validate      (MetaFrameStyle     *style,
 
 G_GNUC_INTERNAL
 MetaDrawOpList    *meta_frame_style_get_button    (MetaFrameStyle     *style,
-                                                   MetaButtonType      type,
+                                                   MetaButtonFunction  function,
                                                    MetaButtonState     state);
 
 G_GNUC_INTERNAL
diff --git a/libmetacity/meta-frame-style.c b/libmetacity/meta-frame-style.c
index e120b6a..d2aaa3e 100644
--- a/libmetacity/meta-frame-style.c
+++ b/libmetacity/meta-frame-style.c
@@ -98,11 +98,11 @@ meta_frame_focus_to_string (MetaFrameFocus focus)
 }
 
 static void
-free_button_ops (MetaDrawOpList *op_lists[META_BUTTON_TYPE_LAST][META_BUTTON_STATE_LAST])
+free_button_ops (MetaDrawOpList *op_lists[META_BUTTON_FUNCTION_LAST][META_BUTTON_STATE_LAST])
 {
   int i, j;
 
-  for (i = 0; i < META_BUTTON_TYPE_LAST; i++)
+  for (i = 0; i < META_BUTTON_FUNCTION_LAST; i++)
     {
       for (j = 0; j < META_BUTTON_STATE_LAST; j++)
         {
@@ -153,49 +153,49 @@ check_state  (MetaFrameStyleSet  *style_set,
 }
 
 static const char*
-meta_button_type_to_string (MetaButtonType type)
+meta_button_function_to_string (MetaButtonFunction function)
 {
-  switch (type)
+  switch (function)
     {
-      case META_BUTTON_TYPE_CLOSE:
+      case META_BUTTON_FUNCTION_CLOSE:
         return "close";
-      case META_BUTTON_TYPE_MAXIMIZE:
+      case META_BUTTON_FUNCTION_MAXIMIZE:
         return "maximize";
-      case META_BUTTON_TYPE_MINIMIZE:
+      case META_BUTTON_FUNCTION_MINIMIZE:
         return "minimize";
-      case META_BUTTON_TYPE_SHADE:
+      case META_BUTTON_FUNCTION_SHADE:
        return "shade";
-      case META_BUTTON_TYPE_ABOVE:
+      case META_BUTTON_FUNCTION_ABOVE:
         return "above";
-      case META_BUTTON_TYPE_STICK:
+      case META_BUTTON_FUNCTION_STICK:
         return "stick";
-      case META_BUTTON_TYPE_UNSHADE:
+      case META_BUTTON_FUNCTION_UNSHADE:
         return "unshade";
-      case META_BUTTON_TYPE_UNABOVE:
+      case META_BUTTON_FUNCTION_UNABOVE:
         return "unabove";
-      case META_BUTTON_TYPE_UNSTICK:
+      case META_BUTTON_FUNCTION_UNSTICK:
         return "unstick";
-      case META_BUTTON_TYPE_MENU:
+      case META_BUTTON_FUNCTION_MENU:
         return "menu";
-      case META_BUTTON_TYPE_APPMENU:
+      case META_BUTTON_FUNCTION_APPMENU:
         return "appmenu";
-      case META_BUTTON_TYPE_LEFT_LEFT_BACKGROUND:
+      case META_BUTTON_FUNCTION_LEFT_LEFT_BACKGROUND:
         return "left_left_background";
-      case META_BUTTON_TYPE_LEFT_MIDDLE_BACKGROUND:
+      case META_BUTTON_FUNCTION_LEFT_MIDDLE_BACKGROUND:
         return "left_middle_background";
-      case META_BUTTON_TYPE_LEFT_RIGHT_BACKGROUND:
+      case META_BUTTON_FUNCTION_LEFT_RIGHT_BACKGROUND:
         return "left_right_background";
-      case META_BUTTON_TYPE_LEFT_SINGLE_BACKGROUND:
+      case META_BUTTON_FUNCTION_LEFT_SINGLE_BACKGROUND:
         return "left_single_background";
-      case META_BUTTON_TYPE_RIGHT_LEFT_BACKGROUND:
+      case META_BUTTON_FUNCTION_RIGHT_LEFT_BACKGROUND:
         return "right_left_background";
-      case META_BUTTON_TYPE_RIGHT_MIDDLE_BACKGROUND:
+      case META_BUTTON_FUNCTION_RIGHT_MIDDLE_BACKGROUND:
         return "right_middle_background";
-      case META_BUTTON_TYPE_RIGHT_RIGHT_BACKGROUND:
+      case META_BUTTON_FUNCTION_RIGHT_RIGHT_BACKGROUND:
         return "right_right_background";
-      case META_BUTTON_TYPE_RIGHT_SINGLE_BACKGROUND:
+      case META_BUTTON_FUNCTION_RIGHT_SINGLE_BACKGROUND:
         return "right_single_background";
-      case META_BUTTON_TYPE_LAST:
+      case META_BUTTON_FUNCTION_LAST:
         break;
       default:
         break;
@@ -308,10 +308,10 @@ meta_frame_style_validate (MetaFrameStyle  *style,
   g_return_val_if_fail (style != NULL, FALSE);
   g_return_val_if_fail (style->layout != NULL, FALSE);
 
-  for (i = 0; i < META_BUTTON_TYPE_LAST; i++)
+  for (i = 0; i < META_BUTTON_FUNCTION_LAST; i++)
     {
       /* for now the "positional" buttons are optional */
-      if (i >= META_BUTTON_TYPE_CLOSE)
+      if (i >= META_BUTTON_FUNCTION_CLOSE)
         {
           for (j = 0; j < META_BUTTON_STATE_LAST; j++)
             {
@@ -324,7 +324,7 @@ meta_frame_style_validate (MetaFrameStyle  *style,
                 {
                   g_set_error (error, META_THEME_ERROR, META_THEME_ERROR_FAILED,
                                _("<button function='%s' state='%s' draw_ops='whatever'/> must be specified 
for this frame style"),
-                               meta_button_type_to_string (i),
+                               meta_button_function_to_string (i),
                                meta_button_state_to_string (j));
                   return FALSE;
                 }
@@ -336,9 +336,9 @@ meta_frame_style_validate (MetaFrameStyle  *style,
 }
 
 MetaDrawOpList *
-meta_frame_style_get_button (MetaFrameStyle  *style,
-                             MetaButtonType   type,
-                             MetaButtonState  state)
+meta_frame_style_get_button (MetaFrameStyle     *style,
+                             MetaButtonFunction  function,
+                             MetaButtonState     state)
 {
   MetaDrawOpList *op_list;
   MetaFrameStyle *parent;
@@ -348,7 +348,7 @@ meta_frame_style_get_button (MetaFrameStyle  *style,
 
   while (parent && op_list == NULL)
     {
-      op_list = parent->buttons[type][state];
+      op_list = parent->buttons[function][state];
       parent = parent->parent;
     }
 
@@ -357,41 +357,41 @@ meta_frame_style_get_button (MetaFrameStyle  *style,
    * backgrounds if we don't have the ones on the sides
    */
 
-  if (op_list == NULL && type == META_BUTTON_TYPE_LEFT_SINGLE_BACKGROUND)
+  if (op_list == NULL && function == META_BUTTON_FUNCTION_LEFT_SINGLE_BACKGROUND)
     {
       return meta_frame_style_get_button (style,
-                                          META_BUTTON_TYPE_LEFT_LEFT_BACKGROUND,
+                                          META_BUTTON_FUNCTION_LEFT_LEFT_BACKGROUND,
                                           state);
     }
 
-  if (op_list == NULL && type == META_BUTTON_TYPE_RIGHT_SINGLE_BACKGROUND)
+  if (op_list == NULL && function == META_BUTTON_FUNCTION_RIGHT_SINGLE_BACKGROUND)
     {
       return meta_frame_style_get_button (style,
-                                          META_BUTTON_TYPE_RIGHT_RIGHT_BACKGROUND,
+                                          META_BUTTON_FUNCTION_RIGHT_RIGHT_BACKGROUND,
                                           state);
     }
 
   if (op_list == NULL &&
-      (type == META_BUTTON_TYPE_LEFT_LEFT_BACKGROUND ||
-       type == META_BUTTON_TYPE_LEFT_RIGHT_BACKGROUND))
+      (function == META_BUTTON_FUNCTION_LEFT_LEFT_BACKGROUND ||
+       function == META_BUTTON_FUNCTION_LEFT_RIGHT_BACKGROUND))
     {
       return meta_frame_style_get_button (style,
-                                          META_BUTTON_TYPE_LEFT_MIDDLE_BACKGROUND,
+                                          META_BUTTON_FUNCTION_LEFT_MIDDLE_BACKGROUND,
                                           state);
     }
 
   if (op_list == NULL &&
-      (type == META_BUTTON_TYPE_RIGHT_LEFT_BACKGROUND ||
-       type == META_BUTTON_TYPE_RIGHT_RIGHT_BACKGROUND))
+      (function == META_BUTTON_FUNCTION_RIGHT_LEFT_BACKGROUND ||
+       function == META_BUTTON_FUNCTION_RIGHT_RIGHT_BACKGROUND))
     {
       return meta_frame_style_get_button (style,
-                                          META_BUTTON_TYPE_RIGHT_MIDDLE_BACKGROUND,
+                                          META_BUTTON_FUNCTION_RIGHT_MIDDLE_BACKGROUND,
                                           state);
     }
 
   /* We fall back to normal if no prelight */
   if (op_list == NULL && state == META_BUTTON_STATE_PRELIGHT)
-    return meta_frame_style_get_button (style, type, META_BUTTON_STATE_NORMAL);
+    return meta_frame_style_get_button (style, function, META_BUTTON_STATE_NORMAL);
 
   return op_list;
 }
diff --git a/libmetacity/meta-theme-gtk.c b/libmetacity/meta-theme-gtk.c
index 9fcf25b..a61b862 100644
--- a/libmetacity/meta-theme-gtk.c
+++ b/libmetacity/meta-theme-gtk.c
@@ -289,79 +289,79 @@ meta_theme_gtk_get_frame_borders (MetaThemeImpl    *impl,
 }
 
 static MetaButtonSpace *
-rect_for_function (MetaFrameGeometry  *fgeom,
-                   MetaFrameFlags      flags,
-                   MetaButtonFunction  function)
+rect_for_type (MetaFrameGeometry *fgeom,
+               MetaFrameFlags     flags,
+               MetaButtonType     type)
 {
-  switch (function)
+  switch (type)
     {
-      case META_BUTTON_FUNCTION_MENU:
+      case META_BUTTON_TYPE_MENU:
         if (flags & META_FRAME_ALLOWS_MENU)
           return &fgeom->menu_rect;
         else
           return NULL;
 
-      case META_BUTTON_FUNCTION_APPMENU:
+      case META_BUTTON_TYPE_APPMENU:
         if (flags & META_FRAME_ALLOWS_APPMENU)
           return &fgeom->appmenu_rect;
         else
           return NULL;
 
-      case META_BUTTON_FUNCTION_MINIMIZE:
+      case META_BUTTON_TYPE_MINIMIZE:
         if (flags & META_FRAME_ALLOWS_MINIMIZE)
           return &fgeom->min_rect;
         else
           return NULL;
 
-      case META_BUTTON_FUNCTION_MAXIMIZE:
+      case META_BUTTON_TYPE_MAXIMIZE:
         if (flags & META_FRAME_ALLOWS_MAXIMIZE)
           return &fgeom->max_rect;
         else
           return NULL;
 
-      case META_BUTTON_FUNCTION_CLOSE:
+      case META_BUTTON_TYPE_CLOSE:
         if (flags & META_FRAME_ALLOWS_DELETE)
           return &fgeom->close_rect;
         else
           return NULL;
 
-      case META_BUTTON_FUNCTION_SHADE:
+      case META_BUTTON_TYPE_SHADE:
         if ((flags & META_FRAME_ALLOWS_SHADE) && !(flags & META_FRAME_SHADED))
           return &fgeom->shade_rect;
         else
           return NULL;
 
-      case META_BUTTON_FUNCTION_ABOVE:
+      case META_BUTTON_TYPE_ABOVE:
         if (!(flags & META_FRAME_ABOVE))
           return &fgeom->above_rect;
         else
           return NULL;
 
-      case META_BUTTON_FUNCTION_STICK:
+      case META_BUTTON_TYPE_STICK:
         if (!(flags & META_FRAME_STUCK))
           return &fgeom->stick_rect;
         else
           return NULL;
 
-      case META_BUTTON_FUNCTION_UNSHADE:
+      case META_BUTTON_TYPE_UNSHADE:
         if ((flags & META_FRAME_ALLOWS_SHADE) && (flags & META_FRAME_SHADED))
           return &fgeom->unshade_rect;
         else
           return NULL;
 
-      case META_BUTTON_FUNCTION_UNABOVE:
+      case META_BUTTON_TYPE_UNABOVE:
         if (flags & META_FRAME_ABOVE)
           return &fgeom->unabove_rect;
         else
           return NULL;
 
-      case META_BUTTON_FUNCTION_UNSTICK:
+      case META_BUTTON_TYPE_UNSTICK:
         if (flags & META_FRAME_STUCK)
           return &fgeom->unstick_rect;
         else
           return NULL;
 
-      case META_BUTTON_FUNCTION_LAST:
+      case META_BUTTON_TYPE_LAST:
       default:
         break;
     }
@@ -370,7 +370,7 @@ rect_for_function (MetaFrameGeometry  *fgeom,
 }
 
 static gboolean
-strip_button (MetaButtonSpace *func_rects[META_BUTTON_FUNCTION_LAST],
+strip_button (MetaButtonSpace *func_rects[META_BUTTON_TYPE_LAST],
               int             *n_rects,
               MetaButtonSpace *to_strip)
 {
@@ -428,10 +428,10 @@ meta_theme_gtk_calc_geometry (MetaThemeImpl          *impl,
   /* the left/right rects in order; the max # of rects
    * is the number of button functions
    */
-  MetaButtonSpace *left_func_rects[META_BUTTON_FUNCTION_LAST];
-  MetaButtonSpace *right_func_rects[META_BUTTON_FUNCTION_LAST];
-  gboolean left_buttons_has_spacer[META_BUTTON_FUNCTION_LAST];
-  gboolean right_buttons_has_spacer[META_BUTTON_FUNCTION_LAST];
+  MetaButtonSpace *left_func_rects[META_BUTTON_TYPE_LAST];
+  MetaButtonSpace *right_func_rects[META_BUTTON_TYPE_LAST];
+  gboolean left_buttons_has_spacer[META_BUTTON_TYPE_LAST];
+  gboolean right_buttons_has_spacer[META_BUTTON_TYPE_LAST];
 
   META_THEME_IMPL_GET_CLASS (impl)->get_frame_borders (impl, layout,
                                                        style_info, text_height,
@@ -482,10 +482,10 @@ meta_theme_gtk_calc_geometry (MetaThemeImpl          *impl,
   if (!layout->hide_buttons)
     {
       /* Try to fill in rects */
-      for (i = 0; i < META_BUTTON_FUNCTION_LAST && button_layout->left_buttons[i] != 
META_BUTTON_FUNCTION_LAST; i++)
+      for (i = 0; i < META_BUTTON_TYPE_LAST && button_layout->left_buttons[i] != META_BUTTON_TYPE_LAST; i++)
         {
-          left_func_rects[n_left] = rect_for_function (fgeom, flags,
-                                                       button_layout->left_buttons[i]);
+          left_func_rects[n_left] = rect_for_type (fgeom, flags,
+                                                   button_layout->left_buttons[i]);
           if (left_func_rects[n_left] != NULL)
             {
               left_buttons_has_spacer[n_left] = button_layout->left_buttons_has_spacer[i];
@@ -496,10 +496,10 @@ meta_theme_gtk_calc_geometry (MetaThemeImpl          *impl,
             }
         }
 
-      for (i = 0; i < META_BUTTON_FUNCTION_LAST && button_layout->right_buttons[i] != 
META_BUTTON_FUNCTION_LAST; i++)
+      for (i = 0; i < META_BUTTON_TYPE_LAST && button_layout->right_buttons[i] != META_BUTTON_TYPE_LAST; i++)
         {
-          right_func_rects[n_right] = rect_for_function (fgeom, flags,
-                                                         button_layout->right_buttons[i]);
+          right_func_rects[n_right] = rect_for_type (fgeom, flags,
+                                                     button_layout->right_buttons[i]);
           if (right_func_rects[n_right] != NULL)
             {
               right_buttons_has_spacer[n_right] = button_layout->right_buttons_has_spacer[i];
@@ -721,13 +721,13 @@ meta_theme_gtk_calc_geometry (MetaThemeImpl          *impl,
 }
 
 static const char *
-get_class_from_button_function (MetaButtonFunction function)
+get_class_from_button_type (MetaButtonType type)
 {
-  if (function == META_BUTTON_FUNCTION_CLOSE)
+  if (type == META_BUTTON_TYPE_CLOSE)
     return "close";
-  else if (function == META_BUTTON_FUNCTION_MAXIMIZE)
+  else if (type == META_BUTTON_TYPE_MAXIMIZE)
     return "maximize";
-  else if (function == META_BUTTON_FUNCTION_MINIMIZE)
+  else if (type == META_BUTTON_TYPE_MINIMIZE)
     return "minimize";
 
   return NULL;
@@ -741,14 +741,14 @@ meta_theme_gtk_draw_frame (MetaThemeImpl           *impl,
                            const MetaFrameGeometry *fgeom,
                            PangoLayout             *title_layout,
                            MetaFrameFlags           flags,
-                           MetaButtonState          button_states[META_BUTTON_FUNCTION_LAST],
+                           MetaButtonState          button_states[META_BUTTON_TYPE_LAST],
                            GdkPixbuf               *mini_icon,
                            GdkPixbuf               *icon)
 {
   gdouble scale;
   GtkStyleContext *context;
   GtkStateFlags state;
-  MetaButtonFunction button_function;
+  MetaButtonType button_type;
   MetaRectangleDouble visible_rect;
   MetaRectangleDouble titlebar_rect;
   const MetaFrameBorders *borders;
@@ -828,19 +828,19 @@ meta_theme_gtk_draw_frame (MetaThemeImpl           *impl,
 
   context = meta_style_info_get_style (style_info, META_STYLE_ELEMENT_BUTTON);
   state = gtk_style_context_get_state (context);
-  for (button_function = 0; button_function < META_BUTTON_FUNCTION_LAST; button_function++)
+  for (button_type = 0; button_type < META_BUTTON_TYPE_LAST; button_type++)
     {
       MetaButtonState button_state;
       const char *button_class;
       GdkRectangle tmp_rect;
       MetaRectangleDouble button_rect;
 
-      button_class = get_class_from_button_function (button_function);
+      button_class = get_class_from_button_type (button_type);
 
       if (button_class)
         gtk_style_context_add_class (context, button_class);
 
-      button_state = button_states [button_function];
+      button_state = button_states [button_type];
 
       if (button_state == META_BUTTON_STATE_PRELIGHT)
         gtk_style_context_set_state (context, state | GTK_STATE_PRELIGHT);
@@ -851,7 +851,7 @@ meta_theme_gtk_draw_frame (MetaThemeImpl           *impl,
 
       cairo_save (cr);
 
-      get_button_rect_for_function (button_function, fgeom, &tmp_rect);
+      get_button_rect_for_type (button_type, fgeom, &tmp_rect);
 
       button_rect.x = tmp_rect.x / scale;
       button_rect.y = tmp_rect.y / scale;
@@ -870,33 +870,33 @@ meta_theme_gtk_draw_frame (MetaThemeImpl           *impl,
                             button_rect.x, button_rect.y,
                             button_rect.width, button_rect.height);
 
-          switch (button_function)
+          switch (button_type)
             {
-              case META_BUTTON_FUNCTION_CLOSE:
+              case META_BUTTON_TYPE_CLOSE:
                 icon_name = "window-close-symbolic";
                 break;
-              case META_BUTTON_FUNCTION_MAXIMIZE:
+              case META_BUTTON_TYPE_MAXIMIZE:
                 if (flags & META_FRAME_MAXIMIZED)
                   icon_name = "window-restore-symbolic";
                 else
                   icon_name = "window-maximize-symbolic";
                 break;
-              case META_BUTTON_FUNCTION_MINIMIZE:
+              case META_BUTTON_TYPE_MINIMIZE:
                 icon_name = "window-minimize-symbolic";
                 break;
-              case META_BUTTON_FUNCTION_MENU:
+              case META_BUTTON_TYPE_MENU:
                 icon_name = "open-menu-symbolic";
                 break;
-              case META_BUTTON_FUNCTION_APPMENU:
+              case META_BUTTON_TYPE_APPMENU:
                 pixbuf = g_object_ref (mini_icon);
                 break;
-              case META_BUTTON_FUNCTION_SHADE:
-              case META_BUTTON_FUNCTION_ABOVE:
-              case META_BUTTON_FUNCTION_STICK:
-              case META_BUTTON_FUNCTION_UNSHADE:
-              case META_BUTTON_FUNCTION_UNABOVE:
-              case META_BUTTON_FUNCTION_UNSTICK:
-              case META_BUTTON_FUNCTION_LAST:
+              case META_BUTTON_TYPE_SHADE:
+              case META_BUTTON_TYPE_ABOVE:
+              case META_BUTTON_TYPE_STICK:
+              case META_BUTTON_TYPE_UNSHADE:
+              case META_BUTTON_TYPE_UNABOVE:
+              case META_BUTTON_TYPE_UNSTICK:
+              case META_BUTTON_TYPE_LAST:
               default:
                 icon_name = NULL;
                 break;
diff --git a/libmetacity/meta-theme-impl-private.h b/libmetacity/meta-theme-impl-private.h
index 14d90fd..77b679e 100644
--- a/libmetacity/meta-theme-impl-private.h
+++ b/libmetacity/meta-theme-impl-private.h
@@ -67,7 +67,7 @@ struct _MetaThemeImplClass
                                     const MetaFrameGeometry  *fgeom,
                                     PangoLayout              *title_layout,
                                     MetaFrameFlags            flags,
-                                    MetaButtonState           button_states[META_BUTTON_FUNCTION_LAST],
+                                    MetaButtonState           button_states[META_BUTTON_TYPE_LAST],
                                     GdkPixbuf                *mini_icon,
                                     GdkPixbuf                *icon);
 };
@@ -89,9 +89,9 @@ MetaFrameStyleSet *meta_theme_impl_get_style_set  (MetaThemeImpl           *impl
                                                    MetaFrameType            type);
 
 G_GNUC_INTERNAL
-void               get_button_rect_for_function  (MetaButtonFunction       function,
-                                                  const MetaFrameGeometry *fgeom,
-                                                  GdkRectangle            *rect);
+void               get_button_rect_for_type       (MetaButtonType           type,
+                                                   const MetaFrameGeometry *fgeom,
+                                                   GdkRectangle            *rect);
 
 G_GNUC_INTERNAL
 void               scale_border                   (GtkBorder               *border,
diff --git a/libmetacity/meta-theme-impl.c b/libmetacity/meta-theme-impl.c
index 773392c..ac2735c 100644
--- a/libmetacity/meta-theme-impl.c
+++ b/libmetacity/meta-theme-impl.c
@@ -132,57 +132,57 @@ meta_theme_impl_get_style_set (MetaThemeImpl *impl,
 }
 
 void
-get_button_rect_for_function (MetaButtonFunction       function,
-                              const MetaFrameGeometry *fgeom,
-                              GdkRectangle            *rect)
+get_button_rect_for_type (MetaButtonType           type,
+                          const MetaFrameGeometry *fgeom,
+                          GdkRectangle            *rect)
 {
-  switch (function)
+  switch (type)
     {
-    case META_BUTTON_FUNCTION_CLOSE:
+    case META_BUTTON_TYPE_CLOSE:
       *rect = fgeom->close_rect.visible;
       break;
 
-    case META_BUTTON_FUNCTION_SHADE:
+    case META_BUTTON_TYPE_SHADE:
       *rect = fgeom->shade_rect.visible;
       break;
 
-    case META_BUTTON_FUNCTION_UNSHADE:
+    case META_BUTTON_TYPE_UNSHADE:
       *rect = fgeom->unshade_rect.visible;
       break;
 
-    case META_BUTTON_FUNCTION_ABOVE:
+    case META_BUTTON_TYPE_ABOVE:
       *rect = fgeom->above_rect.visible;
       break;
 
-    case META_BUTTON_FUNCTION_UNABOVE:
+    case META_BUTTON_TYPE_UNABOVE:
       *rect = fgeom->unabove_rect.visible;
       break;
 
-    case META_BUTTON_FUNCTION_STICK:
+    case META_BUTTON_TYPE_STICK:
       *rect = fgeom->stick_rect.visible;
       break;
 
-    case META_BUTTON_FUNCTION_UNSTICK:
+    case META_BUTTON_TYPE_UNSTICK:
       *rect = fgeom->unstick_rect.visible;
       break;
 
-    case META_BUTTON_FUNCTION_MAXIMIZE:
+    case META_BUTTON_TYPE_MAXIMIZE:
       *rect = fgeom->max_rect.visible;
       break;
 
-    case META_BUTTON_FUNCTION_MINIMIZE:
+    case META_BUTTON_TYPE_MINIMIZE:
       *rect = fgeom->min_rect.visible;
       break;
 
-    case META_BUTTON_FUNCTION_MENU:
+    case META_BUTTON_TYPE_MENU:
       *rect = fgeom->menu_rect.visible;
       break;
 
-    case META_BUTTON_FUNCTION_APPMENU:
+    case META_BUTTON_TYPE_APPMENU:
       *rect = fgeom->appmenu_rect.visible;
       break;
 
-    case META_BUTTON_FUNCTION_LAST:
+    case META_BUTTON_TYPE_LAST:
     default:
       g_assert_not_reached ();
       break;
diff --git a/libmetacity/meta-theme-metacity-private.h b/libmetacity/meta-theme-metacity-private.h
index 9b8c830..b6ef59b 100644
--- a/libmetacity/meta-theme-metacity-private.h
+++ b/libmetacity/meta-theme-metacity-private.h
@@ -19,7 +19,7 @@
 #ifndef META_THEME_METACITY_PRIVATE_H
 #define META_THEME_METACITY_PRIVATE_H
 
-#include "meta-button-type-private.h"
+#include "meta-button-private.h"
 #include "meta-theme-impl-private.h"
 
 G_BEGIN_DECLS
@@ -61,7 +61,7 @@ MetaFrameStyleSet *meta_theme_metacity_lookup_style_set    (MetaThemeMetacity  *
                                                             const gchar        *name);
 
 G_GNUC_INTERNAL
-guint              meta_theme_metacity_earliest_version_with_button (MetaButtonType type);
+guint              meta_theme_metacity_earliest_version_with_button (MetaButtonFunction function);
 
 G_END_DECLS
 
diff --git a/libmetacity/meta-theme-metacity.c b/libmetacity/meta-theme-metacity.c
index 51a5d40..df65b7e 100644
--- a/libmetacity/meta-theme-metacity.c
+++ b/libmetacity/meta-theme-metacity.c
@@ -154,7 +154,7 @@ typedef struct
   MetaFrameStyle    *style;          /* frame style being parsed if any */
   MetaFrameStyleSet *style_set;      /* frame style set being parsed if any */
   MetaFramePiece     piece;          /* position of piece being parsed */
-  MetaButtonType     button_type;    /* type of button/menuitem being parsed */
+  MetaButtonFunction button_function; /* type of button/menuitem being parsed */
   MetaButtonState    button_state;   /* state of button being parsed */
 
   gint               skip_level;     /* depth of elements that we're ignoring */
@@ -198,7 +198,7 @@ parse_info_new (MetaThemeMetacity *metacity)
   info->style = NULL;
   info->style_set = NULL;
   info->piece = META_FRAME_PIECE_LAST;
-  info->button_type = META_BUTTON_TYPE_LAST;
+  info->button_function = META_BUTTON_FUNCTION_LAST;
   info->button_state = META_BUTTON_STATE_LAST;
 
   info->skip_level = 0;
@@ -2869,54 +2869,54 @@ meta_button_state_from_string (const char *str)
     return META_BUTTON_STATE_LAST;
 }
 
-static MetaButtonType
-meta_button_type_from_string (MetaThemeMetacity *metacity,
-                              const gchar       *str)
+static MetaButtonFunction
+meta_button_function_from_string (MetaThemeMetacity *metacity,
+                                  const gchar       *str)
 {
   if (theme_allows (metacity, META_THEME_SHADE_STICK_ABOVE_BUTTONS))
     {
       if (strcmp ("shade", str) == 0)
-        return META_BUTTON_TYPE_SHADE;
+        return META_BUTTON_FUNCTION_SHADE;
       else if (strcmp ("above", str) == 0)
-        return META_BUTTON_TYPE_ABOVE;
+        return META_BUTTON_FUNCTION_ABOVE;
       else if (strcmp ("stick", str) == 0)
-        return META_BUTTON_TYPE_STICK;
+        return META_BUTTON_FUNCTION_STICK;
       else if (strcmp ("unshade", str) == 0)
-        return META_BUTTON_TYPE_UNSHADE;
+        return META_BUTTON_FUNCTION_UNSHADE;
       else if (strcmp ("unabove", str) == 0)
-        return META_BUTTON_TYPE_UNABOVE;
+        return META_BUTTON_FUNCTION_UNABOVE;
       else if (strcmp ("unstick", str) == 0)
-        return META_BUTTON_TYPE_UNSTICK;
+        return META_BUTTON_FUNCTION_UNSTICK;
      }
 
   if (strcmp ("close", str) == 0)
-    return META_BUTTON_TYPE_CLOSE;
+    return META_BUTTON_FUNCTION_CLOSE;
   else if (strcmp ("maximize", str) == 0)
-    return META_BUTTON_TYPE_MAXIMIZE;
+    return META_BUTTON_FUNCTION_MAXIMIZE;
   else if (strcmp ("minimize", str) == 0)
-    return META_BUTTON_TYPE_MINIMIZE;
+    return META_BUTTON_FUNCTION_MINIMIZE;
   else if (strcmp ("menu", str) == 0)
-    return META_BUTTON_TYPE_MENU;
+    return META_BUTTON_FUNCTION_MENU;
   else if (strcmp ("appmenu", str) == 0)
-    return META_BUTTON_TYPE_APPMENU;
+    return META_BUTTON_FUNCTION_APPMENU;
   else if (strcmp ("left_left_background", str) == 0)
-    return META_BUTTON_TYPE_LEFT_LEFT_BACKGROUND;
+    return META_BUTTON_FUNCTION_LEFT_LEFT_BACKGROUND;
   else if (strcmp ("left_middle_background", str) == 0)
-    return META_BUTTON_TYPE_LEFT_MIDDLE_BACKGROUND;
+    return META_BUTTON_FUNCTION_LEFT_MIDDLE_BACKGROUND;
   else if (strcmp ("left_right_background", str) == 0)
-    return META_BUTTON_TYPE_LEFT_RIGHT_BACKGROUND;
+    return META_BUTTON_FUNCTION_LEFT_RIGHT_BACKGROUND;
   else if (strcmp ("left_single_background", str) == 0)
-    return META_BUTTON_TYPE_LEFT_SINGLE_BACKGROUND;
+    return META_BUTTON_FUNCTION_LEFT_SINGLE_BACKGROUND;
   else if (strcmp ("right_left_background", str) == 0)
-    return META_BUTTON_TYPE_RIGHT_LEFT_BACKGROUND;
+    return META_BUTTON_FUNCTION_RIGHT_LEFT_BACKGROUND;
   else if (strcmp ("right_middle_background", str) == 0)
-    return META_BUTTON_TYPE_RIGHT_MIDDLE_BACKGROUND;
+    return META_BUTTON_FUNCTION_RIGHT_MIDDLE_BACKGROUND;
   else if (strcmp ("right_right_background", str) == 0)
-    return META_BUTTON_TYPE_RIGHT_RIGHT_BACKGROUND;
+    return META_BUTTON_FUNCTION_RIGHT_RIGHT_BACKGROUND;
   else if (strcmp ("right_single_background", str) == 0)
-    return META_BUTTON_TYPE_RIGHT_SINGLE_BACKGROUND;
+    return META_BUTTON_FUNCTION_RIGHT_SINGLE_BACKGROUND;
   else
-    return META_BUTTON_TYPE_LAST;
+    return META_BUTTON_FUNCTION_LAST;
 }
 
 static MetaFramePiece
@@ -3029,8 +3029,8 @@ parse_style_element (GMarkupParseContext  *context,
                               NULL))
         return;
 
-      info->button_type = meta_button_type_from_string (info->metacity, function);
-      if (info->button_type == META_BUTTON_TYPE_LAST)
+      info->button_function = meta_button_function_from_string (info->metacity, function);
+      if (info->button_function == META_BUTTON_FUNCTION_LAST)
         {
           set_error (error, context, G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
                      _("Unknown function \"%s\" for button"),
@@ -3038,7 +3038,7 @@ parse_style_element (GMarkupParseContext  *context,
           return;
         }
 
-      earliest_version = meta_theme_metacity_earliest_version_with_button (info->button_type);
+      earliest_version = meta_theme_metacity_earliest_version_with_button (info->button_function);
       required_version = peek_required_version (info);
 
       if (earliest_version > (guint) required_version)
@@ -3057,7 +3057,7 @@ parse_style_element (GMarkupParseContext  *context,
           return;
         }
 
-      if (info->style->buttons[info->button_type][info->button_state] != NULL)
+      if (info->style->buttons[info->button_function][info->button_state] != NULL)
         {
           set_error (error, context, G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
                      _("Frame style already has a button for function %s state %s"),
@@ -4164,13 +4164,13 @@ end_element_handler (GMarkupParseContext  *context,
           }
         else
           {
-            MetaButtonType type;
+            MetaButtonFunction function;
             MetaButtonState state;
 
-            type = info->button_type;
+            function = info->button_function;
             state = info->button_state;
 
-            info->style->buttons[type][state] = info->op_list;
+            info->style->buttons[function][state] = info->op_list;
             info->op_list = NULL;
           }
         pop_state (info);
@@ -4698,101 +4698,101 @@ meta_theme_metacity_get_frame_borders (MetaThemeImpl    *impl,
 }
 
 static MetaButtonSpace *
-rect_for_function (MetaThemeMetacity  *metacity,
-                   MetaFrameGeometry  *fgeom,
-                   MetaFrameFlags      flags,
-                   MetaButtonFunction  function)
+rect_for_type (MetaThemeMetacity *metacity,
+               MetaFrameGeometry *fgeom,
+               MetaFrameFlags     flags,
+               MetaButtonType     type)
 {
   if (theme_allows (metacity, META_THEME_SHADE_STICK_ABOVE_BUTTONS))
     {
-      switch (function)
+      switch (type)
         {
-          case META_BUTTON_FUNCTION_SHADE:
+          case META_BUTTON_TYPE_SHADE:
             if ((flags & META_FRAME_ALLOWS_SHADE) && !(flags & META_FRAME_SHADED))
               return &fgeom->shade_rect;
             else
               return NULL;
 
-          case META_BUTTON_FUNCTION_ABOVE:
+          case META_BUTTON_TYPE_ABOVE:
             if (!(flags & META_FRAME_ABOVE))
               return &fgeom->above_rect;
             else
               return NULL;
 
-          case META_BUTTON_FUNCTION_STICK:
+          case META_BUTTON_TYPE_STICK:
             if (!(flags & META_FRAME_STUCK))
               return &fgeom->stick_rect;
             else
               return NULL;
 
-          case META_BUTTON_FUNCTION_UNSHADE:
+          case META_BUTTON_TYPE_UNSHADE:
             if ((flags & META_FRAME_ALLOWS_SHADE) && (flags & META_FRAME_SHADED))
               return &fgeom->unshade_rect;
             else
               return NULL;
 
-          case META_BUTTON_FUNCTION_UNABOVE:
+          case META_BUTTON_TYPE_UNABOVE:
             if (flags & META_FRAME_ABOVE)
               return &fgeom->unabove_rect;
             else
               return NULL;
 
-          case META_BUTTON_FUNCTION_UNSTICK:
+          case META_BUTTON_TYPE_UNSTICK:
             if (flags & META_FRAME_STUCK)
               return &fgeom->unstick_rect;
             else
               return NULL;
 
-          case META_BUTTON_FUNCTION_MENU:
-          case META_BUTTON_FUNCTION_APPMENU:
-          case META_BUTTON_FUNCTION_MINIMIZE:
-          case META_BUTTON_FUNCTION_MAXIMIZE:
-          case META_BUTTON_FUNCTION_CLOSE:
-          case META_BUTTON_FUNCTION_LAST:
+          case META_BUTTON_TYPE_MENU:
+          case META_BUTTON_TYPE_APPMENU:
+          case META_BUTTON_TYPE_MINIMIZE:
+          case META_BUTTON_TYPE_MAXIMIZE:
+          case META_BUTTON_TYPE_CLOSE:
+          case META_BUTTON_TYPE_LAST:
           default:
             break;
         }
     }
 
   /* now consider the buttons which exist in all versions */
-  switch (function)
+  switch (type)
     {
-      case META_BUTTON_FUNCTION_MENU:
+      case META_BUTTON_TYPE_MENU:
         if (flags & META_FRAME_ALLOWS_MENU)
           return &fgeom->menu_rect;
         else
           return NULL;
 
-      case META_BUTTON_FUNCTION_APPMENU:
+      case META_BUTTON_TYPE_APPMENU:
         if (flags & META_FRAME_ALLOWS_APPMENU)
           return &fgeom->appmenu_rect;
         else
           return NULL;
 
-      case META_BUTTON_FUNCTION_MINIMIZE:
+      case META_BUTTON_TYPE_MINIMIZE:
         if (flags & META_FRAME_ALLOWS_MINIMIZE)
           return &fgeom->min_rect;
         else
           return NULL;
 
-      case META_BUTTON_FUNCTION_MAXIMIZE:
+      case META_BUTTON_TYPE_MAXIMIZE:
         if (flags & META_FRAME_ALLOWS_MAXIMIZE)
           return &fgeom->max_rect;
         else
           return NULL;
 
-      case META_BUTTON_FUNCTION_CLOSE:
+      case META_BUTTON_TYPE_CLOSE:
         if (flags & META_FRAME_ALLOWS_DELETE)
           return &fgeom->close_rect;
         else
           return NULL;
 
-      case META_BUTTON_FUNCTION_STICK:
-      case META_BUTTON_FUNCTION_SHADE:
-      case META_BUTTON_FUNCTION_ABOVE:
-      case META_BUTTON_FUNCTION_UNSTICK:
-      case META_BUTTON_FUNCTION_UNSHADE:
-      case META_BUTTON_FUNCTION_UNABOVE:
+      case META_BUTTON_TYPE_STICK:
+      case META_BUTTON_TYPE_SHADE:
+      case META_BUTTON_TYPE_ABOVE:
+      case META_BUTTON_TYPE_UNSTICK:
+      case META_BUTTON_TYPE_UNSHADE:
+      case META_BUTTON_TYPE_UNABOVE:
         /* we are being asked for a >v1 button which hasn't been handled yet,
          * so obviously we're not in a theme which supports that version.
          * therefore, we don't show the button. return NULL and all will
@@ -4800,7 +4800,7 @@ rect_for_function (MetaThemeMetacity  *metacity,
          */
         return NULL;
 
-      case META_BUTTON_FUNCTION_LAST:
+      case META_BUTTON_TYPE_LAST:
       default:
         break;
     }
@@ -4809,8 +4809,8 @@ rect_for_function (MetaThemeMetacity  *metacity,
 }
 
 static gboolean
-strip_button (MetaButtonSpace *func_rects[META_BUTTON_FUNCTION_LAST],
-              GdkRectangle    *bg_rects[META_BUTTON_FUNCTION_LAST],
+strip_button (MetaButtonSpace *func_rects[META_BUTTON_TYPE_LAST],
+              GdkRectangle    *bg_rects[META_BUTTON_TYPE_LAST],
               int             *n_rects,
               MetaButtonSpace *to_strip)
 {
@@ -4870,12 +4870,12 @@ meta_theme_metacity_calc_geometry (MetaThemeImpl          *impl,
   /* the left/right rects in order; the max # of rects
    * is the number of button functions
    */
-  MetaButtonSpace *left_func_rects[META_BUTTON_FUNCTION_LAST];
-  MetaButtonSpace *right_func_rects[META_BUTTON_FUNCTION_LAST];
-  GdkRectangle *left_bg_rects[META_BUTTON_FUNCTION_LAST];
-  gboolean left_buttons_has_spacer[META_BUTTON_FUNCTION_LAST];
-  GdkRectangle *right_bg_rects[META_BUTTON_FUNCTION_LAST];
-  gboolean right_buttons_has_spacer[META_BUTTON_FUNCTION_LAST];
+  MetaButtonSpace *left_func_rects[META_BUTTON_TYPE_LAST];
+  MetaButtonSpace *right_func_rects[META_BUTTON_TYPE_LAST];
+  GdkRectangle *left_bg_rects[META_BUTTON_TYPE_LAST];
+  gboolean left_buttons_has_spacer[META_BUTTON_TYPE_LAST];
+  GdkRectangle *right_bg_rects[META_BUTTON_TYPE_LAST];
+  gboolean right_buttons_has_spacer[META_BUTTON_TYPE_LAST];
 
   META_THEME_IMPL_GET_CLASS (impl)->get_frame_borders (impl, layout,
                                                        style_info, text_height,
@@ -4934,10 +4934,10 @@ meta_theme_metacity_calc_geometry (MetaThemeImpl          *impl,
   if (!layout->hide_buttons)
     {
       /* Try to fill in rects */
-      for (i = 0; i < META_BUTTON_FUNCTION_LAST && button_layout->left_buttons[i] != 
META_BUTTON_FUNCTION_LAST; i++)
+      for (i = 0; i < META_BUTTON_TYPE_LAST && button_layout->left_buttons[i] != META_BUTTON_TYPE_LAST; i++)
         {
-          left_func_rects[n_left] = rect_for_function (metacity, fgeom, flags,
-                                                       button_layout->left_buttons[i]);
+          left_func_rects[n_left] = rect_for_type (metacity, fgeom, flags,
+                                                   button_layout->left_buttons[i]);
           if (left_func_rects[n_left] != NULL)
             {
               left_buttons_has_spacer[n_left] = button_layout->left_buttons_has_spacer[i];
@@ -4948,10 +4948,10 @@ meta_theme_metacity_calc_geometry (MetaThemeImpl          *impl,
             }
         }
 
-      for (i = 0; i < META_BUTTON_FUNCTION_LAST && button_layout->right_buttons[i] != 
META_BUTTON_FUNCTION_LAST; i++)
+      for (i = 0; i < META_BUTTON_TYPE_LAST && button_layout->right_buttons[i] != META_BUTTON_TYPE_LAST; i++)
         {
-          right_func_rects[n_right] = rect_for_function (metacity, fgeom, flags,
-                                                         button_layout->right_buttons[i]);
+          right_func_rects[n_right] = rect_for_type (metacity, fgeom, flags,
+                                                     button_layout->right_buttons[i]);
           if (right_func_rects[n_right] != NULL)
             {
               right_buttons_has_spacer[n_right] = button_layout->right_buttons_has_spacer[i];
@@ -4963,7 +4963,7 @@ meta_theme_metacity_calc_geometry (MetaThemeImpl          *impl,
         }
     }
 
-  for (i = 0; i < META_BUTTON_FUNCTION_LAST; i++)
+  for (i = 0; i < META_BUTTON_TYPE_LAST; i++)
     {
       left_bg_rects[i] = NULL;
       right_bg_rects[i] = NULL;
@@ -5288,90 +5288,90 @@ clip_to_rounded_corners (cairo_t                 *cr,
 }
 
 static void
-get_button_rect (MetaButtonType           type,
+get_button_rect (MetaButtonFunction       function,
                  const MetaFrameGeometry *fgeom,
                  gint                     middle_background_offset,
                  GdkRectangle            *rect)
 {
-  switch (type)
+  switch (function)
     {
-    case META_BUTTON_TYPE_LEFT_LEFT_BACKGROUND:
+    case META_BUTTON_FUNCTION_LEFT_LEFT_BACKGROUND:
       *rect = fgeom->left_left_background;
       break;
 
-    case META_BUTTON_TYPE_LEFT_MIDDLE_BACKGROUND:
+    case META_BUTTON_FUNCTION_LEFT_MIDDLE_BACKGROUND:
       *rect = fgeom->left_middle_backgrounds[middle_background_offset];
       break;
 
-    case META_BUTTON_TYPE_LEFT_RIGHT_BACKGROUND:
+    case META_BUTTON_FUNCTION_LEFT_RIGHT_BACKGROUND:
       *rect = fgeom->left_right_background;
       break;
 
-    case META_BUTTON_TYPE_LEFT_SINGLE_BACKGROUND:
+    case META_BUTTON_FUNCTION_LEFT_SINGLE_BACKGROUND:
       *rect = fgeom->left_single_background;
       break;
 
-    case META_BUTTON_TYPE_RIGHT_LEFT_BACKGROUND:
+    case META_BUTTON_FUNCTION_RIGHT_LEFT_BACKGROUND:
       *rect = fgeom->right_left_background;
       break;
 
-    case META_BUTTON_TYPE_RIGHT_MIDDLE_BACKGROUND:
+    case META_BUTTON_FUNCTION_RIGHT_MIDDLE_BACKGROUND:
       *rect = fgeom->right_middle_backgrounds[middle_background_offset];
       break;
 
-    case META_BUTTON_TYPE_RIGHT_RIGHT_BACKGROUND:
+    case META_BUTTON_FUNCTION_RIGHT_RIGHT_BACKGROUND:
       *rect = fgeom->right_right_background;
       break;
 
-    case META_BUTTON_TYPE_RIGHT_SINGLE_BACKGROUND:
+    case META_BUTTON_FUNCTION_RIGHT_SINGLE_BACKGROUND:
       *rect = fgeom->right_single_background;
       break;
 
-    case META_BUTTON_TYPE_CLOSE:
+    case META_BUTTON_FUNCTION_CLOSE:
       *rect = fgeom->close_rect.visible;
       break;
 
-    case META_BUTTON_TYPE_SHADE:
+    case META_BUTTON_FUNCTION_SHADE:
       *rect = fgeom->shade_rect.visible;
       break;
 
-    case META_BUTTON_TYPE_UNSHADE:
+    case META_BUTTON_FUNCTION_UNSHADE:
       *rect = fgeom->unshade_rect.visible;
       break;
 
-    case META_BUTTON_TYPE_ABOVE:
+    case META_BUTTON_FUNCTION_ABOVE:
       *rect = fgeom->above_rect.visible;
       break;
 
-    case META_BUTTON_TYPE_UNABOVE:
+    case META_BUTTON_FUNCTION_UNABOVE:
       *rect = fgeom->unabove_rect.visible;
       break;
 
-    case META_BUTTON_TYPE_STICK:
+    case META_BUTTON_FUNCTION_STICK:
       *rect = fgeom->stick_rect.visible;
       break;
 
-    case META_BUTTON_TYPE_UNSTICK:
+    case META_BUTTON_FUNCTION_UNSTICK:
       *rect = fgeom->unstick_rect.visible;
       break;
 
-    case META_BUTTON_TYPE_MAXIMIZE:
+    case META_BUTTON_FUNCTION_MAXIMIZE:
       *rect = fgeom->max_rect.visible;
       break;
 
-    case META_BUTTON_TYPE_MINIMIZE:
+    case META_BUTTON_FUNCTION_MINIMIZE:
       *rect = fgeom->min_rect.visible;
       break;
 
-    case META_BUTTON_TYPE_MENU:
+    case META_BUTTON_FUNCTION_MENU:
       *rect = fgeom->menu_rect.visible;
       break;
 
-    case META_BUTTON_TYPE_APPMENU:
+    case META_BUTTON_FUNCTION_APPMENU:
       *rect = fgeom->appmenu_rect.visible;
       break;
 
-    case META_BUTTON_TYPE_LAST:
+    case META_BUTTON_FUNCTION_LAST:
     default:
       g_assert_not_reached ();
       break;
@@ -5379,85 +5379,85 @@ get_button_rect (MetaButtonType           type,
 }
 
 static MetaButtonState
-map_button_state (MetaButtonType           button_type,
+map_button_state (MetaButtonFunction       button_function,
                   const MetaFrameGeometry *fgeom,
                   gint                     middle_bg_offset,
-                  MetaButtonState          button_states[META_BUTTON_FUNCTION_LAST])
+                  MetaButtonState          button_states[META_BUTTON_TYPE_LAST])
 {
-  MetaButtonFunction function = META_BUTTON_FUNCTION_LAST;
+  MetaButtonType type = META_BUTTON_TYPE_LAST;
 
-  switch (button_type)
+  switch (button_function)
     {
-    /* First handle functions, which map directly */
-    case META_BUTTON_TYPE_SHADE:
-      function = META_BUTTON_FUNCTION_SHADE;
+    /* First handle types, which map directly */
+    case META_BUTTON_FUNCTION_SHADE:
+      type = META_BUTTON_TYPE_SHADE;
       break;
-    case META_BUTTON_TYPE_ABOVE:
-      function = META_BUTTON_FUNCTION_ABOVE;
+    case META_BUTTON_FUNCTION_ABOVE:
+      type = META_BUTTON_TYPE_ABOVE;
       break;
-    case META_BUTTON_TYPE_STICK:
-      function = META_BUTTON_FUNCTION_STICK;
+    case META_BUTTON_FUNCTION_STICK:
+      type = META_BUTTON_TYPE_STICK;
       break;
-    case META_BUTTON_TYPE_UNSHADE:
-      function = META_BUTTON_FUNCTION_UNSHADE;
+    case META_BUTTON_FUNCTION_UNSHADE:
+      type = META_BUTTON_TYPE_UNSHADE;
       break;
-    case META_BUTTON_TYPE_UNABOVE:
-      function = META_BUTTON_FUNCTION_UNABOVE;
+    case META_BUTTON_FUNCTION_UNABOVE:
+      type = META_BUTTON_TYPE_UNABOVE;
       break;;
-    case META_BUTTON_TYPE_UNSTICK:
-      function = META_BUTTON_FUNCTION_UNSTICK;
+    case META_BUTTON_FUNCTION_UNSTICK:
+      type = META_BUTTON_TYPE_UNSTICK;
       break;
-    case META_BUTTON_TYPE_MENU:
-      function = META_BUTTON_FUNCTION_MENU;
+    case META_BUTTON_FUNCTION_MENU:
+      type = META_BUTTON_TYPE_MENU;
       break;
-    case META_BUTTON_TYPE_APPMENU:
-      function = META_BUTTON_FUNCTION_APPMENU;
+    case META_BUTTON_FUNCTION_APPMENU:
+      type = META_BUTTON_TYPE_APPMENU;
       break;
-    case META_BUTTON_TYPE_MINIMIZE:
-      function = META_BUTTON_FUNCTION_MINIMIZE;
+    case META_BUTTON_FUNCTION_MINIMIZE:
+      type = META_BUTTON_TYPE_MINIMIZE;
       break;
-    case META_BUTTON_TYPE_MAXIMIZE:
-      function = META_BUTTON_FUNCTION_MAXIMIZE;
+    case META_BUTTON_FUNCTION_MAXIMIZE:
+      type = META_BUTTON_TYPE_MAXIMIZE;
       break;
-    case META_BUTTON_TYPE_CLOSE:
-      function = META_BUTTON_FUNCTION_CLOSE;
+    case META_BUTTON_FUNCTION_CLOSE:
+      type = META_BUTTON_TYPE_CLOSE;
       break;
 
-    /* Map position buttons to the corresponding function */
-    case META_BUTTON_TYPE_RIGHT_LEFT_BACKGROUND:
-    case META_BUTTON_TYPE_RIGHT_SINGLE_BACKGROUND:
+    /* Map position buttons to the corresponding type */
+    case META_BUTTON_FUNCTION_RIGHT_LEFT_BACKGROUND:
+    case META_BUTTON_FUNCTION_RIGHT_SINGLE_BACKGROUND:
       if (fgeom->n_right_buttons > 0)
-        function = fgeom->button_layout.right_buttons[0];
+        type = fgeom->button_layout.right_buttons[0];
       break;
-    case META_BUTTON_TYPE_RIGHT_RIGHT_BACKGROUND:
+    case META_BUTTON_FUNCTION_RIGHT_RIGHT_BACKGROUND:
       if (fgeom->n_right_buttons > 0)
-        function = fgeom->button_layout.right_buttons[fgeom->n_right_buttons - 1];
+        type = fgeom->button_layout.right_buttons[fgeom->n_right_buttons - 1];
       break;
-    case META_BUTTON_TYPE_RIGHT_MIDDLE_BACKGROUND:
+    case META_BUTTON_FUNCTION_RIGHT_MIDDLE_BACKGROUND:
       if (middle_bg_offset + 1 < fgeom->n_right_buttons)
-        function = fgeom->button_layout.right_buttons[middle_bg_offset + 1];
+        type = fgeom->button_layout.right_buttons[middle_bg_offset + 1];
       break;
-    case META_BUTTON_TYPE_LEFT_LEFT_BACKGROUND:
-    case META_BUTTON_TYPE_LEFT_SINGLE_BACKGROUND:
+    case META_BUTTON_FUNCTION_LEFT_LEFT_BACKGROUND:
+    case META_BUTTON_FUNCTION_LEFT_SINGLE_BACKGROUND:
       if (fgeom->n_left_buttons > 0)
-        function = fgeom->button_layout.left_buttons[0];
+        type = fgeom->button_layout.left_buttons[0];
       break;
-    case META_BUTTON_TYPE_LEFT_RIGHT_BACKGROUND:
+    case META_BUTTON_FUNCTION_LEFT_RIGHT_BACKGROUND:
       if (fgeom->n_left_buttons > 0)
-        function = fgeom->button_layout.left_buttons[fgeom->n_left_buttons - 1];
+        type = fgeom->button_layout.left_buttons[fgeom->n_left_buttons - 1];
       break;
-    case META_BUTTON_TYPE_LEFT_MIDDLE_BACKGROUND:
+    case META_BUTTON_FUNCTION_LEFT_MIDDLE_BACKGROUND:
       if (middle_bg_offset + 1 < fgeom->n_left_buttons)
-        function = fgeom->button_layout.left_buttons[middle_bg_offset + 1];
+        type = fgeom->button_layout.left_buttons[middle_bg_offset + 1];
       break;
-    case META_BUTTON_TYPE_LAST:
+    case META_BUTTON_FUNCTION_LAST:
       break;
     default:
       break;
     }
 
-  if (function != META_BUTTON_FUNCTION_LAST)
-    return button_states[function];
+  if (type != META_BUTTON_TYPE_LAST)
+    return button_states[type];
 
   return META_BUTTON_STATE_LAST;
 }
@@ -5470,7 +5470,7 @@ meta_theme_metacity_draw_frame (MetaThemeImpl           *impl,
                                 const MetaFrameGeometry *fgeom,
                                 PangoLayout             *title_layout,
                                 MetaFrameFlags           flags,
-                                MetaButtonState          button_states[META_BUTTON_FUNCTION_LAST],
+                                MetaButtonState          button_states[META_BUTTON_TYPE_LAST],
                                 GdkPixbuf               *mini_icon,
                                 GdkPixbuf               *icon)
 {
@@ -5691,7 +5691,7 @@ meta_theme_metacity_draw_frame (MetaThemeImpl           *impl,
 
           middle_bg_offset = 0;
           j = 0;
-          while (j < META_BUTTON_TYPE_LAST)
+          while (j < META_BUTTON_FUNCTION_LAST)
             {
               GdkRectangle tmp_rect;
               MetaButtonState button_state;
@@ -5723,8 +5723,8 @@ meta_theme_metacity_draw_frame (MetaThemeImpl           *impl,
                 }
 
               /* MIDDLE_BACKGROUND type may get drawn more than once */
-              if ((j == META_BUTTON_TYPE_RIGHT_MIDDLE_BACKGROUND ||
-                   j == META_BUTTON_TYPE_LEFT_MIDDLE_BACKGROUND) &&
+              if ((j == META_BUTTON_FUNCTION_RIGHT_MIDDLE_BACKGROUND ||
+                   j == META_BUTTON_FUNCTION_LEFT_MIDDLE_BACKGROUND) &&
                   (middle_bg_offset < (MAX_MIDDLE_BACKGROUNDS - 1)))
                 {
                   ++middle_bg_offset;
@@ -5859,40 +5859,40 @@ meta_theme_metacity_lookup_style_set (MetaThemeMetacity *metacity,
  * \return  the number of the theme format
  */
 guint
-meta_theme_metacity_earliest_version_with_button (MetaButtonType type)
+meta_theme_metacity_earliest_version_with_button (MetaButtonFunction function)
 {
-  switch (type)
+  switch (function)
     {
-      case META_BUTTON_TYPE_CLOSE:
-      case META_BUTTON_TYPE_MAXIMIZE:
-      case META_BUTTON_TYPE_MINIMIZE:
-      case META_BUTTON_TYPE_MENU:
-      case META_BUTTON_TYPE_LEFT_LEFT_BACKGROUND:
-      case META_BUTTON_TYPE_LEFT_MIDDLE_BACKGROUND:
-      case META_BUTTON_TYPE_LEFT_RIGHT_BACKGROUND:
-      case META_BUTTON_TYPE_RIGHT_LEFT_BACKGROUND:
-      case META_BUTTON_TYPE_RIGHT_MIDDLE_BACKGROUND:
-      case META_BUTTON_TYPE_RIGHT_RIGHT_BACKGROUND:
+      case META_BUTTON_FUNCTION_CLOSE:
+      case META_BUTTON_FUNCTION_MAXIMIZE:
+      case META_BUTTON_FUNCTION_MINIMIZE:
+      case META_BUTTON_FUNCTION_MENU:
+      case META_BUTTON_FUNCTION_LEFT_LEFT_BACKGROUND:
+      case META_BUTTON_FUNCTION_LEFT_MIDDLE_BACKGROUND:
+      case META_BUTTON_FUNCTION_LEFT_RIGHT_BACKGROUND:
+      case META_BUTTON_FUNCTION_RIGHT_LEFT_BACKGROUND:
+      case META_BUTTON_FUNCTION_RIGHT_MIDDLE_BACKGROUND:
+      case META_BUTTON_FUNCTION_RIGHT_RIGHT_BACKGROUND:
         return 1000;
 
-      case META_BUTTON_TYPE_SHADE:
-      case META_BUTTON_TYPE_ABOVE:
-      case META_BUTTON_TYPE_STICK:
-      case META_BUTTON_TYPE_UNSHADE:
-      case META_BUTTON_TYPE_UNABOVE:
-      case META_BUTTON_TYPE_UNSTICK:
+      case META_BUTTON_FUNCTION_SHADE:
+      case META_BUTTON_FUNCTION_ABOVE:
+      case META_BUTTON_FUNCTION_STICK:
+      case META_BUTTON_FUNCTION_UNSHADE:
+      case META_BUTTON_FUNCTION_UNABOVE:
+      case META_BUTTON_FUNCTION_UNSTICK:
         return 2000;
 
-      case META_BUTTON_TYPE_LEFT_SINGLE_BACKGROUND:
-      case META_BUTTON_TYPE_RIGHT_SINGLE_BACKGROUND:
+      case META_BUTTON_FUNCTION_LEFT_SINGLE_BACKGROUND:
+      case META_BUTTON_FUNCTION_RIGHT_SINGLE_BACKGROUND:
         return 3003;
 
-      case META_BUTTON_TYPE_APPMENU:
+      case META_BUTTON_FUNCTION_APPMENU:
         return 3005;
 
-      case META_BUTTON_TYPE_LAST:
+      case META_BUTTON_FUNCTION_LAST:
       default:
-        g_warning ("Unknown button %d", (gint) type);
+        g_warning ("Unknown button %d", (gint) function);
         break;
     }
 
diff --git a/libmetacity/meta-theme.c b/libmetacity/meta-theme.c
index 70aa2ea..cd0f85e 100644
--- a/libmetacity/meta-theme.c
+++ b/libmetacity/meta-theme.c
@@ -667,7 +667,7 @@ meta_theme_draw_frame (MetaTheme           *theme,
   PangoLayout *title_layout;
   MetaFrameGeometry fgeom;
   gint i;
-  MetaButtonState button_states[META_BUTTON_FUNCTION_LAST];
+  MetaButtonState button_states[META_BUTTON_TYPE_LAST];
 
   g_return_if_fail (type < META_FRAME_TYPE_LAST);
 
@@ -686,12 +686,12 @@ meta_theme_draw_frame (MetaTheme           *theme,
                              title_height, flags, client_width, client_height,
                              &theme->button_layout, type, &fgeom);
 
-  for (i = 0; i < META_BUTTON_FUNCTION_LAST; i++)
+  for (i = 0; i < META_BUTTON_TYPE_LAST; i++)
     {
       MetaButtonState state;
       GdkRectangle rect;
 
-      get_button_rect_for_function (i, &fgeom, &rect);
+      get_button_rect_for_type (i, &fgeom, &rect);
 
       state = META_BUTTON_STATE_NORMAL;
       if (func != NULL)
diff --git a/libmetacity/meta-theme.h b/libmetacity/meta-theme.h
index 369e56c..565f965 100644
--- a/libmetacity/meta-theme.h
+++ b/libmetacity/meta-theme.h
@@ -30,9 +30,9 @@ G_BEGIN_DECLS
 typedef struct _MetaButtonSpace MetaButtonSpace;
 typedef struct _MetaFrameGeometry MetaFrameGeometry;
 
-typedef MetaButtonState (* MetaButtonStateFunc) (MetaButtonFunction function,
-                                                 GdkRectangle       rect,
-                                                 gpointer           user_data);
+typedef MetaButtonState (* MetaButtonStateFunc) (MetaButtonType type,
+                                                 GdkRectangle   rect,
+                                                 gpointer       user_data);
 
 #define META_TYPE_THEME meta_theme_get_type ()
 G_DECLARE_FINAL_TYPE (MetaTheme, meta_theme, META, THEME, GObject)
@@ -125,7 +125,7 @@ struct _MetaFrameGeometry
   MetaButtonSpace unabove_rect;
   MetaButtonSpace unstick_rect;
 
-#define MAX_MIDDLE_BACKGROUNDS (META_BUTTON_FUNCTION_LAST - 2)
+#define MAX_MIDDLE_BACKGROUNDS (META_BUTTON_TYPE_LAST - 2)
   GdkRectangle left_left_background;
   GdkRectangle left_middle_backgrounds[MAX_MIDDLE_BACKGROUNDS];
   GdkRectangle left_right_background;
diff --git a/src/ui/frames.c b/src/ui/frames.c
index b730928..e639abb 100644
--- a/src/ui/frames.c
+++ b/src/ui/frames.c
@@ -2275,9 +2275,9 @@ typedef struct
 } ButtonStateData;
 
 static MetaButtonState
-update_button_state (MetaButtonFunction function,
-                     GdkRectangle       rect,
-                     gpointer           user_data)
+update_button_state (MetaButtonType type,
+                     GdkRectangle   rect,
+                     gpointer       user_data)
 {
   ButtonStateData *data;
   MetaButtonState state;
@@ -2298,7 +2298,7 @@ update_button_state (MetaButtonFunction function,
 
   /* Set prelight state */
   if (control == META_FRAME_CONTROL_MENU &&
-      function == META_BUTTON_FUNCTION_MENU)
+      type == META_BUTTON_TYPE_MENU)
     {
       if (grab_op == META_GRAB_OP_CLICKING_MENU)
         state = META_BUTTON_STATE_PRESSED;
@@ -2306,7 +2306,7 @@ update_button_state (MetaButtonFunction function,
         state = META_BUTTON_STATE_PRELIGHT;
     }
   else if (control == META_FRAME_CONTROL_APPMENU &&
-           function == META_BUTTON_FUNCTION_APPMENU)
+           type == META_BUTTON_TYPE_APPMENU)
     {
       if (grab_op == META_GRAB_OP_CLICKING_MENU)
         state = META_BUTTON_STATE_PRESSED;
@@ -2314,7 +2314,7 @@ update_button_state (MetaButtonFunction function,
         state = META_BUTTON_STATE_PRELIGHT;
     }
   else if (control == META_FRAME_CONTROL_MINIMIZE &&
-           function == META_BUTTON_FUNCTION_MINIMIZE)
+           type == META_BUTTON_TYPE_MINIMIZE)
     {
       if (grab_op == META_GRAB_OP_CLICKING_MINIMIZE)
         state = META_BUTTON_STATE_PRESSED;
@@ -2322,7 +2322,7 @@ update_button_state (MetaButtonFunction function,
         state = META_BUTTON_STATE_PRELIGHT;
     }
   else if (control == META_FRAME_CONTROL_MAXIMIZE &&
-           function == META_BUTTON_FUNCTION_MAXIMIZE)
+           type == META_BUTTON_TYPE_MAXIMIZE)
     {
       if (grab_op == META_GRAB_OP_CLICKING_MAXIMIZE)
         state = META_BUTTON_STATE_PRESSED;
@@ -2330,7 +2330,7 @@ update_button_state (MetaButtonFunction function,
         state = META_BUTTON_STATE_PRELIGHT;
     }
   else if (control == META_FRAME_CONTROL_UNMAXIMIZE &&
-           function == META_BUTTON_FUNCTION_MAXIMIZE)
+           type == META_BUTTON_TYPE_MAXIMIZE)
     {
       if (grab_op == META_GRAB_OP_CLICKING_UNMAXIMIZE)
         state = META_BUTTON_STATE_PRESSED;
@@ -2338,7 +2338,7 @@ update_button_state (MetaButtonFunction function,
         state = META_BUTTON_STATE_PRELIGHT;
     }
   else if (control == META_FRAME_CONTROL_SHADE &&
-           function == META_BUTTON_FUNCTION_SHADE)
+           type == META_BUTTON_TYPE_SHADE)
     {
       if (grab_op == META_GRAB_OP_CLICKING_SHADE)
         state = META_BUTTON_STATE_PRESSED;
@@ -2346,7 +2346,7 @@ update_button_state (MetaButtonFunction function,
         state = META_BUTTON_STATE_PRELIGHT;
     }
   else if (control == META_FRAME_CONTROL_UNSHADE &&
-           function == META_BUTTON_FUNCTION_UNSHADE)
+           type == META_BUTTON_TYPE_UNSHADE)
     {
       if (grab_op == META_GRAB_OP_CLICKING_UNSHADE)
         state = META_BUTTON_STATE_PRESSED;
@@ -2354,7 +2354,7 @@ update_button_state (MetaButtonFunction function,
         state = META_BUTTON_STATE_PRELIGHT;
     }
   else if (control == META_FRAME_CONTROL_ABOVE &&
-           function == META_BUTTON_FUNCTION_ABOVE)
+           type == META_BUTTON_TYPE_ABOVE)
     {
       if (grab_op == META_GRAB_OP_CLICKING_ABOVE)
         state = META_BUTTON_STATE_PRESSED;
@@ -2362,7 +2362,7 @@ update_button_state (MetaButtonFunction function,
         state = META_BUTTON_STATE_PRELIGHT;
     }
   else if (control == META_FRAME_CONTROL_UNABOVE &&
-           function == META_BUTTON_FUNCTION_UNABOVE)
+           type == META_BUTTON_TYPE_UNABOVE)
     {
       if (grab_op == META_GRAB_OP_CLICKING_UNABOVE)
         state = META_BUTTON_STATE_PRESSED;
@@ -2370,7 +2370,7 @@ update_button_state (MetaButtonFunction function,
         state = META_BUTTON_STATE_PRELIGHT;
     }
   else if (control == META_FRAME_CONTROL_STICK &&
-           function == META_BUTTON_FUNCTION_STICK)
+           type == META_BUTTON_TYPE_STICK)
     {
       if (grab_op == META_GRAB_OP_CLICKING_STICK)
         state = META_BUTTON_STATE_PRESSED;
@@ -2378,7 +2378,7 @@ update_button_state (MetaButtonFunction function,
         state = META_BUTTON_STATE_PRELIGHT;
     }
   else if (control == META_FRAME_CONTROL_UNSTICK &&
-           function == META_BUTTON_FUNCTION_UNSTICK)
+           type == META_BUTTON_TYPE_UNSTICK)
     {
       if (grab_op == META_GRAB_OP_CLICKING_UNSTICK)
         state = META_BUTTON_STATE_PRESSED;
@@ -2386,7 +2386,7 @@ update_button_state (MetaButtonFunction function,
         state = META_BUTTON_STATE_PRELIGHT;
     }
   else if (control == META_FRAME_CONTROL_DELETE &&
-           function == META_BUTTON_FUNCTION_CLOSE)
+           type == META_BUTTON_TYPE_CLOSE)
     {
       if (grab_op == META_GRAB_OP_CLICKING_DELETE)
         state = META_BUTTON_STATE_PRESSED;
diff --git a/theme-viewer/theme-viewer-window.c b/theme-viewer/theme-viewer-window.c
index 6b1d9f9..70f30da 100644
--- a/theme-viewer/theme-viewer-window.c
+++ b/theme-viewer/theme-viewer-window.c
@@ -313,9 +313,9 @@ get_client_width_and_height (GtkWidget         *widget,
 }
 
 static MetaButtonState
-update_button_state (MetaButtonFunction function,
-                     GdkRectangle       rect,
-                     gpointer           user_data)
+update_button_state (MetaButtonType type,
+                     GdkRectangle   rect,
+                     gpointer       user_data)
 {
   ThemeViewerWindow *window;
   MetaButtonState state;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]