Blame libwnck/window.h

Packit 4e910c
/* window object */
Packit 4e910c
/* vim: set sw=2 et: */
Packit 4e910c
Packit 4e910c
/*
Packit 4e910c
 * Copyright (C) 2001 Havoc Pennington
Packit 4e910c
 * Copyright (C) 2006-2007 Vincent Untz
Packit 4e910c
 *
Packit 4e910c
 * This library is free software; you can redistribute it and/or
Packit 4e910c
 * modify it under the terms of the GNU Library General Public
Packit 4e910c
 * License as published by the Free Software Foundation; either
Packit 4e910c
 * version 2 of the License, or (at your option) any later version.
Packit 4e910c
 *
Packit 4e910c
 * This library is distributed in the hope that it will be useful,
Packit 4e910c
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 4e910c
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit 4e910c
 * Library General Public License for more details.
Packit 4e910c
 *
Packit 4e910c
 * You should have received a copy of the GNU Library General Public
Packit 4e910c
 * License along with this library; if not, see <http://www.gnu.org/licenses/>.
Packit 4e910c
 */
Packit 4e910c
Packit 4e910c
#if !defined (__LIBWNCK_H_INSIDE__) && !defined (WNCK_COMPILATION)
Packit 4e910c
#error "Only <libwnck/libwnck.h> can be included directly."
Packit 4e910c
#endif
Packit 4e910c
Packit 4e910c
#ifndef WNCK_WINDOW_H
Packit 4e910c
#define WNCK_WINDOW_H
Packit 4e910c
Packit 4e910c
#ifndef WNCK_I_KNOW_THIS_IS_UNSTABLE
Packit 4e910c
#error "libwnck should only be used if you understand that it's subject to frequent change, and is not supported as a fixed API/ABI or as part of the platform"
Packit 4e910c
#endif
Packit 4e910c
Packit 4e910c
#include <glib-object.h>
Packit 4e910c
#include <libwnck/screen.h>
Packit 4e910c
#include <gdk-pixbuf/gdk-pixbuf.h>
Packit 4e910c
Packit 4e910c
G_BEGIN_DECLS
Packit 4e910c
Packit 4e910c
/**
Packit 4e910c
 * WnckWindowState:
Packit 4e910c
 * @WNCK_WINDOW_STATE_MINIMIZED: the window is minimized.
Packit 4e910c
 * @WNCK_WINDOW_STATE_MAXIMIZED_HORIZONTALLY: the window is horizontically
Packit 4e910c
 * maximized.
Packit 4e910c
 * @WNCK_WINDOW_STATE_MAXIMIZED_VERTICALLY: the window is vertically maximized.
Packit 4e910c
 * @WNCK_WINDOW_STATE_SHADED: the window is shaded.
Packit 4e910c
 * @WNCK_WINDOW_STATE_SKIP_PAGER: the window should not be included on pagers.
Packit 4e910c
 * @WNCK_WINDOW_STATE_SKIP_TASKLIST: the window should not be included on
Packit 4e910c
 * tasklists.
Packit 4e910c
 * @WNCK_WINDOW_STATE_STICKY: the window is sticky (see
Packit 4e910c
 * wnck_window_is_sticky()).
Packit 4e910c
 * @WNCK_WINDOW_STATE_HIDDEN: the window is not visible on its #WnckWorkspace
Packit 4e910c
 * and viewport (when minimized, for example).
Packit 4e910c
 * @WNCK_WINDOW_STATE_FULLSCREEN: the window is fullscreen.
Packit 4e910c
 * @WNCK_WINDOW_STATE_DEMANDS_ATTENTION: the window needs attention (because
Packit 4e910c
 * the window requested activation but the window manager refused it, for
Packit 4e910c
 * example).
Packit 4e910c
 * @WNCK_WINDOW_STATE_URGENT: the window requires a response from the user.
Packit 4e910c
 * @WNCK_WINDOW_STATE_ABOVE: the window is above other windows (see
Packit 4e910c
 * wnck_window_make_above()).
Packit 4e910c
 * @WNCK_WINDOW_STATE_BELOW: the window is below other windows (see
Packit 4e910c
 * wnck_window_make_below()).
Packit 4e910c
 *
Packit 4e910c
 * Type used as a bitmask to describe the state of a #WnckWindow.
Packit 4e910c
 */
