Mercurial > pidgin.yaz
annotate finch/libgnt/gntwm.h @ 21596:637037d3748c
Fix a double-free and a leak at the same time.
References: https://bugzilla.redhat.com/show_bug.cgi?id=390901
author | Stu Tomlinson <stu@nosnilmot.com> |
---|---|
date | Mon, 19 Nov 2007 20:50:48 +0000 |
parents | ae330012956f |
children | c38d72677c8a |
rev | line source |
---|---|
17718
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
1 /** |
18303
5c6f019e48f8
Generate doxy-help files for libgnt. And make it actually work.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18118
diff
changeset
|
2 * @file gntwm.h Window-manager API |
5c6f019e48f8
Generate doxy-help files for libgnt. And make it actually work.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18118
diff
changeset
|
3 * @ingroup gnt |
5c6f019e48f8
Generate doxy-help files for libgnt. And make it actually work.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18118
diff
changeset
|
4 */ |
5c6f019e48f8
Generate doxy-help files for libgnt. And make it actually work.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18118
diff
changeset
|
5 /* |
17718
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
6 * GNT - The GLib Ncurses Toolkit |
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
7 * |
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
8 * GNT is the legal property of its developers, whose names are too numerous |
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
9 * to list here. Please refer to the COPYRIGHT file distributed with this |
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
10 * source distribution. |
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
11 * |
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
12 * This library is free software; you can redistribute it and/or modify |
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
13 * it under the terms of the GNU General Public License as published by |
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
14 * the Free Software Foundation; either version 2 of the License, or |
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
15 * (at your option) any later version. |
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
16 * |
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
17 * This program is distributed in the hope that it will be useful, |
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
20 * GNU General Public License for more details. |
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
21 * |
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
22 * You should have received a copy of the GNU General Public License |
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
23 * along with this program; if not, write to the Free Software |
19680
44b4e8bd759b
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
18556
diff
changeset
|
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
17718
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
25 */ |
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
26 |
16414
56d2ae9cbb5c
Initial workspace support. refs #51
Richard Nelson <wabz@pidgin.im>
parents:
16281
diff
changeset
|
27 #ifndef GNTWM_H |
56d2ae9cbb5c
Initial workspace support. refs #51
Richard Nelson <wabz@pidgin.im>
parents:
16281
diff
changeset
|
28 #define GNTWM_H |
15818 | 29 |
30 #include "gntwidget.h" | |
31 #include "gntmenu.h" | |
16414
56d2ae9cbb5c
Initial workspace support. refs #51
Richard Nelson <wabz@pidgin.im>
parents:
16281
diff
changeset
|
32 #include "gntws.h" |
15818 | 33 |
34 #include <panel.h> | |
15981
a741ec4dafa0
sf patch #1691784, from William Ehlhardt
Mark Doliner <mark@kingant.net>
parents:
15931
diff
changeset
|
35 #include <time.h> |
15818 | 36 |
37 #define GNT_TYPE_WM (gnt_wm_get_gtype()) | |
38 #define GNT_WM(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GNT_TYPE_WM, GntWM)) | |
39 #define GNT_WM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GNT_TYPE_WM, GntWMClass)) | |
40 #define GNT_IS_WM(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GNT_TYPE_WM)) | |
41 #define GNT_IS_WM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GNT_TYPE_WM)) | |
42 #define GNT_WM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GNT_TYPE_WM, GntWMClass)) | |
43 | |
18556
5e1412f4e67a
Do some work to make pygnt more useful. The dbus-gnt script works fairly
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18421
diff
changeset
|
44 typedef enum _GntKeyPressMode |
15818 | 45 { |
46 GNT_KP_MODE_NORMAL, | |
47 GNT_KP_MODE_RESIZE, | |
48 GNT_KP_MODE_MOVE, | |
18421
e16d097c5739
Allow executing another application (eg. PAGER) that will use the same
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18367
diff
changeset
|
49 GNT_KP_MODE_WAIT_ON_CHILD |
15818 | 50 } GntKeyPressMode; |
51 | |
18556
5e1412f4e67a
Do some work to make pygnt more useful. The dbus-gnt script works fairly
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18421
diff
changeset
|
52 typedef struct _GntNode |
15818 | 53 { |
54 GntWidget *me; | |
55 | |
56 WINDOW *window; | |
57 int scroll; | |
58 PANEL *panel; | |
16471
596c970076df
Alt+s to see the list of workspaces and windows.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16414
diff
changeset
|
59 GntWS *ws; |
15818 | 60 } GntNode; |
61 | |
16471
596c970076df
Alt+s to see the list of workspaces and windows.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16414
diff
changeset
|
62 typedef struct _GntWM GntWM; |
15818 | 63 |
15931
f00f2e283ffb
Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15818
diff
changeset
|
64 typedef struct _GntPosition |
15818 | 65 { |
66 int x; | |
67 int y; | |
68 } GntPosition; | |
69 | |
70 /** | |
71 * An application can register actions which will show up in a 'start-menu' like popup | |
72 */ | |
15931
f00f2e283ffb
Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15818
diff
changeset
|
73 typedef struct _GntAction |
15818 | 74 { |
75 const char *label; | |
76 void (*callback)(); | |
77 } GntAction; | |
78 | |
16471
596c970076df
Alt+s to see the list of workspaces and windows.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16414
diff
changeset
|
79 struct _GntWM |
15818 | 80 { |
81 GntBindable inherit; | |
82 | |
83 GMainLoop *loop; | |
84 | |
16414
56d2ae9cbb5c
Initial workspace support. refs #51
Richard Nelson <wabz@pidgin.im>
parents:
16281
diff
changeset
|
85 GList *workspaces; |
56d2ae9cbb5c
Initial workspace support. refs #51
Richard Nelson <wabz@pidgin.im>
parents:
16281
diff
changeset
|
86 GList *tagged; /* tagged windows */ |
56d2ae9cbb5c
Initial workspace support. refs #51
Richard Nelson <wabz@pidgin.im>
parents:
16281
diff
changeset
|
87 GntWS *cws; |
15818 | 88 |
89 struct { | |
90 GntWidget *window; | |
91 GntWidget *tree; | |
92 } _list, | |
93 *windows, /* Window-list window */ | |
94 *actions; /* Action-list window */ | |
95 | |
96 GHashTable *nodes; /* GntWidget -> GntNode */ | |
16473
5acee0788697
New windows can be placed on specific workspaces. They can be specified by the window name (e.g. conversation-window), or a substring in the window title. Title takes precedence.
Richard Nelson <wabz@pidgin.im>
parents:
16471
diff
changeset
|
97 GHashTable *name_places; /* window name -> ws*/ |
5acee0788697
New windows can be placed on specific workspaces. They can be specified by the window name (e.g. conversation-window), or a substring in the window title. Title takes precedence.
Richard Nelson <wabz@pidgin.im>
parents:
16471
diff
changeset
|
98 GHashTable *title_places; /* window title -> ws */ |
15818 | 99 |
100 GList *acts; /* List of actions */ | |
101 | |
102 /** | |
103 * There can be at most one menu at a time on the screen. | |
104 * If there is a menu being displayed, then all the keystrokes will be sent to | |
105 * the menu until it is closed, either when the user activates a menuitem, or | |
106 * presses Escape to cancel the menu. | |
107 */ | |
108 GntMenu *menu; /* Currently active menu */ | |
109 | |
110 /** | |
111 * 'event_stack' will be set to TRUE when a user-event, ie. a mouse-click | |
112 * or a key-press is being processed. This variable will be used to determine | |
113 * whether to give focus to a new window. | |
114 */ | |
115 gboolean event_stack; | |
21253
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
116 |
15818 | 117 GntKeyPressMode mode; |
118 | |
119 GHashTable *positions; | |
120 | |
121 void *res1; | |
122 void *res2; | |
123 void *res3; | |
124 void *res4; | |
125 }; | |
126 | |
15931
f00f2e283ffb
Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15818
diff
changeset
|
127 typedef struct _GntWMClass GntWMClass; |
15818 | 128 |
15931
f00f2e283ffb
Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15818
diff
changeset
|
129 struct _GntWMClass |
15818 | 130 { |
131 GntBindableClass parent; | |
132 | |
133 /* This is called when a new window is shown */ | |
134 void (*new_window)(GntWM *wm, GntWidget *win); | |
135 | |
136 void (*decorate_window)(GntWM *wm, GntWidget *win); | |
137 /* This is called when a window is being closed */ | |
138 gboolean (*close_window)(GntWM *wm, GntWidget *win); | |
139 | |
140 /* The WM may want to confirm a size for a window first */ | |
141 gboolean (*window_resize_confirm)(GntWM *wm, GntWidget *win, int *w, int *h); | |
142 | |
143 void (*window_resized)(GntWM *wm, GntNode *node); | |
144 | |
145 /* The WM may want to confirm the position of a window */ | |
146 gboolean (*window_move_confirm)(GntWM *wm, GntWidget *win, int *x, int *y); | |
147 | |
148 void (*window_moved)(GntWM *wm, GntNode *node); | |
149 | |
150 /* This gets called when: | |
151 * - the title of the window changes | |
152 * - the 'urgency' of the window changes | |
153 */ | |
154 void (*window_update)(GntWM *wm, GntNode *node); | |
155 | |
156 /* This should usually return NULL if the keys were processed by the WM. | |
157 * If not, the WM can simply return the original string, which will be | |
158 * processed by the default WM. The custom WM can also return a different | |
159 * static string for the default WM to process. | |
160 */ | |
161 gboolean (*key_pressed)(GntWM *wm, const char *key); | |
162 | |
163 gboolean (*mouse_clicked)(GntWM *wm, GntMouseEvent event, int x, int y, GntWidget *widget); | |
164 | |
165 /* Whatever the WM wants to do when a window is given focus */ | |
166 void (*give_focus)(GntWM *wm, GntWidget *widget); | |
167 | |
168 /* List of windows. Although the WM can keep a list of its own for the windows, | |
169 * it'd be better if there was a way to share between the 'core' and the WM. | |
170 */ | |
18118
ab6d2763b8d8
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@wiktel.com>
parents:
18069
diff
changeset
|
171 /*GList *(*window_list)();*/ |
15818 | 172 |
18367
1648cd94dddf
Add a callback that gets triggered by SIGWINCH.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18303
diff
changeset
|
173 /* This is invoked whenever the terminal window is resized, or the |
1648cd94dddf
Add a callback that gets triggered by SIGWINCH.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18303
diff
changeset
|
174 * screen session is attached to a new terminal. (ie, from the |
1648cd94dddf
Add a callback that gets triggered by SIGWINCH.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18303
diff
changeset
|
175 * SIGWINCH callback) |
1648cd94dddf
Add a callback that gets triggered by SIGWINCH.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18303
diff
changeset
|
176 */ |
1648cd94dddf
Add a callback that gets triggered by SIGWINCH.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18303
diff
changeset
|
177 void (*terminal_refresh)(GntWM *wm); |
1648cd94dddf
Add a callback that gets triggered by SIGWINCH.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18303
diff
changeset
|
178 |
15818 | 179 void (*res1)(void); |
180 void (*res2)(void); | |
181 void (*res3)(void); | |
182 }; | |
183 | |
184 G_BEGIN_DECLS | |
185 | |
17718
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
186 /** |
21253
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
187 * @return GType for GntWM. |
17718
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
188 */ |
15818 | 189 GType gnt_wm_get_gtype(void); |
190 | |
21253
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
191 /** |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
192 * Add a workspace. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
193 * @param wm The window-manager. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
194 * @param ws The workspace to add. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
195 */ |
16414
56d2ae9cbb5c
Initial workspace support. refs #51
Richard Nelson <wabz@pidgin.im>
parents:
16281
diff
changeset
|
196 void gnt_wm_add_workspace(GntWM *wm, GntWS *ws); |
56d2ae9cbb5c
Initial workspace support. refs #51
Richard Nelson <wabz@pidgin.im>
parents:
16281
diff
changeset
|
197 |
21253
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
198 /** |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
199 * Switch to a workspace. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
200 * @param wm The window-manager. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
201 * @param n Index of the workspace to switch to. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
202 * |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
203 * @return @c TRUE if the switch was successful. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
204 */ |
16414
56d2ae9cbb5c
Initial workspace support. refs #51
Richard Nelson <wabz@pidgin.im>
parents:
16281
diff
changeset
|
205 gboolean gnt_wm_switch_workspace(GntWM *wm, gint n); |
21253
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
206 |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
207 /** |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
208 * Switch to the previous workspace from the current one. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
209 * @param wm The window-manager. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
210 */ |
16414
56d2ae9cbb5c
Initial workspace support. refs #51
Richard Nelson <wabz@pidgin.im>
parents:
16281
diff
changeset
|
211 gboolean gnt_wm_switch_workspace_prev(GntWM *wm); |
21253
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
212 |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
213 /** |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
214 * Switch to the next workspace from the current one. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
215 * @param wm The window-manager. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
216 */ |
16414
56d2ae9cbb5c
Initial workspace support. refs #51
Richard Nelson <wabz@pidgin.im>
parents:
16281
diff
changeset
|
217 gboolean gnt_wm_switch_workspace_next(GntWM *wm); |
21253
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
218 |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
219 /** |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
220 * Move a window to a specific workspace. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
221 * @param wm The window manager. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
222 * @param neww The new workspace. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
223 * @param widget The widget to move. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
224 */ |
16414
56d2ae9cbb5c
Initial workspace support. refs #51
Richard Nelson <wabz@pidgin.im>
parents:
16281
diff
changeset
|
225 void gnt_wm_widget_move_workspace(GntWM *wm, GntWS *neww, GntWidget *widget); |
21253
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
226 |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
227 /** |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
228 * Set the list of workspaces . |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
229 * @param wm The window manager. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
230 * @param workspaces The list of workspaces. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
231 */ |
16414
56d2ae9cbb5c
Initial workspace support. refs #51
Richard Nelson <wabz@pidgin.im>
parents:
16281
diff
changeset
|
232 void gnt_wm_set_workspaces(GntWM *wm, GList *workspaces); |
21253
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
233 |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
234 /** |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
235 * Find the workspace that contains a specific widget. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
236 * @param wm The window-manager. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
237 * @param widget The widget to find. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
238 * @return The workspace that has the widget. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
239 */ |
16414
56d2ae9cbb5c
Initial workspace support. refs #51
Richard Nelson <wabz@pidgin.im>
parents:
16281
diff
changeset
|
240 GntWS *gnt_wm_widget_find_workspace(GntWM *wm, GntWidget *widget); |
56d2ae9cbb5c
Initial workspace support. refs #51
Richard Nelson <wabz@pidgin.im>
parents:
16281
diff
changeset
|
241 |
17718
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
242 /** |
21253
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
243 * Process a new window. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
244 * |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
245 * @param wm The window-manager. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
246 * @param widget The new window. |
17718
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
247 */ |
15818 | 248 void gnt_wm_new_window(GntWM *wm, GntWidget *widget); |
249 | |
17718
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
250 /** |
21253
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
251 * Decorate a window. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
252 * @param wm The window-manager. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
253 * @param widget The widget to decorate. |
17718
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
254 */ |
15818 | 255 void gnt_wm_window_decorate(GntWM *wm, GntWidget *widget); |
256 | |
17718
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
257 /** |
21253
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
258 * Close a window. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
259 * @param wm The window-manager. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
260 * @param widget The window to close. |
17718
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
261 */ |
15818 | 262 void gnt_wm_window_close(GntWM *wm, GntWidget *widget); |
263 | |
17718
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
264 /** |
21253
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
265 * Process input. |
17718
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
266 * |
21253
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
267 * @param wm The window-manager. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
268 * @param string The input string to process. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
269 * |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
270 * @return @c TRUE of the string was processed, @c FALSE otherwise. |
17718
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
271 */ |
15818 | 272 gboolean gnt_wm_process_input(GntWM *wm, const char *string); |
273 | |
17718
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
274 /** |
21253
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
275 * Process a click event. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
276 * @param wm The window manager. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
277 * @param event The mouse event. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
278 * @param x The x-coordinate of the mouse. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
279 * @param y The y-coordinate of the mouse. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
280 * @param widget The widget under the mouse. |
17718
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
281 * |
21253
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
282 * @return @c TRUE if the event was handled, @c FALSE otherwise. |
17718
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
283 */ |
15818 | 284 gboolean gnt_wm_process_click(GntWM *wm, GntMouseEvent event, int x, int y, GntWidget *widget); |
285 | |
17718
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
286 /** |
21253
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
287 * Resize a window. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
288 * @param wm The window manager. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
289 * @param widget The window to resize. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
290 * @param width The desired width of the window. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
291 * @param height The desired height of the window. |
17718
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
292 */ |
15818 | 293 void gnt_wm_resize_window(GntWM *wm, GntWidget *widget, int width, int height); |
294 | |
17718
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
295 /** |
21253
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
296 * Move a window. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
297 * @param wm The window manager. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
298 * @param widget The window to move. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
299 * @param x The desired x-coordinate of the window. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
300 * @param y The desired y-coordinate of the window. |
17718
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
301 */ |
15818 | 302 void gnt_wm_move_window(GntWM *wm, GntWidget *widget, int x, int y); |
303 | |
17718
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
304 /** |
21253
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
305 * Update a window. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
306 * @param wm The window-manager. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
307 * @param widget The window to update. |
17718
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
308 */ |
15818 | 309 void gnt_wm_update_window(GntWM *wm, GntWidget *widget); |
310 | |
17718
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
311 /** |
21253
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
312 * Raise a window. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
313 * @param wm The window-manager. |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
314 * @param widget The window to raise. |
17718
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
315 */ |
15818 | 316 void gnt_wm_raise_window(GntWM *wm, GntWidget *widget); |
317 | |
17718
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
318 /** |
21253
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
319 * @internal |
17718
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
320 */ |
16281
82b6fdd899a9
Dialogs opened resulting from a mouse-click should fain focus.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15981
diff
changeset
|
321 void gnt_wm_set_event_stack(GntWM *wm, gboolean set); |
82b6fdd899a9
Dialogs opened resulting from a mouse-click should fain focus.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15981
diff
changeset
|
322 |
21253
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
323 /** |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
324 * @internal |
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
325 */ |
16414
56d2ae9cbb5c
Initial workspace support. refs #51
Richard Nelson <wabz@pidgin.im>
parents:
16281
diff
changeset
|
326 void gnt_wm_copy_win(GntWidget *widget, GntNode *node); |
56d2ae9cbb5c
Initial workspace support. refs #51
Richard Nelson <wabz@pidgin.im>
parents:
16281
diff
changeset
|
327 |
17718
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
328 /** |
21253
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19680
diff
changeset
|
329 * @return The idle time of the user. |
17718
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
330 */ |
15818 | 331 time_t gnt_wm_get_idle_time(void); |
332 | |
333 G_END_DECLS | |
16414
56d2ae9cbb5c
Initial workspace support. refs #51
Richard Nelson <wabz@pidgin.im>
parents:
16281
diff
changeset
|
334 #endif |