summaryrefslogtreecommitdiff
path: root/src/meta/window.h
diff options
context:
space:
mode:
authorDan Winship <danw@gnome.org>2011-03-05 19:29:12 -0500
committerDan Winship <danw@gnome.org>2011-03-07 18:19:53 -0500
commitc84da3ce1babdf9620179aa8f75a515428169e5b (patch)
tree1c7efb8b6e3bf7c6f7ac6c88f6133ab6fdc0b1d0 /src/meta/window.h
parentbb50f65532f8f513d483436de88b964f6ac0a343 (diff)
downloadmutter-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.h153
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