~muktupavels/metacity/adwaita-icon-theme-lp-1414613

« back to all changes in this revision

Viewing changes to src/core/window-private.h

  • Committer: Package Import Robot
  • Author(s): Dmitry Shachnev
  • Date: 2014-11-18 18:13:01 UTC
  • mfrom: (1.4.1) (2.5.4 sid)
  • mto: This revision was merged to the branch mainline in revision 135.
  • Revision ID: package-import@ubuntu.com-20141118181301-cgqtucqg732irm9x
* Merge with Debian unstable, remaining changes:
  - 05_raise_on_click_for_click_mode.patch:
    Force raise on click option.
  - 22_fix_above_tab_switching.patch:
    For Above_Tab, don't compare keysym (fixes group switching).
  - debian/metacity-common.links:
    Show keybindings in Unity control center.
  - Use Ubuntu Desktop team Vcs fields.
* Drop all other patches, they were needed only for Unity 2D.
* New upstream bugfix release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
9
9
 * which the rest of the world is allowed to use.)
10
10
 */
11
11
 
12
 
/* 
 
12
/*
13
13
 * Copyright (C) 2001 Havoc Pennington
14
14
 * Copyright (C) 2002 Red Hat, Inc.
15
15
 * Copyright (C) 2003, 2004 Rob Adams
16
16
 * Copyright (C) 2004-2006 Elijah Newren
17
 
 * 
 
17
 *
18
18
 * This program is free software; you can redistribute it and/or
19
19
 * modify it under the terms of the GNU General Public License as
20
20
 * published by the Free Software Foundation; either version 2 of the
24
24
 * WITHOUT ANY WARRANTY; without even the implied warranty of
25
25
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
26
26
 * General Public License for more details.
27
 
 * 
 
27
 *
28
28
 * You should have received a copy of the GNU General Public License
29
29
 * along with this program; if not, see <http://www.gnu.org/licenses/>.
30
30
 */
101
101
  MetaIconCache icon_cache;
102
102
  Pixmap wm_hints_pixmap;
103
103
  Pixmap wm_hints_mask;
104
 
  
 
104
 
105
105
  MetaWindowType type;
106
106
  Atom type_atom;
107
 
  
 
107
 
108
108
  /* NOTE these five are not in UTF-8, we just treat them as random
109
109
   * binary data
110
110
   */
114
114
  char *sm_client_id;
115
115
  char *wm_client_machine;
116
116
  char *startup_id;
 
117
  char *gtk_theme_variant;
117
118
 
118
119
  int net_wm_pid;
119
 
  
 
120
 
120
121
  Window xtransient_for;
121
122
  Window xgroup_leader;
122
123
  Window xclient_leader;
123
124
 
124
125
  /* Initial workspace property */
125
 
  int initial_workspace;  
126
 
  
 
126
  int initial_workspace;
 
127
 
127
128
  /* Initial timestamp property */
128
 
  guint32 initial_timestamp;  
129
 
  
 
129
  guint32 initial_timestamp;
 
130
 
130
131
  /* Whether we're maximized */
131
132
  guint maximized_horizontally : 1;
132
133
  guint maximized_vertically : 1;
159
160
   * these monitors.  If not, this is the single monitor which the window's
160
161
   * origin is on. */
161
162
  long fullscreen_monitors[4];
162
 
  
 
163
 
163
164
  /* Whether we're trying to constrain the window to be fully onscreen */
164
165
  guint require_fully_onscreen : 1;
165
166
 
184
185
   * see also unmaps_pending
185
186
   */
186
187
  guint mapped : 1;
187
 
  
 
188
 
188
189
  /* Iconic is the state in WM_STATE; happens for workspaces/shading
189
190
   * in addition to minimize
190
191
   */
196
197
 
197
198
  /* whether an initial workspace was explicitly set */
198
199
  guint initial_workspace_set : 1;
199
 
  
 
200
 
200
201
  /* whether an initial timestamp was explicitly set */
201
202
  guint initial_timestamp_set : 1;
202
 
  
 
203
 
203
204
  /* whether net_wm_user_time has been set yet */
204
205
  guint net_wm_user_time_set : 1;
205
 
  
 
206
 
206
207
  /* These are the flags from WM_PROTOCOLS */
207
208
  guint take_focus : 1;
208
209
  guint delete_window : 1;
209
210
  guint net_wm_ping : 1;
210
211
  /* Globally active / No input */
211
212
  guint input : 1;
212
 
  
 
213
 
213
214
  /* MWM hints about features of window */
214
215
  guint mwm_decorated : 1;
215
216
  guint mwm_border_only : 1;
218
219
  guint mwm_has_maximize_func : 1;
219
220
  guint mwm_has_move_func : 1;
220
221
  guint mwm_has_resize_func : 1;
221
 
  
 
222
 
222
223
  /* Computed features of window */
223
224
  guint decorated : 1;
224
225
  guint border_only : 1;
