Mercurial > pidgin
annotate finch/libgnt/gntwm.h @ 22217:ad357ca94de9
We will probably eventually use purple_object_[get|set]_ui_data. Until then, this will do.
| author | Sadrul Habib Chowdhury <imadil@gmail.com> |
|---|---|
| date | Sat, 26 Jan 2008 22:33:08 +0000 |
| parents | c38d72677c8a |
| children | 5876584828e8 |
| rev | line source |
|---|---|
|
17928
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 /* |
|
17928
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 |
|
19681
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 |
|
17928
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 |
|
17698
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 |
| 15817 | 29 |
| 30 #include "gntwidget.h" | |
| 31 #include "gntmenu.h" | |
|
17698
56d2ae9cbb5c
Initial workspace support. refs #51
Richard Nelson <wabz@pidgin.im>
parents:
16281
diff
changeset
|
32 #include "gntws.h" |
| 15817 | 33 |
| 34 #include <panel.h> | |
|
15981
a741ec4dafa0
sf patch #1691784, from William Ehlhardt
Mark Doliner <mark@kingant.net>
parents:
15928
diff
changeset
|
35 #include <time.h> |
| 15817 | 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 |
| 15817 | 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 |
| 15817 | 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 |
| 15817 | 53 { |
| 54 GntWidget *me; | |
| 55 | |
| 56 WINDOW *window; | |
| 57 int scroll; | |
| 58 PANEL *panel; | |
|
17702
596c970076df
Alt+s to see the list of workspaces and windows.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17698
diff
changeset
|
59 GntWS *ws; |
| 15817 | 60 } GntNode; |
| 61 | |
|
17702
596c970076df
Alt+s to see the list of workspaces and windows.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17698
diff
changeset
|
62 typedef struct _GntWM GntWM; |
| 15817 | 63 |
|
15928
f00f2e283ffb
Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15817
diff
changeset
|
64 typedef struct _GntPosition |
| 15817 | 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 */ | |
|
15928
f00f2e283ffb
Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15817
diff
changeset
|
73 typedef struct _GntAction |
| 15817 | 74 { |
| 75 const char *label; | |
|
22007
c38d72677c8a
Probe for -Wstrict-prototypes to get some more warnings. I then cleaned up
Richard Laager <rlaager@wiktel.com>
parents:
21253
diff
changeset
|
76 void (*callback)(void); |
| 15817 | 77 } GntAction; |
| 78 | |
|
17702
596c970076df
Alt+s to see the list of workspaces and windows.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17698
diff
changeset
|
79 struct _GntWM |
| 15817 | 80 { |
| 81 GntBindable inherit; | |
| 82 | |
| 83 GMainLoop *loop; | |
| 84 | |
|
17698
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; |
| 15817 | 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 */ | |
|
17704
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:
17702
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:
17702
diff
changeset
|
98 GHashTable *title_places; /* window title -> ws */ |
| 15817 | 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:
19681
diff
changeset
|
116 |
| 15817 | 117 GntKeyPressMode mode; |
| 118 | |
| 119 GHashTable *positions; | |
| 120 | |
| 121 void *res1; | |
| 122 void *res2; | |
| 123 void *res3; | |
| 124 void *res4; | |
| 125 }; | |
| 126 | |
|
15928
f00f2e283ffb
Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15817
diff
changeset
|
127 typedef struct _GntWMClass GntWMClass; |
| 15817 | 128 |
|
15928
f00f2e283ffb
Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15817
diff
changeset
|
129 struct _GntWMClass |
| 15817 | 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)();*/ |
| 15817 | 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 |
| 15817 | 179 void (*res1)(void); |
| 180 void (*res2)(void); | |
| 181 void (*res3)(void); | |
| 182 }; | |
| 183 | |
| 184 G_BEGIN_DECLS | |
| 185 | |
|
17928
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:
19681
diff
changeset
|
187 * @return GType for GntWM. |
|
17928
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
188 */ |
| 15817 | 189 GType gnt_wm_get_gtype(void); |
| 190 | |
|
21253
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
191 /** |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
192 * Add a workspace. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
193 * @param wm The window-manager. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
194 * @param ws The workspace to add. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
195 */ |
|
17698
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:
19681
diff
changeset
|
198 /** |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
199 * Switch to a workspace. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
200 * @param wm The window-manager. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
201 * @param n Index of the workspace to switch to. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
202 * |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
203 * @return @c TRUE if the switch was successful. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
204 */ |
|
17698
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:
19681
diff
changeset
|
206 |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
207 /** |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
208 * Switch to the previous workspace from the current one. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
209 * @param wm The window-manager. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
210 */ |
|
17698
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:
19681
diff
changeset
|
212 |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
213 /** |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
214 * Switch to the next workspace from the current one. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
215 * @param wm The window-manager. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
216 */ |
|
17698
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:
19681
diff
changeset
|
218 |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
219 /** |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
220 * Move a window to a specific workspace. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
221 * @param wm The window manager. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
222 * @param neww The new workspace. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
223 * @param widget The widget to move. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
224 */ |
|
17698
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:
19681
diff
changeset
|
226 |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
227 /** |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
228 * Set the list of workspaces . |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
229 * @param wm The window manager. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
230 * @param workspaces The list of workspaces. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
231 */ |
|
17698
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:
19681
diff
changeset
|
233 |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
234 /** |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
235 * Find the workspace that contains a specific widget. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
236 * @param wm The window-manager. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
237 * @param widget The widget to find. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
238 * @return The workspace that has the widget. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
239 */ |
|
17698
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 |
|
17928
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:
19681
diff
changeset
|
243 * Process a new window. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
244 * |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
245 * @param wm The window-manager. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
246 * @param widget The new window. |
|
17928
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
247 */ |
| 15817 | 248 void gnt_wm_new_window(GntWM *wm, GntWidget *widget); |
| 249 | |
|
17928
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:
19681
diff
changeset
|
251 * Decorate a window. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
252 * @param wm The window-manager. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
253 * @param widget The widget to decorate. |
|
17928
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
254 */ |
| 15817 | 255 void gnt_wm_window_decorate(GntWM *wm, GntWidget *widget); |
| 256 | |
|
17928
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:
19681
diff
changeset
|
258 * Close a window. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
259 * @param wm The window-manager. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
260 * @param widget The window to close. |
|
17928
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
261 */ |
| 15817 | 262 void gnt_wm_window_close(GntWM *wm, GntWidget *widget); |
| 263 | |
|
17928
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:
19681
diff
changeset
|
265 * Process input. |
|
17928
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:
19681
diff
changeset
|
267 * @param wm The window-manager. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
268 * @param string The input string to process. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
269 * |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
270 * @return @c TRUE of the string was processed, @c FALSE otherwise. |
|
17928
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
271 */ |
| 15817 | 272 gboolean gnt_wm_process_input(GntWM *wm, const char *string); |
| 273 | |
|
17928
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:
19681
diff
changeset
|
275 * Process a click event. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
276 * @param wm The window manager. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
277 * @param event The mouse event. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
278 * @param x The x-coordinate of the mouse. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
279 * @param y The y-coordinate of the mouse. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
280 * @param widget The widget under the mouse. |
|
17928
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:
19681
diff
changeset
|
282 * @return @c TRUE if the event was handled, @c FALSE otherwise. |
|
17928
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
283 */ |
| 15817 | 284 gboolean gnt_wm_process_click(GntWM *wm, GntMouseEvent event, int x, int y, GntWidget *widget); |
| 285 | |
|
17928
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:
19681
diff
changeset
|
287 * Resize a window. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
288 * @param wm The window manager. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
289 * @param widget The window to resize. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
290 * @param width The desired width of the window. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
291 * @param height The desired height of the window. |
|
17928
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
292 */ |
| 15817 | 293 void gnt_wm_resize_window(GntWM *wm, GntWidget *widget, int width, int height); |
| 294 | |
|
17928
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:
19681
diff
changeset
|
296 * Move a window. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
297 * @param wm The window manager. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
298 * @param widget The window to move. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
299 * @param x The desired x-coordinate of the window. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
300 * @param y The desired y-coordinate of the window. |
|
17928
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
301 */ |
| 15817 | 302 void gnt_wm_move_window(GntWM *wm, GntWidget *widget, int x, int y); |
| 303 | |
|
17928
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:
19681
diff
changeset
|
305 * Update a window. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
306 * @param wm The window-manager. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
307 * @param widget The window to update. |
|
17928
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
308 */ |
| 15817 | 309 void gnt_wm_update_window(GntWM *wm, GntWidget *widget); |
| 310 | |
|
17928
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:
19681
diff
changeset
|
312 * Raise a window. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
313 * @param wm The window-manager. |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
314 * @param widget The window to raise. |
|
17928
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
315 */ |
| 15817 | 316 void gnt_wm_raise_window(GntWM *wm, GntWidget *widget); |
| 317 | |
|
17928
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:
19681
diff
changeset
|
319 * @internal |
|
17928
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:
19681
diff
changeset
|
323 /** |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
324 * @internal |
|
ae330012956f
Doxygen for gnt.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19681
diff
changeset
|
325 */ |
|
17698
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 |
|
17928
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:
19681
diff
changeset
|
329 * @return The idle time of the user. |
|
17928
8410511f4dbb
applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents:
16281
diff
changeset
|
330 */ |
| 15817 | 331 time_t gnt_wm_get_idle_time(void); |
| 332 | |
| 333 G_END_DECLS | |
|
17698
56d2ae9cbb5c
Initial workspace support. refs #51
Richard Nelson <wabz@pidgin.im>
parents:
16281
diff
changeset
|
334 #endif |
