2
* This file is a part of the Cairo-Dock project
4
* Copyright : (C) see the 'copyright' file.
5
* E-mail : see the 'copyright' file.
7
* This program is free software; you can redistribute it and/or
8
* modify it under the terms of the GNU General Public License
9
* as published by the Free Software Foundation; either version 3
10
* of the License, or (at your option) any later version.
12
* This program is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU General Public License for more details.
16
* You should have received a copy of the GNU General Public License
17
* along with this program. If not, see <http://www.gnu.org/licenses/>.
21
#ifndef __CAIRO_DOCK_X_UTILITIES__
22
#define __CAIRO_DOCK_X_UTILITIES__
29
*@file cairo-dock-X-utilities.h This class provides many utilities functions to interact very specifically on X.
32
Display *cairo_dock_initialize_X_desktop_support (void);
33
void cairo_dock_initialize_X_support (void);
35
Display *cairo_dock_get_Xdisplay (void);
40
guint cairo_dock_get_root_id (void);
43
gboolean cairo_dock_update_screen_geometry (void);
45
gboolean cairo_dock_property_is_present_on_root (const gchar *cPropertyName);
48
int cairo_dock_get_current_desktop (void);
49
void cairo_dock_get_current_viewport (int *iCurrentViewPortX, int *iCurrentViewPortY);
50
int cairo_dock_get_nb_desktops (void);
51
void cairo_dock_get_nb_viewports (int *iNbViewportX, int *iNbViewportY);
53
gboolean cairo_dock_desktop_is_visible (void);
54
void cairo_dock_show_hide_desktop (gboolean bShow);
55
void cairo_dock_set_current_viewport (int iViewportNumberX, int iViewportNumberY);
56
void cairo_dock_set_current_desktop (int iDesktopNumber);
58
Pixmap cairo_dock_get_window_background_pixmap (Window Xid);
60
GdkPixbuf *cairo_dock_get_pixbuf_from_pixmap (int XPixmapID, gboolean bAddAlpha);
62
void cairo_dock_set_nb_viewports (int iNbViewportX, int iNbViewportY);
63
void cairo_dock_set_nb_desktops (gulong iNbDesktops);
65
gboolean cairo_dock_support_X_extension (void);
66
gboolean cairo_dock_xcomposite_is_available (void);
67
gboolean cairo_dock_xtest_is_available (void);
68
gboolean cairo_dock_xinerama_is_available (void);
71
void cairo_dock_get_screen_offsets (int iNumScreen, int *iScreenOffsetX, int *iScreenOffsetY);
79
void cairo_dock_set_xwindow_timestamp (Window Xid, gulong iTimeStamp);
81
void cairo_dock_set_strut_partial (int Xid, int left, int right, int top, int bottom, int left_start_y, int left_end_y, int right_start_y, int right_end_y, int top_start_x, int top_end_x, int bottom_start_x, int bottom_end_x);
83
void cairo_dock_set_xwindow_mask (Window Xid, long iMask);
85
void cairo_dock_set_xwindow_type_hint (int Xid, const gchar *cWindowTypeName);
86
void cairo_dock_set_xicon_geometry (int Xid, int iX, int iY, int iWidth, int iHeight);
88
void cairo_dock_close_xwindow (Window Xid);
89
void cairo_dock_kill_xwindow (Window Xid);
90
void cairo_dock_show_xwindow (Window Xid);
91
void cairo_dock_minimize_xwindow (Window Xid);
92
void cairo_dock_maximize_xwindow (Window Xid, gboolean bMaximize);
93
void cairo_dock_set_xwindow_fullscreen (Window Xid, gboolean bFullScreen);
94
void cairo_dock_set_xwindow_above (Window Xid, gboolean bAbove);
95
void cairo_dock_move_xwindow_to_nth_desktop (Window Xid, int iDesktopNumber, int iDesktopViewportX, int iDesktopViewportY);
96
void cairo_dock_move_xwindow_to_absolute_position (Window Xid, int iDesktopNumber, int iPositionX, int iPositionY);
99
gulong cairo_dock_get_xwindow_timestamp (Window Xid);
100
gchar *cairo_dock_get_xwindow_name (Window Xid, gboolean bSearchWmName);
101
gboolean cairo_dock_xwindow_is_maximized (Window Xid);
102
gboolean cairo_dock_xwindow_is_fullscreen (Window Xid);
103
gboolean cairo_dock_xwindow_skip_taskbar (Window Xid);
104
void cairo_dock_xwindow_is_above_or_below (Window Xid, gboolean *bIsAbove, gboolean *bIsBelow);
105
gboolean cairo_dock_xwindow_is_fullscreen_or_hidden_or_maximized (Window Xid, gboolean *bIsFullScreen, gboolean *bIsHidden, gboolean *bIsMaximized, gboolean *bDemandsAttention);
106
gboolean cairo_dock_xwindow_is_sticky (Window Xid);
107
gboolean cairo_dock_window_is_utility (int Xid);
108
gboolean cairo_dock_window_is_dock (int Xid);
110
int cairo_dock_get_xwindow_desktop (Window Xid);
111
void cairo_dock_get_xwindow_geometry (Window Xid, int *iGlobalPositionX, int *iGlobalPositionY, int *iWidthExtent, int *iHeightExtent);
112
void cairo_dock_get_xwindow_position_on_its_viewport (Window Xid, int *iRelativePositionX, int *iRelativePositionY);
114
gboolean cairo_dock_xwindow_is_on_this_desktop (Window Xid, int iDesktopNumber);
115
gboolean cairo_dock_xwindow_is_on_current_desktop (Window Xid);
117
Window *cairo_dock_get_windows_list (gulong *iNbWindows, gboolean bStackOrder);
118
Window cairo_dock_get_active_xwindow (void);