Common: Muffin Reference Manual

## Common Common — Muffin common types |

## Functions

void | (*MetaWindowMenuFunc) ()
void | meta_frame_borders_clear ()
#define | POINT_IN_RECT()

## Types and Values

enum | MetaFrameFlags
enum | MetaMenuOp
enum | MetaGrabOp
enum | MetaCursor
enum | MetaFrameType
enum | MetaVirtualModifier
enum | MetaDirection
enum | MetaMotionDirection
enum | MetaSide
enum | MetaButtonFunction
enum | MetaTileMode
enum | MetaWindowTileType
enum | MetaBellType
#define | MAX_BUTTONS_PER_CORNER
struct | MetaButtonLayout
struct | MetaFrameBorders
#define | META_ICON_WIDTH
#define | META_ICON_HEIGHT
#define | META_MINI_ICON_WIDTH
#define | META_MINI_ICON_HEIGHT
#define | META_DEFAULT_ICON_NAME
#define | META_PRIORITY_RESIZE
#define | META_PRIORITY_BEFORE_REDRAW
#define | META_PRIORITY_REDRAW
#define | META_PRIORITY_PREFS_NOTIFY
enum | MetaStackLayer
enum | MetaPlacementMode
| MetaResizePopup
| MetaWindowMenu

## Description

## Functions

### MetaWindowMenuFunc ()

    void
    (*MetaWindowMenuFunc) (MetaWindowMenu *menu,
                           Display *xdisplay,
                           Window client_xwindow,
                           guint32 timestamp,
                           MetaMenuOp op,
                           int workspace,
                           gpointer data);

### meta_frame_borders_clear ()

    void
    meta_frame_borders_clear (MetaFrameBorders *self);

### POINT_IN_RECT()

    #define             POINT_IN_RECT(xcoord, ycoord, rect)

## Types and Values

### enum MetaFrameFlags

#### Members

META_FRAME_ALLOWS_DELETE |  |
META_FRAME_ALLOWS_MENU |  |
META_FRAME_ALLOWS_MINIMIZE |  |
META_FRAME_ALLOWS_MAXIMIZE |  |
META_FRAME_ALLOWS_LEFT_RESIZE |  |
META_FRAME_ALLOWS_RIGHT_RESIZE |  |
META_FRAME_ALLOWS_TOP_RESIZE |  |
META_FRAME_ALLOWS_BOTTOM_RESIZE |  |
META_FRAME_HAS_FOCUS |  |
META_FRAME_SHADED |  |
META_FRAME_STUCK |  |
META_FRAME_MAXIMIZED |  |
META_FRAME_ALLOWS_SHADE |  |
META_FRAME_ALLOWS_MOVE |  |
META_FRAME_FULLSCREEN |  |
META_FRAME_IS_FLASHING |  |
META_FRAME_ABOVE |  |
META_FRAME_TILED_LEFT |  |
META_FRAME_TILED_RIGHT |  |
META_FRAME_ALLOWS_VERTICAL_RESIZE |  |
META_FRAME_ALLOWS_HORIZONTAL_RESIZE |  |

### enum MetaMenuOp

#### Members

META_MENU_OP_NONE |  |
META_MENU_OP_DELETE |  |
META_MENU_OP_MINIMIZE |  |
META_MENU_OP_UNMAXIMIZE |  |
META_MENU_OP_MAXIMIZE |  |
META_MENU_OP_UNSHADE |  |
META_MENU_OP_SHADE |  |
META_MENU_OP_UNSTICK |  |
META_MENU_OP_STICK |  |
META_MENU_OP_WORKSPACES |  |
META_MENU_OP_MOVE |  |
META_MENU_OP_RESIZE |  |
META_MENU_OP_ABOVE |  |
META_MENU_OP_UNABOVE |  |
META_MENU_OP_MOVE_LEFT |  |
META_MENU_OP_MOVE_RIGHT |  |
META_MENU_OP_MOVE_UP |  |
META_MENU_OP_MOVE_DOWN |  |
META_MENU_OP_RECOVER |  |
META_MENU_OP_MOVE_NEW |  |

### enum MetaGrabOp

#### Members