Packit 4e910c
typedef enum
Packit 4e910c
{
Packit 4e910c
  WNCK_WINDOW_STATE_MINIMIZED              = 1 << 0,
Packit 4e910c
  WNCK_WINDOW_STATE_MAXIMIZED_HORIZONTALLY = 1 << 1,
Packit 4e910c
  WNCK_WINDOW_STATE_MAXIMIZED_VERTICALLY   = 1 << 2,
Packit 4e910c
  WNCK_WINDOW_STATE_SHADED                 = 1 << 3,
Packit 4e910c
  WNCK_WINDOW_STATE_SKIP_PAGER             = 1 << 4,
Packit 4e910c
  WNCK_WINDOW_STATE_SKIP_TASKLIST          = 1 << 5,
Packit 4e910c
  WNCK_WINDOW_STATE_STICKY                 = 1 << 6,
Packit 4e910c
  WNCK_WINDOW_STATE_HIDDEN                 = 1 << 7,
Packit 4e910c
  WNCK_WINDOW_STATE_FULLSCREEN             = 1 << 8,
Packit 4e910c
  WNCK_WINDOW_STATE_DEMANDS_ATTENTION      = 1 << 9,
Packit 4e910c
  WNCK_WINDOW_STATE_URGENT                 = 1 << 10,
Packit 4e910c
  WNCK_WINDOW_STATE_ABOVE                  = 1 << 11,
Packit 4e910c
  WNCK_WINDOW_STATE_BELOW                  = 1 << 12
Packit 4e910c
} WnckWindowState;
Packit 4e910c
Packit 4e910c
/**
Packit 4e910c
 * WnckWindowActions:
Packit 4e910c
 * @WNCK_WINDOW_ACTION_MOVE: the window may be moved around the screen. 
Packit 4e910c
 * @WNCK_WINDOW_ACTION_RESIZE: the window may be resized.
Packit 4e910c
 * @WNCK_WINDOW_ACTION_SHADE: the window may be shaded.
Packit 4e910c
 * @WNCK_WINDOW_ACTION_STICK: the window may be sticked.
Packit 4e910c
 * @WNCK_WINDOW_ACTION_MAXIMIZE_HORIZONTALLY: the window may be maximized
Packit 4e910c
 * horizontally.
Packit 4e910c
 * @WNCK_WINDOW_ACTION_MAXIMIZE_VERTICALLY: the window may be maximized
Packit 4e910c
 * vertically.
Packit 4e910c
 * @WNCK_WINDOW_ACTION_CHANGE_WORKSPACE: the window may be moved between
Packit 4e910c
 * workspaces, or (un)pinned.
Packit 4e910c
 * @WNCK_WINDOW_ACTION_CLOSE: the window may be closed.
Packit 4e910c
 * @WNCK_WINDOW_ACTION_UNMAXIMIZE_HORIZONTALLY: the window may be unmaximized
Packit 4e910c
 * horizontally.
Packit 4e910c
 * @WNCK_WINDOW_ACTION_UNMAXIMIZE_VERTICALLY: the window may be maximized
Packit 4e910c
 * vertically.
Packit 4e910c
 * @WNCK_WINDOW_ACTION_UNSHADE: the window may be unshaded.
Packit 4e910c
 * @WNCK_WINDOW_ACTION_UNSTICK: the window may be unsticked.
Packit 4e910c
 * @WNCK_WINDOW_ACTION_MINIMIZE: the window may be minimized.
Packit 4e910c
 * @WNCK_WINDOW_ACTION_UNMINIMIZE: the window may be unminimized.
Packit 4e910c
 * @WNCK_WINDOW_ACTION_MAXIMIZE: the window may be maximized.
Packit 4e910c
 * @WNCK_WINDOW_ACTION_UNMAXIMIZE: the window may be unmaximized.
Packit 4e910c
 * @WNCK_WINDOW_ACTION_FULLSCREEN: the window may be brought to fullscreen.
Packit 4e910c
 * @WNCK_WINDOW_ACTION_ABOVE: the window may be made above other windows.
Packit 4e910c
 * @WNCK_WINDOW_ACTION_BELOW: the window may be made below other windows.
Packit 4e910c
 *
Packit 4e910c
 * Type used as a bitmask to describe the actions that can be done for a
Packit 4e910c
 * #WnckWindow.
Packit 4e910c
 */
