diff options
author | Dan Winship <danw@gnome.org> | 2011-03-05 19:29:12 -0500 |
---|---|---|
committer | Dan Winship <danw@gnome.org> | 2011-03-07 18:19:53 -0500 |
commit | c84da3ce1babdf9620179aa8f75a515428169e5b (patch) | |
tree | 1c7efb8b6e3bf7c6f7ac6c88f6133ab6fdc0b1d0 /src/meta/window.h | |
parent | bb50f65532f8f513d483436de88b964f6ac0a343 (diff) | |
download | mutter-c84da3ce1babdf9620179aa8f75a515428169e5b.tar.gz |
Move the installed includes to a subdir
If mutter is going to be a "real" library, then it should install its
includes so that users can do
#include <meta/display.h>
rather than
#include <display.h>
So rename the includedir accordingly, move src/include to src/meta,
and fix up all internal references.
There were a handful of header files in src/include that were not
installed; this appears to have been part of a plan to keep core/,
ui/, and compositor/ from looking at each others' private includes,
but that wasn't really working anyway. So move all non-installed
headers back into core/ or ui/.
https://bugzilla.gnome.org/show_bug.cgi?id=643959
Diffstat (limited to 'src/meta/window.h')
-rw-r--r-- | src/meta/window.h | 153 |
1 files changed, 153 insertions, 0 deletions
diff --git a/src/meta/window.h b/src/meta/window.h new file mode 100644 index 000000000..1eac457b9 --- /dev/null +++ b/src/meta/window.h @@ -0,0 +1,153 @@ +/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ + +/* + * Copyright (C) 2008 Iain Holmes + * + * 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 the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + * 02111-1307, USA. + */ + +#ifndef META_WINDOW_H +#define META_WINDOW_H + +#include <glib-object.h> +#include <X11/Xlib.h> + +#include <meta/boxes.h> +#include <meta/types.h> + +typedef enum +{ + META_WINDOW_NORMAL, + META_WINDOW_DESKTOP, + META_WINDOW_DOCK, + META_WINDOW_DIALOG, + META_WINDOW_MODAL_DIALOG, + META_WINDOW_TOOLBAR, + META_WINDOW_MENU, + META_WINDOW_UTILITY, + META_WINDOW_SPLASHSCREEN, + + /* override redirect window types: */ + META_WINDOW_DROPDOWN_MENU, + META_WINDOW_POPUP_MENU, + META_WINDOW_TOOLTIP, + META_WINDOW_NOTIFICATION, + META_WINDOW_COMBO, + META_WINDOW_DND, + META_WINDOW_OVERRIDE_OTHER +} MetaWindowType; + +typedef enum +{ + META_MAXIMIZE_HORIZONTAL = 1 << 0, + META_MAXIMIZE_VERTICAL = 1 << 1 +} MetaMaximizeFlags; + +#define META_TYPE_WINDOW (meta_window_get_type ()) +#define META_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), META_TYPE_WINDOW, MetaWindow)) +#define META_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), META_TYPE_WINDOW, MetaWindowClass)) +#define META_IS_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), META_TYPE_WINDOW)) +#define META_IS_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), META_TYPE_WINDOW)) +#define META_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), META_TYPE_WINDOW, MetaWindowClass)) + +typedef struct _MetaWindowClass MetaWindowClass; + +GType meta_window_get_type (void); + +MetaFrame *meta_window_get_frame (MetaWindow *window); +gboolean meta_window_has_focus (MetaWindow *window); +gboolean meta_window_appears_focused (MetaWindow *window); +gboolean meta_window_is_shaded (MetaWindow *window); +gboolean meta_window_is_override_redirect (MetaWindow *window); +gboolean meta_window_is_skip_taskbar (MetaWindow *window); +MetaRectangle *meta_window_get_rect (MetaWindow *window); +void meta_window_get_outer_rect (const MetaWindow *window, MetaRectangle *rect); +MetaScreen *meta_window_get_screen (MetaWindow *window); +MetaDisplay *meta_window_get_display (MetaWindow *window); +Window meta_window_get_xwindow (MetaWindow *window); +MetaWindowType meta_window_get_window_type (MetaWindow *window); +Atom meta_window_get_window_type_atom (MetaWindow *window); +MetaWorkspace *meta_window_get_workspace (MetaWindow *window); +gboolean meta_window_is_on_all_workspaces (MetaWindow *window); +gboolean meta_window_is_hidden (MetaWindow *window); +void meta_window_activate (MetaWindow *window,guint32 current_time); +void meta_window_activate_with_workspace (MetaWindow *window, + guint32 current_time, + MetaWorkspace *workspace); +const char * meta_window_get_description (MetaWindow *window); +const char * meta_window_get_wm_class (MetaWindow *window); +const char * meta_window_get_wm_class_instance (MetaWindow *window); +/* Return whether the window would be showing if we were on its workspace */ +gboolean meta_window_showing_on_its_workspace (MetaWindow *window); + +void meta_window_set_demands_attention (MetaWindow *window); +void meta_window_unset_demands_attention (MetaWindow *window); + +const char* meta_window_get_startup_id (MetaWindow *window); +void meta_window_change_workspace_by_index (MetaWindow *window, + gint space_index, + gboolean append, + guint32 timestamp); +GObject *meta_window_get_compositor_private (MetaWindow *window); +void meta_window_set_compositor_private (MetaWindow *window, GObject *priv); +void meta_window_configure_notify (MetaWindow *window, XConfigureEvent *event); +const char *meta_window_get_role (MetaWindow *window); +MetaStackLayer meta_window_get_layer (MetaWindow *window); +MetaWindow* meta_window_find_root_ancestor (MetaWindow *window); +gboolean meta_window_is_ancestor_of_transient (MetaWindow *window, + MetaWindow *transient); + +typedef gboolean (*MetaWindowForeachFunc) (MetaWindow *window, + void *data); + +void meta_window_foreach_transient (MetaWindow *window, + MetaWindowForeachFunc func, + void *user_data); +void meta_window_foreach_ancestor (MetaWindow *window, + MetaWindowForeachFunc func, + void *user_data); + +MetaMaximizeFlags meta_window_get_maximized (MetaWindow *window); +gboolean meta_window_is_fullscreen (MetaWindow *window); + +gboolean meta_window_is_mapped (MetaWindow *window); +gboolean meta_window_toplevel_is_mapped (MetaWindow *window); +gboolean meta_window_get_icon_geometry (MetaWindow *window, + MetaRectangle *rect); +void meta_window_maximize (MetaWindow *window, + MetaMaximizeFlags directions); +void meta_window_unmaximize (MetaWindow *window, + MetaMaximizeFlags directions); +void meta_window_minimize (MetaWindow *window); +void meta_window_unminimize (MetaWindow *window); +void meta_window_raise (MetaWindow *window); +void meta_window_lower (MetaWindow *window); +const char *meta_window_get_title (MetaWindow *window); +MetaWindow *meta_window_get_transient_for (MetaWindow *window); +Window meta_window_get_transient_for_as_xid (MetaWindow *window); +void meta_window_delete (MetaWindow *window, + guint32 timestamp); +guint meta_window_get_stable_sequence (MetaWindow *window); +guint32 meta_window_get_user_time (MetaWindow *window); +int meta_window_get_pid (MetaWindow *window); +const char *meta_window_get_client_machine (MetaWindow *window); +gboolean meta_window_is_remote (MetaWindow *window); +gboolean meta_window_is_modal (MetaWindow *window); +const char *meta_window_get_mutter_hints (MetaWindow *window); + +MetaFrameType meta_window_get_frame_type (MetaWindow *window); + +#endif |