META_GRAB_OP_NONE |  |
META_GRAB_OP_MOVING |  |
META_GRAB_OP_RESIZING_SE |  |
META_GRAB_OP_RESIZING_S |  |
META_GRAB_OP_RESIZING_SW |  |
META_GRAB_OP_RESIZING_N |  |
META_GRAB_OP_RESIZING_NE |  |
META_GRAB_OP_RESIZING_NW |  |
META_GRAB_OP_RESIZING_W |  |
META_GRAB_OP_RESIZING_E |  |
META_GRAB_OP_KEYBOARD_MOVING |  |
META_GRAB_OP_KEYBOARD_RESIZING_UNKNOWN |  |
META_GRAB_OP_KEYBOARD_RESIZING_S |  |
META_GRAB_OP_KEYBOARD_RESIZING_N |  |
META_GRAB_OP_KEYBOARD_RESIZING_W |  |
META_GRAB_OP_KEYBOARD_RESIZING_E |  |
META_GRAB_OP_KEYBOARD_RESIZING_SE |  |
META_GRAB_OP_KEYBOARD_RESIZING_NE |  |
META_GRAB_OP_KEYBOARD_RESIZING_SW |  |
META_GRAB_OP_KEYBOARD_RESIZING_NW |  |
META_GRAB_OP_KEYBOARD_TABBING_NORMAL |  |
META_GRAB_OP_KEYBOARD_TABBING_DOCK |  |
META_GRAB_OP_KEYBOARD_ESCAPING_NORMAL |  |
META_GRAB_OP_KEYBOARD_ESCAPING_DOCK |  |
META_GRAB_OP_KEYBOARD_ESCAPING_GROUP |  |
META_GRAB_OP_KEYBOARD_TABBING_GROUP |  |
META_GRAB_OP_KEYBOARD_WORKSPACE_SWITCHING |  |
META_GRAB_OP_CLICKING_MINIMIZE |  |
META_GRAB_OP_CLICKING_MAXIMIZE |  |
META_GRAB_OP_CLICKING_UNMAXIMIZE |  |
META_GRAB_OP_CLICKING_DELETE |  |
META_GRAB_OP_CLICKING_MENU |  |
META_GRAB_OP_CLICKING_SHADE |  |
META_GRAB_OP_CLICKING_UNSHADE |  |
META_GRAB_OP_CLICKING_ABOVE |  |
META_GRAB_OP_CLICKING_UNABOVE |  |
META_GRAB_OP_CLICKING_STICK |  |
META_GRAB_OP_CLICKING_UNSTICK |  |
META_GRAB_OP_COMPOSITOR |  |

### enum MetaCursor

#### Members

META_CURSOR_DEFAULT |  |
META_CURSOR_NORTH_RESIZE |  |
META_CURSOR_SOUTH_RESIZE |  |
META_CURSOR_WEST_RESIZE |  |
META_CURSOR_EAST_RESIZE |  |
META_CURSOR_SE_RESIZE |  |
META_CURSOR_SW_RESIZE |  |
META_CURSOR_NE_RESIZE |  |
META_CURSOR_NW_RESIZE |  |
META_CURSOR_MOVE_OR_RESIZE_WINDOW |  |
META_CURSOR_BUSY |  |

### enum MetaFrameType

#### Members

META_FRAME_TYPE_NORMAL |  |
META_FRAME_TYPE_DIALOG |  |
META_FRAME_TYPE_MODAL_DIALOG |  |
META_FRAME_TYPE_UTILITY |  |
META_FRAME_TYPE_MENU |  |
META_FRAME_TYPE_BORDER |  |
META_FRAME_TYPE_ATTACHED |  |
META_FRAME_TYPE_LAST |  |

### enum MetaVirtualModifier

#### Members

META_VIRTUAL_SHIFT_MASK |  |
META_VIRTUAL_CONTROL_MASK |  |
META_VIRTUAL_ALT_MASK |  |
META_VIRTUAL_META_MASK |  |
META_VIRTUAL_SUPER_MASK |  |
META_VIRTUAL_HYPER_MASK |  |
META_VIRTUAL_MOD2_MASK |  |
META_VIRTUAL_MOD3_MASK |  |
META_VIRTUAL_MOD4_MASK |  |
META_VIRTUAL_MOD5_MASK |  |

### enum MetaDirection

#### Members

META_DIRECTION_LEFT |  |
META_DIRECTION_RIGHT |  |
META_DIRECTION_TOP |  |
META_DIRECTION_BOTTOM |  |
META_DIRECTION_UP |  |
META_DIRECTION_DOWN |  |
META_DIRECTION_HORIZONTAL |  |
META_DIRECTION_VERTICAL |  |

### enum MetaMotionDirection

#### Members

META_MOTION_UP |  |
META_MOTION_DOWN |  |
META_MOTION_LEFT |  |
META_MOTION_RIGHT |  |
META_MOTION_UP_LEFT |  |
META_MOTION_UP_RIGHT |  |
META_MOTION_DOWN_LEFT |  |
META_MOTION_DOWN_RIGHT |  |
META_MOTION_NOT_EXIST_YET |  |

### enum MetaSide

#### Members

META_SIDE_LEFT |  |
META_SIDE_RIGHT |  |
META_SIDE_TOP |  |
META_SIDE_BOTTOM |  |

### enum MetaButtonFunction

#### Members

