Details
enum MetaFrameFlags
typedef enum {
META_FRAME_ALLOWS_DELETE = 1 << 0,
META_FRAME_ALLOWS_MENU = 1 << 1,
META_FRAME_ALLOWS_MINIMIZE = 1 << 2,
META_FRAME_ALLOWS_MAXIMIZE = 1 << 3,
META_FRAME_ALLOWS_LEFT_RESIZE = 1 << 4,
META_FRAME_ALLOWS_RIGHT_RESIZE = 1 << 5,
META_FRAME_ALLOWS_TOP_RESIZE = 1 << 6,
META_FRAME_ALLOWS_BOTTOM_RESIZE = 1 << 7,
META_FRAME_HAS_FOCUS = 1 << 8,
META_FRAME_SHADED = 1 << 9,
META_FRAME_STUCK = 1 << 10,
META_FRAME_MAXIMIZED = 1 << 11,
META_FRAME_ALLOWS_SHADE = 1 << 12,
META_FRAME_ALLOWS_MOVE = 1 << 13,
META_FRAME_FULLSCREEN = 1 << 14,
META_FRAME_IS_FLASHING = 1 << 15,
META_FRAME_ABOVE = 1 << 16,
META_FRAME_TILED_LEFT = 1 << 17,
META_FRAME_TILED_RIGHT = 1 << 18,
META_FRAME_ALLOWS_VERTICAL_RESIZE = (META_FRAME_ALLOWS_TOP_RESIZE |
META_FRAME_ALLOWS_BOTTOM_RESIZE),
META_FRAME_ALLOWS_HORIZONTAL_RESIZE = (META_FRAME_ALLOWS_LEFT_RESIZE |
META_FRAME_ALLOWS_RIGHT_RESIZE)
} MetaFrameFlags;
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
typedef enum {
META_MENU_OP_NONE = 0,
META_MENU_OP_DELETE = 1 << 0,
META_MENU_OP_MINIMIZE = 1 << 1,
META_MENU_OP_UNMAXIMIZE = 1 << 2,
META_MENU_OP_MAXIMIZE = 1 << 3,
META_MENU_OP_UNSHADE = 1 << 4,
META_MENU_OP_SHADE = 1 << 5,
META_MENU_OP_UNSTICK = 1 << 6,
META_MENU_OP_STICK = 1 << 7,
META_MENU_OP_WORKSPACES = 1 << 8,
META_MENU_OP_MOVE = 1 << 9,
META_MENU_OP_RESIZE = 1 << 10,
META_MENU_OP_ABOVE = 1 << 11,
META_MENU_OP_UNABOVE = 1 << 12,
META_MENU_OP_MOVE_LEFT = 1 << 13,
META_MENU_OP_MOVE_RIGHT = 1 << 14,
META_MENU_OP_MOVE_UP = 1 << 15,
META_MENU_OP_MOVE_DOWN = 1 << 16,
META_MENU_OP_RECOVER = 1 << 17,
META_MENU_OP_MOVE_NEW = 1 << 18
} MetaMenuOp;
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
|
|
MetaWindowMenuFunc ()
void (*MetaWindowMenuFunc) (MetaWindowMenu *menu
,
Display *xdisplay
,
Window client_xwindow
,
guint32 timestamp
,
MetaMenuOp op
,
int workspace
,
gpointer data
);
enum MetaGrabOp
typedef enum {
META_GRAB_OP_NONE,
/* Mouse ops */
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,
/* Keyboard ops */
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,
/* Alt+Tab */
META_GRAB_OP_KEYBOARD_TABBING_NORMAL,
META_GRAB_OP_KEYBOARD_TABBING_DOCK,
/* Alt+Esc */
META_GRAB_OP_KEYBOARD_ESCAPING_NORMAL,
META_GRAB_OP_KEYBOARD_ESCAPING_DOCK,
META_GRAB_OP_KEYBOARD_ESCAPING_GROUP,
/* Alt+F6 */
META_GRAB_OP_KEYBOARD_TABBING_GROUP,
META_GRAB_OP_KEYBOARD_WORKSPACE_SWITCHING,
/* Frame button ops */
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,
/* Special grab op when the compositor asked for a grab */
META_GRAB_OP_COMPOSITOR
} MetaGrabOp;
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
typedef enum {
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
} MetaCursor;
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
typedef enum {
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
} MetaFrameType;
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
typedef enum {
/* Create gratuitous divergence from regular
* X mod bits, to be sure we find bugs
*/
META_VIRTUAL_SHIFT_MASK = 1 << 5,
META_VIRTUAL_CONTROL_MASK = 1 << 6,
META_VIRTUAL_ALT_MASK = 1 << 7,
META_VIRTUAL_META_MASK = 1 << 8,
META_VIRTUAL_SUPER_MASK = 1 << 9,
META_VIRTUAL_HYPER_MASK = 1 << 10,
META_VIRTUAL_MOD2_MASK = 1 << 11,
META_VIRTUAL_MOD3_MASK = 1 << 12,
META_VIRTUAL_MOD4_MASK = 1 << 13,
META_VIRTUAL_MOD5_MASK = 1 << 14
} MetaVirtualModifier;
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
typedef enum {
META_DIRECTION_LEFT = 1 << 0,
META_DIRECTION_RIGHT = 1 << 1,
META_DIRECTION_TOP = 1 << 2,
META_DIRECTION_BOTTOM = 1 << 3,
/* Some aliases for making code more readable for various circumstances. */
META_DIRECTION_UP = META_DIRECTION_TOP,
META_DIRECTION_DOWN = META_DIRECTION_BOTTOM,
/* A few more definitions using aliases */
META_DIRECTION_HORIZONTAL = META_DIRECTION_LEFT | META_DIRECTION_RIGHT,
META_DIRECTION_VERTICAL = META_DIRECTION_UP | META_DIRECTION_DOWN,
} MetaDirection;
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
typedef enum {
META_MOTION_UP = -1,
META_MOTION_DOWN = -2,
META_MOTION_LEFT = -3,
META_MOTION_RIGHT = -4,
/* These are only used for effects */
META_MOTION_UP_LEFT = -5,
META_MOTION_UP_RIGHT = -6,
META_MOTION_DOWN_LEFT = -7,
META_MOTION_DOWN_RIGHT = -8,
META_MOTION_NOT_EXIST_YET = -30
} MetaMotionDirection;
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
typedef enum {
META_SIDE_LEFT = META_DIRECTION_LEFT,
META_SIDE_RIGHT = META_DIRECTION_RIGHT,
META_SIDE_TOP = META_DIRECTION_TOP,
META_SIDE_BOTTOM = META_DIRECTION_BOTTOM
} MetaSide;
META_SIDE_LEFT
|
|
META_SIDE_RIGHT
|
|
META_SIDE_TOP
|
|
META_SIDE_BOTTOM
|
|
enum MetaButtonFunction
typedef enum {
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
} MetaButtonFunction;
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
typedef enum {
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
} MetaTileMode;
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
typedef enum {
META_WINDOW_TILE_TYPE_NONE,
META_WINDOW_TILE_TYPE_TILED,
META_WINDOW_TILE_TYPE_SNAPPED
} MetaWindowTileType;
META_WINDOW_TILE_TYPE_NONE
|
|
META_WINDOW_TILE_TYPE_TILED
|
|
META_WINDOW_TILE_TYPE_SNAPPED
|
|
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_frame_borders_clear ()
void meta_frame_borders_clear (MetaFrameBorders *self
);
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)
POINT_IN_RECT()
#define POINT_IN_RECT(xcoord, ycoord, rect)
enum MetaStackLayer
typedef enum {
META_LAYER_DESKTOP = 0,
META_LAYER_BOTTOM = 1,
META_LAYER_NORMAL = 2,
META_LAYER_TOP = 4, /* Same as DOCK; see EWMH and bug 330717 */
META_LAYER_DOCK = 4,
META_LAYER_FULLSCREEN = 5,
META_LAYER_FOCUSED_WINDOW = 6,
META_LAYER_OVERRIDE_REDIRECT = 7,
META_LAYER_LAST = 8
} MetaStackLayer;
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
typedef enum {
META_PLACEMENT_MODE_AUTOMATIC,
META_PLACEMENT_MODE_POINTER,
META_PLACEMENT_MODE_MANUAL,
META_PLACEMENT_MODE_CENTER
} MetaPlacementMode;
META_PLACEMENT_MODE_AUTOMATIC
|
|
META_PLACEMENT_MODE_POINTER
|
|
META_PLACEMENT_MODE_MANUAL
|
|
META_PLACEMENT_MODE_CENTER
|
|
MetaWindowMenu
typedef struct {
MetaFrames *frames;
Window client_xwindow;
GtkWidget *menu;
MetaWindowMenuFunc func;
gpointer data;
MetaMenuOp ops;
MetaMenuOp insensitive;
} MetaWindowMenu;
MetaResizePopup
typedef struct _MetaResizePopup MetaResizePopup;