1
/* Metacity Workspaces */
4
* Copyright (C) 2001 Havoc Pennington
6
* This program is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU General Public License as
8
* published by the Free Software Foundation; either version 2 of the
9
* License, or (at your option) any later version.
11
* This program is distributed in the hope that it will be useful, but
12
* WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* 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, write to the Free Software
18
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
22
#ifndef META_WORKSPACE_H
23
#define META_WORKSPACE_H
27
/* Negative to avoid conflicting with real workspace
33
META_MOTION_DOWN = -2,
34
META_MOTION_LEFT = -3,
35
META_MOTION_RIGHT = -4
36
} MetaMotionDirection;
45
MetaRectangle all_work_areas;
46
MetaRectangle *work_areas;
50
GSList *bottom_struts;
51
guint work_areas_invalid : 1;
53
guint showing_desktop : 1;
56
MetaWorkspace* meta_workspace_new (MetaScreen *screen);
57
void meta_workspace_free (MetaWorkspace *workspace);
58
void meta_workspace_add_window (MetaWorkspace *workspace,
60
void meta_workspace_remove_window (MetaWorkspace *workspace,
62
void meta_workspace_relocate_windows (MetaWorkspace *workspace,
63
MetaWorkspace *new_home);
64
void meta_workspace_activate_with_focus (MetaWorkspace *workspace,
65
MetaWindow *focus_this,
67
void meta_workspace_activate (MetaWorkspace *workspace,
69
int meta_workspace_index (MetaWorkspace *workspace);
70
GList* meta_workspace_list_windows (MetaWorkspace *workspace);
72
void meta_workspace_invalidate_work_area (MetaWorkspace *workspace);
75
void meta_workspace_get_work_area_for_xinerama (MetaWorkspace *workspace,
78
void meta_workspace_get_work_area_all_xineramas (MetaWorkspace *workspace,
81
void meta_workspace_focus_default_window (MetaWorkspace *workspace,
82
MetaWindow *not_this_one,
85
MetaWorkspace* meta_workspace_get_neighbor (MetaWorkspace *workspace,
86
MetaMotionDirection direction);
88
const char* meta_workspace_get_name (MetaWorkspace *workspace);