META_BUTTON_FUNCTION_MENU |  |
META_BUTTON_FUNCTION_MINIMIZE |  |
META_BUTTON_FUNCTION_MAXIMIZE |  |
META_BUTTON_FUNCTION_CLOSE |  |
META_BUTTON_FUNCTION_SHADE |  |
META_BUTTON_FUNCTION_ABOVE |  |
META_BUTTON_FUNCTION_STICK |  |
META_BUTTON_FUNCTION_UNSHADE |  |
META_BUTTON_FUNCTION_UNABOVE |  |
META_BUTTON_FUNCTION_UNSTICK |  |
META_BUTTON_FUNCTION_LAST |  |

### enum MetaTileMode

#### Members

META_TILE_NONE |  |
META_TILE_LEFT |  |
META_TILE_RIGHT |  |
META_TILE_ULC |  |
META_TILE_LLC |  |
META_TILE_URC |  |
META_TILE_LRC |  |
META_TILE_TOP |  |
META_TILE_BOTTOM |  |
META_TILE_MAXIMIZE |  |

### enum MetaWindowTileType

#### Members

META_WINDOW_TILE_TYPE_NONE |  |
META_WINDOW_TILE_TYPE_TILED |  |
META_WINDOW_TILE_TYPE_SNAPPED |  |

### enum MetaBellType

#### Members

META_BELL_TYPE_NONE |  |
META_BELL_TYPE_STICKY_KEYS |  |
META_BELL_TYPE_SLOW_KEYS |  |
META_BELL_TYPE_BOUNCE_KEYS |  |

### MAX_BUTTONS_PER_CORNER

    #define MAX_BUTTONS_PER_CORNER META_BUTTON_FUNCTION_LAST

### struct MetaButtonLayout

    struct MetaButtonLayout {
      /* buttons in the group on the left side */
      MetaButtonFunction left_buttons[MAX_BUTTONS_PER_CORNER];
      gboolean left_buttons_has_spacer[MAX_BUTTONS_PER_CORNER];

      /* buttons in the group on the right side */
      MetaButtonFunction right_buttons[MAX_BUTTONS_PER_CORNER];
      gboolean right_buttons_has_spacer[MAX_BUTTONS_PER_CORNER];
    };

### struct MetaFrameBorders

    struct MetaFrameBorders {
      /* The frame border is made up of two pieces - an inner visible portion
       * and an outer portion that is invisible but responds to events.
       */
      GtkBorder visible;
      GtkBorder invisible;

      /* For convenience, we have a "total" border which is equal to the sum
       * of the two borders above. */
      GtkBorder total;
    };

### META_ICON_WIDTH

    #define META_ICON_WIDTH 32

### META_ICON_HEIGHT

    #define META_ICON_HEIGHT 32

### META_MINI_ICON_WIDTH

    #define META_MINI_ICON_WIDTH 16

### META_MINI_ICON_HEIGHT

    #define META_MINI_ICON_HEIGHT 16

### META_DEFAULT_ICON_NAME

    #define META_DEFAULT_ICON_NAME "window"

### META_PRIORITY_RESIZE

    #define META_PRIORITY_RESIZE    (G_PRIORITY_HIGH_IDLE + 15)

### META_PRIORITY_BEFORE_REDRAW

    #define META_PRIORITY_BEFORE_REDRAW  (G_PRIORITY_HIGH_IDLE + 40)

### META_PRIORITY_REDRAW

    #define META_PRIORITY_REDRAW    (G_PRIORITY_HIGH_IDLE + 50)

### META_PRIORITY_PREFS_NOTIFY

    #define META_PRIORITY_PREFS_NOTIFY   (G_PRIORITY_DEFAULT_IDLE + 10)

### enum MetaStackLayer

#### Members

META_LAYER_DESKTOP |  |
META_LAYER_BOTTOM |  |
META_LAYER_NORMAL |  |
META_LAYER_TOP |  |
META_LAYER_DOCK |  |
META_LAYER_FULLSCREEN |  |
META_LAYER_FOCUSED_WINDOW |  |
META_LAYER_OVERRIDE_REDIRECT |  |
META_LAYER_LAST |  |

### enum MetaPlacementMode

#### Members

META_PLACEMENT_MODE_AUTOMATIC |  |
META_PLACEMENT_MODE_POINTER |  |
META_PLACEMENT_MODE_MANUAL |  |
META_PLACEMENT_MODE_CENTER |  |

### MetaResizePopup

    typedef struct _MetaResizePopup MetaResizePopup;

### MetaWindowMenu

    typedef struct {
      MetaFrames *frames;
      Window client_xwindow;
      GtkWidget *menu;
      MetaWindowMenuFunc func;
      gpointer data;
      MetaMenuOp ops;
      MetaMenuOp insensitive;
    } MetaWindowMenu;