Packit 4e910c
typedef enum
Packit 4e910c
{
Packit 4e910c
  WNCK_WINDOW_ACTION_MOVE                    = 1 << 0,
Packit 4e910c
  WNCK_WINDOW_ACTION_RESIZE                  = 1 << 1,
Packit 4e910c
  WNCK_WINDOW_ACTION_SHADE                   = 1 << 2,
Packit 4e910c
  WNCK_WINDOW_ACTION_STICK                   = 1 << 3,
Packit 4e910c
  WNCK_WINDOW_ACTION_MAXIMIZE_HORIZONTALLY   = 1 << 4,
Packit 4e910c
  WNCK_WINDOW_ACTION_MAXIMIZE_VERTICALLY     = 1 << 5,
Packit 4e910c
  WNCK_WINDOW_ACTION_CHANGE_WORKSPACE        = 1 << 6, /* includes pin/unpin */
Packit 4e910c
  WNCK_WINDOW_ACTION_CLOSE                   = 1 << 7,
Packit 4e910c
  WNCK_WINDOW_ACTION_UNMAXIMIZE_HORIZONTALLY = 1 << 8,
Packit 4e910c
  WNCK_WINDOW_ACTION_UNMAXIMIZE_VERTICALLY   = 1 << 9,
Packit 4e910c
  WNCK_WINDOW_ACTION_UNSHADE                 = 1 << 10,
Packit 4e910c
  WNCK_WINDOW_ACTION_UNSTICK                 = 1 << 11,
Packit 4e910c
  WNCK_WINDOW_ACTION_MINIMIZE                = 1 << 12,
Packit 4e910c
  WNCK_WINDOW_ACTION_UNMINIMIZE              = 1 << 13,
Packit 4e910c
  WNCK_WINDOW_ACTION_MAXIMIZE                = 1 << 14,
Packit 4e910c
  WNCK_WINDOW_ACTION_UNMAXIMIZE              = 1 << 15,
Packit 4e910c
  WNCK_WINDOW_ACTION_FULLSCREEN              = 1 << 16,
Packit 4e910c
  WNCK_WINDOW_ACTION_ABOVE                   = 1 << 17,
Packit 4e910c
  WNCK_WINDOW_ACTION_BELOW                   = 1 << 18
Packit 4e910c
} WnckWindowActions;
Packit 4e910c
Packit 4e910c
/**
Packit 4e910c
 * WnckWindowType:
Packit 4e910c
 * @WNCK_WINDOW_NORMAL: the window is a normal window.
Packit 4e910c
 * @WNCK_WINDOW_DESKTOP: the window is a desktop.
Packit 4e910c
 * @WNCK_WINDOW_DOCK: the window is a dock or a panel.
Packit 4e910c
 * @WNCK_WINDOW_DIALOG: the window is a dialog window.
Packit 4e910c
 * @WNCK_WINDOW_TOOLBAR: the window is a tearoff toolbar.
Packit 4e910c
 * @WNCK_WINDOW_MENU: the window is a tearoff menu.
Packit 4e910c
 * @WNCK_WINDOW_UTILITY: the window is a small persistent utility window, such
Packit 4e910c
 * as a palette or toolbox.
Packit 4e910c
 * @WNCK_WINDOW_SPLASHSCREEN: the window is a splash screen displayed as an
Packit 4e910c
 * application is starting up.
Packit 4e910c
 *
Packit 4e910c
 * Type describing the semantic type of a #WnckWindow.
Packit 4e910c
 */
