Files
wmaker/src/workspace.h
T

75 lines
2.4 KiB
C
Raw Normal View History

1998-09-29 22:36:29 +00:00
/* workspace.c- Workspace management
2004-10-12 21:28:27 +00:00
*
1998-10-21 14:43:47 +00:00
* Window Maker window manager
2004-10-12 21:28:27 +00:00
*
2003-01-16 23:30:45 +00:00
* Copyright (c) 1997-2003 Alfredo K. Kojima
2004-10-12 21:28:27 +00:00
*
1998-09-29 22:36:29 +00:00
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
2004-10-12 21:28:27 +00:00
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
1998-09-29 22:36:29 +00:00
* USA.
*/
#ifndef WMWORKSPACE_H_
#define WMWORKSPACE_H_
typedef struct WWorkspace {
char *name;
1999-12-18 11:52:49 +00:00
#ifdef VIRTUAL_DESKTOP
2000-11-19 10:33:41 +00:00
int width, height;
2000-11-17 02:10:32 +00:00
int view_x, view_y;
1999-12-18 11:52:49 +00:00
#endif
1998-09-29 22:36:29 +00:00
struct WDock *clip;
} WWorkspace;
void wWorkspaceMake(WScreen *scr, int count);
int wWorkspaceNew(WScreen *scr);
1999-01-06 15:22:33 +00:00
Bool wWorkspaceDelete(WScreen *scr, int workspace);
1998-09-29 22:36:29 +00:00
void wWorkspaceChange(WScreen *scr, int workspace);
void wWorkspaceForceChange(WScreen *scr, int workspace);
2004-10-12 21:28:27 +00:00
#ifdef VIRTUAL_DESKTOP
1999-12-18 11:52:49 +00:00
void wWorkspaceManageEdge(WScreen *scr);
void wWorkspaceUpdateEdge(WScreen *scr);
void wWorkspaceDestroyEdge(WScreen *scr);
1999-12-18 11:52:49 +00:00
void wWorkspaceRaiseEdge(WScreen *scr);
void wWorkspaceLowerEdge(WScreen *scr);
void wWorkspaceResizeViewPort(WScreen *scr, int workspace);
void wWorkspaceKeyboardMoveDesktop(WScreen *scr, WMPoint direction);
2000-11-21 19:30:16 +00:00
Bool wWorkspaceSetViewPort(WScreen *scr, int workspace, int view_x, int view_y);
Bool wWorkspaceAdjustViewPort(WScreen *scr, int workspace, int view_x, int view_y);
2000-11-19 10:33:41 +00:00
void wWorkspaceGetViewPosition(WScreen *scr, int workspace, int *view_x, int *view_y);
#define VEC_LEFT wmkpoint(-1,0)
#define VEC_RIGHT wmkpoint(1,0)
#define VEC_UP wmkpoint(0,-1)
#define VEC_DOWN wmkpoint(0,1)
1999-12-18 11:52:49 +00:00
#endif
1998-09-29 22:36:29 +00:00
WMenu *wWorkspaceMenuMake(WScreen *scr, Bool titled);
void wWorkspaceMenuUpdate(WScreen *scr, WMenu *menu);
void wWorkspaceMenuEdit(WScreen *scr);
void wWorkspaceSaveState(WScreen *scr, WMPropList *old_state);
1998-09-29 22:36:29 +00:00
void wWorkspaceRestoreState(WScreen *scr);
void wWorkspaceRename(WScreen *scr, int workspace, char *name);
1999-01-06 15:22:33 +00:00
void wWorkspaceRelativeChange(WScreen *scr, int amount);
1998-09-29 22:36:29 +00:00
#endif