edelib  2.0.0
Netwm.h
1 /*
2  * $Id: Netwm.h 3240 2012-04-09 12:32:47Z karijes $
3  *
4  * Functions for easier communication with window manager
5  * Copyright (c) 2009 edelib authors
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2 of the License, or (at your option) any later version.
11  *
12  * This library 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 GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public License
18  * along with this library. If not, see <http://www.gnu.org/licenses/>.
19  */
20 
21 #ifndef __EDELIB_NETWM_H__
22 #define __EDELIB_NETWM_H__
23 
24 #include "edelib-global.h"
25 #include <FL/Fl_Image.H>
26 #include <FL/x.H>
27 
28 EDELIB_NS_BEGIN
29 
38 enum {
49 };
50 
56 enum {
65 
72 };
73 
83 };
84 
104 };
105 
114 };
115 
116 
121 typedef void (*NetwmCallback)(int action, Window xid, void *data);
122 
132 void netwm_callback_add(NetwmCallback cb, void *data = 0);
133 
139 
144 bool netwm_workarea_get_size(int& x, int& y, int& w, int &h);
145 
150 int netwm_workspace_get_count(void);
151 
156 void netwm_workspace_change(int n);
157 
163 
169 int netwm_workspace_get_names(char**& names);
170 
175 void netwm_workspace_free_names(char** names);
176 
182 void netwm_window_set_type(Window win, int t);
183 
189 
194 void netwm_window_set_strut(Window win, int left, int right, int top, int bottom);
195 
201 
206 int netwm_window_get_all_mapped(Window **windows);
207 
213 
220 
225 char *netwm_window_get_title(Window win);
226 
231 Fl_RGB_Image *netwm_window_get_icon(Window win);
232 
238 
244 
249 void netwm_window_maximize(Window win) EDELIB_DEPRECATED;
250 
255 void netwm_window_close(Window win);
256 
261 void wm_window_ede_restore(Window win);
262 
272 
278 
283 void wm_window_set_state(Window win, WmStateValue state);
284 
285 EDELIB_NS_END
286 #endif
workspace names gets changed
Definition: Netwm.h:40
tooltip (part of 1.4)
Definition: Netwm.h:68
Window netwm_window_get_active(void)
window should go in fullscreen mode
Definition: Netwm.h:100
WmStateValue
Definition: Netwm.h:78
window visible name was changed
Definition: Netwm.h:45
void netwm_window_set_strut(Window win, int left, int right, int top, int bottom)
different workspace was activated
Definition: Netwm.h:41
WmStateValue wm_window_get_state(Window win)
int netwm_window_get_workspace(Window win)
dropdown menu window (part of 1.4)
Definition: Netwm.h:66
void netwm_workspace_free_names(char **names)
bool netwm_workarea_get_size(int &x, int &y, int &w, int &h)
window should go on top of all windows
Definition: Netwm.h:101
Fl_RGB_Image * netwm_window_get_icon(Window win)
window should be hidden (or minimized)
Definition: Netwm.h:99
window should skip pager
Definition: Netwm.h:98
int netwm_workspace_get_names(char **&names)
window state couldn't be determined
Definition: Netwm.h:90
window is being dragged (part of 1.4)
Definition: Netwm.h:71
window state couldn't be determined
Definition: Netwm.h:79
window as menu
Definition: Netwm.h:61
window name was changed
Definition: Netwm.h:44
void netwm_window_set_type(Window win, int t)
window should go below all windows
Definition: Netwm.h:102
int netwm_window_is_manageable(Window win)
ordinary window
Definition: Netwm.h:57
withdraw state
Definition: Netwm.h:80
maximized horizontally
Definition: Netwm.h:94
workspace count was changed
Definition: Netwm.h:39
window icon was changed
Definition: Netwm.h:47
void wm_window_set_state(Window win, WmStateValue state)
void wm_window_ede_restore(Window win)
int netwm_window_get_all_mapped(Window **windows)
int netwm_window_get_type(Window win)
splash window
Definition: Netwm.h:63
Window class.
Definition: Window.h:73
void netwm_workspace_change(int n)
dialog window
Definition: Netwm.h:64
window is moved to another workspace
Definition: Netwm.h:46
different window was selected
Definition: Netwm.h:43
popup window (part of 1.4)
Definition: Netwm.h:67
void netwm_window_maximize(Window win)
window as utility window
Definition: Netwm.h:62
int netwm_workspace_get_count(void)
fully maximized
Definition: Netwm.h:95
void netwm_window_set_state(Window win, NetwmStateValue val, NetwmStateAction action)
remove state
Definition: Netwm.h:111
shaded window
Definition: Netwm.h:96
add state
Definition: Netwm.h:112
modal dialog box
Definition: Netwm.h:91
window as toolbar
Definition: Netwm.h:60
window popped up by combo boxes (part of 1.4)
Definition: Netwm.h:70
void netwm_callback_add(NetwmCallback cb, void *data=0)
window is visible
Definition: Netwm.h:81
docked window, like pager or panel
Definition: Netwm.h:59
sticky window
Definition: Netwm.h:92
NetwmStateAction
Definition: Netwm.h:110
window is hidden
Definition: Netwm.h:82
void netwm_window_close(Window win)
void netwm_window_remove_strut(Window win)
some action in or with the window happened
Definition: Netwm.h:103
void netwm_callback_remove(NetwmCallback cb)
maximized vertically
Definition: Netwm.h:93
workarea was changed
Definition: Netwm.h:42
window list was changed (another window is created or existing was closed)
Definition: Netwm.h:48
NetwmStateValue
Definition: Netwm.h:89
window placed as desktop
Definition: Netwm.h:58
toggle state
Definition: Netwm.h:113
void(* NetwmCallback)(int action, Window xid, void *data)
Definition: Netwm.h:121
window should skip taskbar
Definition: Netwm.h:97
notification (part of 1.4)
Definition: Netwm.h:69
char * netwm_window_get_title(Window win)
int netwm_workspace_get_current(void)
void netwm_window_set_active(Window win)