Packit 4e910c
typedef enum
Packit 4e910c
{
Packit 4e910c
  WNCK_WINDOW_NORMAL,       /* document/app window */
Packit 4e910c
  WNCK_WINDOW_DESKTOP,      /* desktop background */
Packit 4e910c
  WNCK_WINDOW_DOCK,         /* panel */
Packit 4e910c
  WNCK_WINDOW_DIALOG,       /* dialog */
Packit 4e910c
  WNCK_WINDOW_TOOLBAR,      /* tearoff toolbar */
Packit 4e910c
  WNCK_WINDOW_MENU,         /* tearoff menu */
Packit 4e910c
  WNCK_WINDOW_UTILITY,      /* palette/toolbox window */
Packit 4e910c
  WNCK_WINDOW_SPLASHSCREEN  /* splash screen */
Packit 4e910c
} WnckWindowType;
Packit 4e910c
Packit 4e910c
/**
Packit 4e910c
 * WnckWindowGravity:
Packit 4e910c
 * @WNCK_WINDOW_GRAVITY_CURRENT: keep the current gravity point.
Packit 4e910c
 * @WNCK_WINDOW_GRAVITY_NORTHWEST: use the left top corner of the frame window
Packit 4e910c
 * as gravity point.
Packit 4e910c
 * @WNCK_WINDOW_GRAVITY_NORTH: use the center of the frame window's top side as
Packit 4e910c
 * gravity point.
Packit 4e910c
 * @WNCK_WINDOW_GRAVITY_NORTHEAST: use the right top corner of the frame window
Packit 4e910c
 * as gravity point.
Packit 4e910c
 * @WNCK_WINDOW_GRAVITY_WEST: use the center of the frame window's left side as
Packit 4e910c
 * gravity point.
Packit 4e910c
 * @WNCK_WINDOW_GRAVITY_CENTER: use the center of the frame window as gravity
Packit 4e910c
 * point.
Packit 4e910c
 * @WNCK_WINDOW_GRAVITY_EAST: use the center of the frame window's right side
Packit 4e910c
 * as gravity point.
Packit 4e910c
 * @WNCK_WINDOW_GRAVITY_SOUTHWEST: use the left bottom corner of the frame
Packit 4e910c
 * window as gravity point.
Packit 4e910c
 * @WNCK_WINDOW_GRAVITY_SOUTH: use the center of the frame window's bottom side
Packit 4e910c
 * as gravity point.
Packit 4e910c
 * @WNCK_WINDOW_GRAVITY_SOUTHEAST: use the right bottom corner of the frame
Packit 4e910c
 * window as gravity point.
Packit 4e910c
 * @WNCK_WINDOW_GRAVITY_STATIC: use the left top corner of the client window as
Packit 4e910c
 * gravity point.
Packit 4e910c
 *
Packit 4e910c
 * Flag used when changing the geometry of a #WnckWindow. This is the gravity
Packit 4e910c
 * point to use as a reference for the new position.
Packit 4e910c
 *
Packit 4e910c
 * Since: 2.16
Packit 4e910c
 */
Packit 4e910c
typedef enum
Packit 4e910c
{
Packit 4e910c
  WNCK_WINDOW_GRAVITY_CURRENT   = 0,
Packit 4e910c
  WNCK_WINDOW_GRAVITY_NORTHWEST = 1,
Packit 4e910c
  WNCK_WINDOW_GRAVITY_NORTH     = 2,
Packit 4e910c
  WNCK_WINDOW_GRAVITY_NORTHEAST = 3,
Packit 4e910c
  WNCK_WINDOW_GRAVITY_WEST      = 4,
Packit 4e910c
  WNCK_WINDOW_GRAVITY_CENTER    = 5,
Packit 4e910c
  WNCK_WINDOW_GRAVITY_EAST      = 6,
Packit 4e910c
  WNCK_WINDOW_GRAVITY_SOUTHWEST = 7,
Packit 4e910c
  WNCK_WINDOW_GRAVITY_SOUTH     = 8,
Packit 4e910c
  WNCK_WINDOW_GRAVITY_SOUTHEAST = 9,
Packit 4e910c
  WNCK_WINDOW_GRAVITY_STATIC    = 10
Packit 4e910c
} WnckWindowGravity;
Packit 4e910c
Packit 4e910c
/**
Packit 4e910c
 * WnckWindowMoveResizeMask:
Packit 4e910c
 * @WNCK_WINDOW_CHANGE_X: X coordinate of the window should be changed.
Packit 4e910c
 * @WNCK_WINDOW_CHANGE_Y: Y coordinate of the window should be changed.
Packit 4e910c
 * @WNCK_WINDOW_CHANGE_WIDTH: width of the window should be changed.
Packit 4e910c
 * @WNCK_WINDOW_CHANGE_HEIGHT: height of the window should be changed.
Packit 4e910c
 *
Packit 4e910c
 * Flag used as a bitmask when changing the geometry of a #WnckWindow. This
Packit 4e910c
 * indicates which part of the geometry should be changed.
Packit 4e910c
 *
Packit 4e910c
 * Since: 2.16
Packit 4e910c
 */
