|
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 */
|