230
231
  guint has_move_func : 1;
231
232
  guint has_resize_func : 1;
232
233
  guint has_fullscreen_func : 1;
233
 
  
 
234
 
234
235
  /* Weird "_NET_WM_STATE_MODAL" flag */
235
236
  guint wm_state_modal : 1;
236
237
 
248
249
 
249
250
  /* EWHH demands attention flag */
250
251
  guint wm_state_demands_attention : 1;
251
 
  
 
252
 
252
253
  /* this flag tracks receipt of focus_in focus_out and
253
254
   * determines whether we draw the focus
254
255
   */
255
256
  guint has_focus : 1;
256
 
  
 
257
 
257
258
  /* Have we placed this window? */
258
259
  guint placed : 1;
259
260
 
271
272
 
272
273
  /* Are we in meta_window_new()? */
273
274
  guint constructing : 1;
274
 
  
 
275
 
275
276
  /* Are we in the various queues? (Bitfield: see META_WINDOW_IS_IN_QUEUE) */
276
277
  guint is_in_queues : NUMBER_OF_QUEUES;
277
 
 
 
278
 
278
279
  /* Used by keybindings.c */
279
280
  guint keys_grabbed : 1;     /* normal keybindings grabbed */
280
281
  guint grab_on_frame : 1;    /* grabs are on the frame */
281
282
  guint all_keys_grabbed : 1; /* AnyKey grabbed */
282
 
  
 
283
 
283
284
  /* Set if the reason for unmanaging the window is that
284
285
   * it was withdrawn
285
286
   */
304
305
 
305
306
  /* icon props have changed */
306
307
  guint need_reread_icon : 1;
307
 
  
 
308
 
308
309
  /* if TRUE, window was maximized at start of current grab op */
309
310
  guint shaken_loose : 1;
310
311
 
323
324
  guint sync_request_serial;
324
325
  GTimeVal sync_request_time;
325
326
#endif
326
 
  
 
327
 
327
328
  /* Number of UnmapNotify that are caused by us, if
328
329
   * we get UnmapNotify with none pending then the client
329
330
   * is withdrawing the window.
336
337
 
337
338
  /* window that gets updated net_wm_user_time values */
338
339
  Window user_time_window;
339
 
  
 
340
 
340
341
  /* The size we set the window to last (i.e. what we believe
341
342
   * to be its actual size on the server). The x, y are
342
343
   * the actual server-side x,y so are relative to the frame
343
 
   * (meaning that they just hold the frame width and height) 
 
344
   * (meaning that they just hold the frame width and height)
344
345
   * or the root window (meaning they specify the location
345
346
   * of the top left of the inner window) as appropriate.
346
347
   */
347
348
  MetaRectangle rect;
348
349
 
 
350
  gboolean has_custom_frame_extents;
 
351
  GtkBorder custom_frame_extents;
 
352
 
349
353
  /* The geometry to restore when we unmaximize.  The position is in
350
354
   * root window coords, even if there's a frame, which contrasts with
351
355
   * window->rect above.  Note that this gives the position and size
365
369
   * Position always in root coords, unlike window->rect.
366
370
   */
367
371
  MetaRectangle user_rect;
368
 
  
 
372
 
369
373
  /* Requested geometry */
370
374
  int border_width;
371
375
  /* x/y/w/h here get filled with ConfigureRequest values */
374
378
  /* Managed by stack.c */
375
379
  MetaStackLayer layer;
376
380
  int stack_position; /* see comment in stack.h */
377
 
  
 
381
 
378
382
  /* Current dialog open for this window */
379
383
  int dialog_pid;
380
384
 
442
446
                                            guint32      current_time);
443
447
void        meta_window_activate_with_workspace  (MetaWindow    *window,
444
448
                                                  guint32        current_time,
445
 
                                                  MetaWorkspace *workspace);   
 
449
                                                  MetaWorkspace *workspace);
446
450
void        meta_window_make_fullscreen_internal (MetaWindow    *window);
447
451
void        meta_window_make_fullscreen    (MetaWindow  *window);
448
452
void        meta_window_unmake_fullscreen  (MetaWindow  *window);
452
456
                                                    unsigned long  left,
453
457
                                                    unsigned long  right);
454
458
 
 
459
gboolean    meta_window_appears_focused    (MetaWindow *window);
 
460
 
455
461
/* args to move are window pos, not frame pos */
456
462
void        meta_window_move               (MetaWindow  *window,
457
463
                                            gboolean     user_op,
653
659
 
654
660
void meta_window_update_icon_now (MetaWindow *window);
655
661
 
656
 
void meta_window_update_role (MetaWindow *window);
657
 
void meta_window_update_net_wm_type (MetaWindow *window);
658
 
 
659
662
gboolean meta_window_can_tile_side_by_side (MetaWindow *window);
 
663
gboolean meta_window_is_client_decorated (MetaWindow *window);
660
664
 
661
665
#endif