Packit 4e910c
typedef enum
Packit 4e910c
{
Packit 4e910c
  WNCK_WINDOW_CHANGE_X      = 1 << 0,
Packit 4e910c
  WNCK_WINDOW_CHANGE_Y      = 1 << 1,
Packit 4e910c
  WNCK_WINDOW_CHANGE_WIDTH  = 1 << 2,
Packit 4e910c
  WNCK_WINDOW_CHANGE_HEIGHT = 1 << 3
Packit 4e910c
} WnckWindowMoveResizeMask;
Packit 4e910c
Packit 4e910c
#define WNCK_TYPE_WINDOW              (wnck_window_get_type ())
Packit 4e910c
#define WNCK_WINDOW(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), WNCK_TYPE_WINDOW, WnckWindow))
Packit 4e910c
#define WNCK_WINDOW_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), WNCK_TYPE_WINDOW, WnckWindowClass))
Packit 4e910c
#define WNCK_IS_WINDOW(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), WNCK_TYPE_WINDOW))
Packit 4e910c
#define WNCK_IS_WINDOW_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), WNCK_TYPE_WINDOW))
Packit 4e910c
#define WNCK_WINDOW_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), WNCK_TYPE_WINDOW, WnckWindowClass))
Packit 4e910c
Packit 4e910c
typedef struct _WnckWindowClass   WnckWindowClass;
Packit 4e910c
typedef struct _WnckWindowPrivate WnckWindowPrivate;
Packit 4e910c
Packit 4e910c
/**
Packit 4e910c
 * WnckWindow:
Packit 4e910c
 *
Packit 4e910c
 * The #WnckWindow struct contains only private fields and should not be
Packit 4e910c
 * directly accessed.
Packit 4e910c
 */
Packit 4e910c
struct _WnckWindow
Packit 4e910c
{
Packit 4e910c
  GObject parent_instance;
Packit 4e910c
Packit 4e910c
  WnckWindowPrivate *priv;
Packit 4e910c
};
Packit 4e910c
Packit 4e910c
struct _WnckWindowClass
Packit 4e910c
{
Packit 4e910c
  GObjectClass parent_class;
Packit 4e910c
Packit 4e910c
  /* window name or icon name changed */
Packit 4e910c
  void (* name_changed) (WnckWindow *window);
Packit 4e910c
Packit 4e910c
  /* minimized, maximized, sticky, skip pager, skip task, shaded
Packit 4e910c
   * may have changed
Packit 4e910c
   */
Packit 4e910c
  void (* state_changed) (WnckWindow     *window,
Packit 4e910c
                          WnckWindowState changed_mask,
Packit 4e910c
                          WnckWindowState new_state);
Packit 4e910c
Packit 4e910c
  /* Changed workspace or pinned/unpinned state */
Packit 4e910c
  void (* workspace_changed) (WnckWindow *window);
Packit 4e910c
Packit 4e910c
  /* Changed icon */
Packit 4e910c
  void (* icon_changed)      (WnckWindow *window);
Packit 4e910c
Packit 4e910c
  /* Changed actions */
Packit 4e910c
  void (* actions_changed)   (WnckWindow       *window,
Packit 4e910c
                              WnckWindowActions changed_mask,
Packit 4e910c
                              WnckWindowActions new_actions);
Packit 4e910c
Packit 4e910c
  /* Changed size/position */
Packit 4e910c
  void (* geometry_changed)  (WnckWindow       *window);
Packit 4e910c
Packit 4e910c
  /* Changed class group/instance name */
Packit 4e910c
  void (* class_changed)     (WnckWindow       *window);
Packit 4e910c
Packit 4e910c
  /* Changed role */
Packit 4e910c
  void (* role_changed)      (WnckWindow       *window);
Packit 4e910c
Packit 4e910c
  void (* type_changed)      (WnckWindow       *window);
Packit 4e910c
Packit 4e910c
  /* Padding for future expansion */
Packit 4e910c
  void (* pad1) (void);
Packit 4e910c
};
Packit 4e910c
Packit 4e910c
GType wnck_window_get_type (void) G_GNUC_CONST;
Packit 4e910c
Packit 4e910c
WnckWindow* wnck_window_get (gulong xwindow);
Packit 4e910c
Packit 4e910c
WnckScreen* wnck_window_get_screen    (WnckWindow *window);
Packit 4e910c
Packit 4e910c
gboolean    wnck_window_has_name      (WnckWindow *window);
Packit 4e910c
const char* wnck_window_get_name      (WnckWindow *window);
Packit 4e910c
gboolean    wnck_window_has_icon_name (WnckWindow *window);
Packit 4e910c
const char* wnck_window_get_icon_name (WnckWindow *window);
Packit 4e910c
Packit 4e910c
WnckApplication* wnck_window_get_application  (WnckWindow *window);
Packit 4e910c
WnckWindow*      wnck_window_get_transient    (WnckWindow *window);
Packit 4e910c
gulong           wnck_window_get_group_leader (WnckWindow *window);
Packit 4e910c
gulong           wnck_window_get_xid          (WnckWindow *window);
Packit 4e910c
Packit 4e910c
WnckClassGroup *wnck_window_get_class_group   (WnckWindow *window);
Packit 4e910c
Packit 4e910c
const char* wnck_window_get_class_group_name    (WnckWindow *window);
Packit 4e910c
const char* wnck_window_get_class_instance_name (WnckWindow *window);
Packit 4e910c
Packit 4e910c
const char* wnck_window_get_session_id        (WnckWindow *window);
Packit 4e910c
const char* wnck_window_get_session_id_utf8   (WnckWindow *window);
Packit 4e910c
const char* wnck_window_get_role              (WnckWindow *window);
Packit 4e910c
int         wnck_window_get_pid               (WnckWindow *window);
Packit 4e910c
gint        wnck_window_get_sort_order        (WnckWindow *window);
Packit 4e910c
void        wnck_window_set_sort_order        (WnckWindow *window,
Packit 4e910c
						gint order);
