summaryrefslogtreecommitdiff
path: root/libwnck/widgets/xutils.h
blob: 01acaf9c0fc89e51d9c6e0805e946a42333e48d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/* Xlib utilities */
/* vim: set sw=2 et: */

/*
 * Copyright (C) 2001 Havoc Pennington
 * Copyright (C) 2005-2007 Vincent Untz
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Library General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) any later version.
 *
 * This library 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
 * Library General Public License for more details.
 *
 * You should have received a copy of the GNU Library General Public
 * License along with this library; if not, see <http://www.gnu.org/licenses/>.
 */

#ifndef WNCK_XUTILS_H
#define WNCK_XUTILS_H

#include <glib.h>
#include <X11/Xlib.h>
#include <X11/Xatom.h>
#include <gdk/gdk.h>
#include <gdk/gdkx.h>
#include <libwnck/libwnck.h>

G_BEGIN_DECLS

#define WNCK_APP_WINDOW_EVENT_MASK (PropertyChangeMask | StructureNotifyMask)

gboolean _wnck_get_window        (Screen *screen,
                                  Window  xwindow,
                                  Atom    atom,
                                  Window *val);
gboolean _wnck_get_atom          (Screen *screen,
                                  Window  xwindow,
                                  Atom    atom,
                                  Atom   *val);
void _wnck_error_trap_push (Display *display);
int  _wnck_error_trap_pop  (Display *display);

#define _wnck_atom_get(atom_name) gdk_x11_get_xatom_by_name (atom_name)
#define _wnck_atom_name(atom)     gdk_x11_get_xatom_name (atom)

void _wnck_get_fallback_icons (GdkPixbuf **iconp,
                               int         ideal_size,
                               GdkPixbuf **mini_iconp,
                               int         ideal_mini_size);

void _wnck_get_window_geometry (Screen *screen,
				Window  xwindow,
                                int    *xp,
                                int    *yp,
                                int    *widthp,
                                int    *heightp);

void _wnck_get_window_position (Screen *screen,
				Window  xwindow,
                                int    *xp,
                                int    *yp);

void _wnck_set_icon_geometry  (Screen *screen,
                               Window  xwindow,
			       int     x,
			       int     y,
			       int     width,
			       int     height);

cairo_surface_t *_wnck_cairo_surface_get_from_pixmap (Screen *screen,
                                                      Pixmap  xpixmap);

GdkPixbuf* _wnck_gdk_pixbuf_get_from_pixmap (Screen *screen,
                                             Pixmap  xpixmap);

GdkDisplay* _wnck_gdk_display_lookup_from_display (Display *display);

GdkWindow* _wnck_gdk_window_lookup_from_window (Screen *screen,
                                                Window  xwindow);

G_END_DECLS

#endif /* WNCK_XUTILS_H */