Blame libwnck/xutils.h

Packit 4e910c
/* Xlib utilities */
Packit 4e910c
/* vim: set sw=2 et: */
Packit 4e910c
Packit 4e910c
/*
Packit 4e910c
 * Copyright (C) 2001 Havoc Pennington
Packit 4e910c
 * Copyright (C) 2005-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
#ifndef WNCK_XUTILS_H
Packit 4e910c
#define WNCK_XUTILS_H
Packit 4e910c
Packit 4e910c
#include <glib.h>
Packit 4e910c
#include <X11/Xlib.h>
Packit 4e910c
#include <X11/Xatom.h>
Packit 4e910c
#include <gdk/gdk.h>
Packit 4e910c
#include <gdk/gdkx.h>
Packit 4e910c
Packit 4e910c
G_BEGIN_DECLS
Packit 4e910c
Packit 4e910c
#define WNCK_APP_WINDOW_EVENT_MASK (PropertyChangeMask | StructureNotifyMask)
Packit 4e910c
Packit 4e910c
gboolean _wnck_get_cardinal      (Screen *screen,
Packit 4e910c
                                  Window  xwindow,
Packit 4e910c
                                  Atom    atom,
Packit 4e910c
                                  int    *val);
Packit 4e910c
int      _wnck_get_wm_state      (Screen *screen,
Packit 4e910c
                                  Window  xwindow);
Packit 4e910c
gboolean _wnck_get_window        (Screen *screen,
Packit 4e910c
                                  Window  xwindow,
Packit 4e910c
                                  Atom    atom,
Packit 4e910c
                                  Window *val);
Packit 4e910c
gboolean _wnck_get_pixmap        (Screen *screen,
Packit 4e910c
                                  Window  xwindow,
Packit 4e910c
                                  Atom    atom,
Packit 4e910c
                                  Pixmap *val);
Packit 4e910c
gboolean _wnck_get_atom          (Screen *screen,
Packit 4e910c
                                  Window  xwindow,
Packit 4e910c
                                  Atom    atom,
Packit 4e910c
                                  Atom   *val);
Packit 4e910c
char*    _wnck_get_text_property (Screen *screen,
Packit 4e910c
                                  Window  xwindow,
Packit 4e910c
                                  Atom    atom);
Packit 4e910c
char*    _wnck_get_utf8_property (Screen *screen,
Packit 4e910c
                                  Window  xwindow,
Packit 4e910c
                                  Atom    atom);
Packit 4e910c
gboolean _wnck_get_window_list   (Screen  *screen,
Packit 4e910c
                                  Window   xwindow,
Packit 4e910c
                                  Atom     atom,
Packit 4e910c
                                  Window **windows,
Packit 4e910c
                                  int     *len);
Packit 4e910c
gboolean _wnck_get_atom_list     (Screen  *screen,
Packit 4e910c
                                  Window   xwindow,
Packit 4e910c
                                  Atom     atom,
Packit 4e910c
                                  Atom   **atoms,
Packit 4e910c
                                  int     *len);
Packit 4e910c
gboolean _wnck_get_cardinal_list (Screen  *screen,
Packit 4e910c
                                  Window   xwindow,
Packit 4e910c
                                  Atom     atom,
Packit 4e910c
                                  gulong **cardinals,
Packit 4e910c
                                  int     *len);
Packit 4e910c
char**   _wnck_get_utf8_list     (Screen *screen,
Packit 4e910c
                                  Window  xwindow,
Packit 4e910c
                                  Atom    atom);
Packit 4e910c
Packit 4e910c
void     _wnck_set_utf8_list     (Screen  *screen,
Packit 4e910c
                                  Window   xwindow,
Packit 4e910c
                                  Atom     atom,
Packit 4e910c
                                  char   **list);
Packit 4e910c
Packit 4e910c
void _wnck_error_trap_push (Display *display);
Packit 4e910c
int  _wnck_error_trap_pop  (Display *display);
Packit 4e910c
Packit 4e910c
#define _wnck_atom_get(atom_name) gdk_x11_get_xatom_by_name (atom_name)
Packit 4e910c
#define _wnck_atom_name(atom)     gdk_x11_get_xatom_name (atom)
Packit 4e910c
Packit 4e910c
void _wnck_event_filter_init (void);
Packit 4e910c
void _wnck_event_filter_shutdown (void);
Packit 4e910c
Packit 4e910c
int   _wnck_xid_equal (gconstpointer v1,
Packit 4e910c
                       gconstpointer v2);
Packit 4e910c
guint _wnck_xid_hash  (gconstpointer v);
Packit 4e910c
Packit 4e910c
void _wnck_iconify   (Screen *screen,
Packit 4e910c
                      Window  xwindow);
Packit 4e910c
void _wnck_deiconify (Screen *screen,
Packit 4e910c
                      Window  xwindow);
Packit 4e910c
Packit 4e910c
void _wnck_close     (Screen *screen,
Packit 4e910c
		      Window  xwindow,
Packit 4e910c
		      Time    timestamp);
Packit 4e910c
Packit 4e910c
void _wnck_change_state     (Screen  *screen,
Packit 4e910c
			     Window   xwindow,
Packit 4e910c
                             gboolean add,
Packit 4e910c
                             Atom     state1,
Packit 4e910c
                             Atom     state2);
Packit 4e910c
void _wnck_change_workspace (Screen  *screen,
Packit 4e910c
			     Window   xwindow,
Packit 4e910c
                             int      new_space);
Packit 4e910c
void _wnck_activate         (Screen  *screen,
Packit 4e910c
                             Window   xwindow,
Packit 4e910c
                             Time     timestamp);
Packit 4e910c
void _wnck_activate_workspace (Screen *screen,
Packit 4e910c
                               int     new_active_space,
Packit 4e910c
                               Time    timestamp);
Packit 4e910c
void _wnck_change_viewport (Screen *screen,
Packit 4e910c
			    int     x,
Packit 4e910c
			    int     y);
Packit 4e910c
Packit 4e910c
char*  _wnck_get_session_id     (Screen *screen,
Packit 4e910c
                                 Window xwindow);
Packit 4e910c
int    _wnck_get_pid            (Screen *screen,
Packit 4e910c
                                 Window  xwindow);
Packit 4e910c
char*  _wnck_get_name           (Screen *screen,
Packit 4e910c
                                 Window  xwindow);
Packit 4e910c
char*  _wnck_get_icon_name      (Screen *screen,
Packit 4e910c
                                 Window  xwindow);
Packit 4e910c
char*  _wnck_get_res_class_utf8 (Screen *screen,
Packit 4e910c
                                 Window  xwindow);
Packit 4e910c
void   _wnck_get_wmclass        (Screen *screen,
Packit 4e910c
                                 Window  xwindow,
Packit 4e910c
                                 char **res_class,
Packit 4e910c
                                 char **res_name);
Packit 4e910c
gboolean _wnck_get_frame_extents  (Screen *screen,
Packit 4e910c
                                   Window  xwindow,
Packit 4e910c
                                   int    *left_frame,
Packit 4e910c
                                   int    *right_frame,
Packit 4e910c
                                   int    *top_frame,
Packit 4e910c
                                   int    *bottom_frame);
Packit 4e910c
Packit 4e910c
int    _wnck_select_input     (Screen  *screen,
Packit 4e910c
                               Window   xwindow,
Packit 4e910c
                               int      mask,
Packit 4e910c
                               gboolean update);
Packit 4e910c
Packit 4e910c
void   _wnck_keyboard_move    (Screen *screen,
Packit 4e910c
                               Window  xwindow);
Packit 4e910c
Packit 4e910c
void   _wnck_keyboard_size    (Screen *screen,
Packit 4e910c
                               Window  xwindow);
Packit 4e910c
Packit 4e910c
void _wnck_toggle_showing_desktop (Screen  *screen,
Packit 4e910c
                                   gboolean show);
Packit 4e910c
Packit 4e910c
typedef struct _WnckIconCache WnckIconCache;
Packit 4e910c
Packit 4e910c
WnckIconCache *_wnck_icon_cache_new                  (void);
Packit 4e910c
void           _wnck_icon_cache_free                 (WnckIconCache *icon_cache);
Packit 4e910c
void           _wnck_icon_cache_property_changed     (WnckIconCache *icon_cache,
Packit 4e910c
                                                      Atom           atom);
Packit 4e910c
gboolean       _wnck_icon_cache_get_icon_invalidated (WnckIconCache *icon_cache);
Packit 4e910c
void           _wnck_icon_cache_set_want_fallback    (WnckIconCache *icon_cache,
Packit 4e910c
                                                      gboolean       setting);
Packit 4e910c
gboolean       _wnck_icon_cache_get_is_fallback      (WnckIconCache *icon_cache);
Packit 4e910c
Packit 4e910c
gboolean _wnck_read_icons         (Screen         *screen,
Packit 4e910c
                                   Window          xwindow,
Packit 4e910c
                                   WnckIconCache  *icon_cache,
Packit 4e910c
                                   GdkPixbuf     **iconp,
Packit 4e910c
                                   int             ideal_width,
Packit 4e910c
                                   int             ideal_height,
Packit 4e910c
                                   GdkPixbuf     **mini_iconp,
Packit 4e910c
                                   int             ideal_mini_width,
Packit 4e910c
                                   int             ideal_mini_height);
Packit 4e910c
void _wnck_get_fallback_icons (GdkPixbuf     **iconp,
Packit 4e910c
                               int             ideal_width,
Packit 4e910c
                               int             ideal_height,
Packit 4e910c
                               GdkPixbuf     **mini_iconp,
Packit 4e910c
                               int             ideal_mini_width,
Packit 4e910c
                               int             ideal_mini_height);
Packit 4e910c
Packit 4e910c
Packit 4e910c
Packit 4e910c
void _wnck_get_window_geometry (Screen *screen,
Packit 4e910c
				Window  xwindow,
Packit 4e910c
                                int    *xp,
Packit 4e910c
                                int    *yp,
Packit 4e910c
                                int    *widthp,
Packit 4e910c
                                int    *heightp);
Packit 4e910c
void _wnck_set_window_geometry (Screen *screen,
Packit 4e910c
                                Window  xwindow,
Packit 4e910c
                                int     gravity_and_flags,
Packit 4e910c
                                int     x,
Packit 4e910c
                                int     y,
Packit 4e910c
                                int     width,
Packit 4e910c
                                int     height);
Packit 4e910c
Packit 4e910c
void _wnck_get_window_position (Screen *screen,
Packit 4e910c
				Window  xwindow,
Packit 4e910c
                                int    *xp,
Packit 4e910c
                                int    *yp);
Packit 4e910c
Packit 4e910c
void _wnck_set_icon_geometry  (Screen *screen,
Packit 4e910c
                               Window  xwindow,
Packit 4e910c
			       int     x,
Packit 4e910c
			       int     y,
Packit 4e910c
			       int     width,
Packit 4e910c
			       int     height);
Packit 4e910c
Packit 4e910c
void _wnck_set_desktop_layout (Screen *xscreen,
Packit 4e910c
                               int     rows,
Packit 4e910c
                               int     columns);
Packit 4e910c
Packit 4e910c
GdkPixbuf* _wnck_gdk_pixbuf_get_from_pixmap (Screen *screen,
Packit 4e910c
                                             Pixmap  xpixmap);
Packit 4e910c
Packit 4e910c
GdkDisplay* _wnck_gdk_display_lookup_from_display (Display *display);
Packit 4e910c
Packit 4e910c
GdkWindow* _wnck_gdk_window_lookup_from_window (Screen *screen,
Packit 4e910c
                                                Window  xwindow);
Packit 4e910c
Packit 4e910c
#define WNCK_NO_MANAGER_TOKEN 0
Packit 4e910c
Packit 4e910c
int      _wnck_try_desktop_layout_manager           (Screen *xscreen,
Packit 4e910c
                                                     int     current_token);
Packit 4e910c
void     _wnck_release_desktop_layout_manager       (Screen *xscreen,
Packit 4e910c
                                                     int     current_token);
Packit 4e910c
gboolean _wnck_desktop_layout_manager_process_event (XEvent *xev);
Packit 4e910c
Packit 4e910c
G_END_DECLS
Packit 4e910c
Packit 4e910c
#endif /* WNCK_XUTILS_H */