Packit 4e910c
Packit 4e910c
WnckWindowType wnck_window_get_window_type    (WnckWindow *window);
Packit 4e910c
void           wnck_window_set_window_type    (WnckWindow *window,
Packit 4e910c
                                               WnckWindowType wintype);
Packit 4e910c
Packit 4e910c
gboolean wnck_window_is_minimized              (WnckWindow *window);
Packit 4e910c
gboolean wnck_window_is_maximized_horizontally (WnckWindow *window);
Packit 4e910c
gboolean wnck_window_is_maximized_vertically   (WnckWindow *window);
Packit 4e910c
gboolean wnck_window_is_maximized              (WnckWindow *window);
Packit 4e910c
gboolean wnck_window_is_shaded                 (WnckWindow *window);
Packit 4e910c
gboolean wnck_window_is_above                  (WnckWindow *window);
Packit 4e910c
gboolean wnck_window_is_below                  (WnckWindow *window);
Packit 4e910c
gboolean wnck_window_is_skip_pager             (WnckWindow *window);
Packit 4e910c
gboolean wnck_window_is_skip_tasklist          (WnckWindow *window);
Packit 4e910c
gboolean wnck_window_is_fullscreen             (WnckWindow *window);
Packit 4e910c
gboolean wnck_window_is_sticky                 (WnckWindow *window);
Packit 4e910c
gboolean wnck_window_needs_attention           (WnckWindow *window);
Packit 4e910c
gboolean wnck_window_or_transient_needs_attention (WnckWindow *window);
Packit 4e910c
Packit 4e910c
void wnck_window_set_skip_pager    (WnckWindow *window,
Packit 4e910c
                                    gboolean skip);
Packit 4e910c
void wnck_window_set_skip_tasklist (WnckWindow *window,
Packit 4e910c
                                    gboolean skip);
Packit 4e910c
void wnck_window_set_fullscreen (WnckWindow *window,
Packit 4e910c
                                 gboolean fullscreen);
Packit 4e910c
Packit 4e910c
void wnck_window_close                   (WnckWindow *window,
Packit 4e910c
                                          guint32     timestamp);
Packit 4e910c
void wnck_window_minimize                (WnckWindow *window);
Packit 4e910c
void wnck_window_unminimize              (WnckWindow *window,
Packit 4e910c
                                          guint32     timestamp);
Packit 4e910c
void wnck_window_maximize                (WnckWindow *window);
Packit 4e910c
void wnck_window_unmaximize              (WnckWindow *window);
Packit 4e910c
void wnck_window_maximize_horizontally   (WnckWindow *window);
Packit 4e910c
void wnck_window_unmaximize_horizontally (WnckWindow *window);
Packit 4e910c
void wnck_window_maximize_vertically     (WnckWindow *window);
Packit 4e910c
void wnck_window_unmaximize_vertically   (WnckWindow *window);
Packit 4e910c
void wnck_window_shade                   (WnckWindow *window);
Packit 4e910c
void wnck_window_unshade                 (WnckWindow *window);
Packit 4e910c
void wnck_window_make_above              (WnckWindow *window);
Packit 4e910c
void wnck_window_unmake_above            (WnckWindow *window);
Packit 4e910c
void wnck_window_make_below              (WnckWindow *window);
Packit 4e910c
void wnck_window_unmake_below            (WnckWindow *window);
Packit 4e910c
void wnck_window_stick                   (WnckWindow *window);
Packit 4e910c
void wnck_window_unstick                 (WnckWindow *window);
Packit 4e910c
void wnck_window_keyboard_move           (WnckWindow *window);
Packit 4e910c
void wnck_window_keyboard_size           (WnckWindow *window);
Packit 4e910c
Packit 4e910c
WnckWorkspace* wnck_window_get_workspace     (WnckWindow    *window);
Packit 4e910c
void           wnck_window_move_to_workspace (WnckWindow    *window,
Packit 4e910c
                                              WnckWorkspace *space);
Packit 4e910c
Packit 4e910c
/* pinned = on all workspaces */
Packit 4e910c
gboolean wnck_window_is_pinned (WnckWindow *window);
Packit 4e910c
void     wnck_window_pin       (WnckWindow *window);
Packit 4e910c
void     wnck_window_unpin     (WnckWindow *window);
Packit 4e910c
Packit 4e910c
void     wnck_window_activate  (WnckWindow *window,
Packit 4e910c
                                guint32     timestamp);
Packit 4e910c
gboolean wnck_window_is_active (WnckWindow *window);
Packit 4e910c
gboolean wnck_window_is_most_recently_activated (WnckWindow *window);
Packit 4e910c
void     wnck_window_activate_transient (WnckWindow *window,
Packit 4e910c
                                         guint32     timestamp);
Packit 4e910c
gboolean wnck_window_transient_is_most_recently_activated (WnckWindow *window);
Packit 4e910c
Packit 4e910c
GdkPixbuf* wnck_window_get_icon      (WnckWindow *window);
Packit 4e910c
GdkPixbuf* wnck_window_get_mini_icon (WnckWindow *window);
Packit 4e910c
Packit 4e910c
gboolean wnck_window_get_icon_is_fallback (WnckWindow *window);
Packit 4e910c
Packit 4e910c
void wnck_window_set_icon_geometry        (WnckWindow *window,
Packit 4e910c
					   int         x,
Packit 4e910c
					   int         y,
Packit 4e910c
					   int         width,
Packit 4e910c
					   int         height);
Packit 4e910c
Packit 4e910c
WnckWindowActions wnck_window_get_actions (WnckWindow *window);
Packit 4e910c
WnckWindowState   wnck_window_get_state   (WnckWindow *window);
Packit 4e910c
Packit 4e910c
void wnck_window_get_client_window_geometry (WnckWindow *window,
Packit 4e910c
                                             int        *xp,
Packit 4e910c
                                             int        *yp,
Packit 4e910c
                                             int        *widthp,
Packit 4e910c
                                             int        *heightp);
Packit 4e910c
void wnck_window_get_geometry (WnckWindow *window,
Packit 4e910c
                               int        *xp,
Packit 4e910c
                               int        *yp,
Packit 4e910c
                               int        *widthp,
Packit 4e910c
                               int        *heightp);
Packit 4e910c
void wnck_window_set_geometry (WnckWindow               *window,
Packit 4e910c
                               WnckWindowGravity         gravity,
Packit 4e910c
                               WnckWindowMoveResizeMask  geometry_mask,
Packit 4e910c
                               int                       x,
Packit 4e910c
                               int                       y,
Packit 4e910c
                               int                       width,
Packit 4e910c
                               int                       height);
Packit 4e910c
Packit 4e910c
gboolean wnck_window_is_visible_on_workspace (WnckWindow    *window,
Packit 4e910c
                                              WnckWorkspace *workspace);
Packit 4e910c
gboolean wnck_window_is_on_workspace         (WnckWindow    *window,
Packit 4e910c
                                              WnckWorkspace *workspace);
Packit 4e910c
gboolean wnck_window_is_in_viewport          (WnckWindow    *window,
Packit 4e910c
                                              WnckWorkspace *workspace);
Packit 4e910c
Packit 4e910c
G_END_DECLS
Packit 4e910c
Packit 4e910c
#endif /* WNCK_WINDOW_H */