/*
* ion/ioncore/screen.h
*
- * Copyright (c) Tuomo Valkonen 1999-2006.
+ * Copyright (c) Tuomo Valkonen 1999-2008.
*
- * Ion is free software; you can redistribute it and/or modify it under
- * the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
+ * See the included file LICENSE for details.
*/
#ifndef ION_IONCORE_SCREEN_H
#include "common.h"
#include "mplex.h"
#include "rectangle.h"
-#include "rootwin.h"
#include "pholder.h"
#define FOR_ALL_SCREENS(SCR) \
int id;
Atom atom_workspace;
bool uses_root;
- int rotation;
WRectangle managed_off;
WScreen *next_scr, *prev_scr;
Watch notifywin_watch;
Watch infowin_watch;
};
-extern WScreen *create_screen(WRootWin *rootwin, int id,
- const WFitParams *fp,
- bool useroot);
+/* rootwin should only be set if parent is NULL, and this WScreen is
+ * actually a root window.
+ */
+extern bool screen_init(WScreen *scr, WRootWin *parent,
+ const WFitParams *fp, int id, Window rootwin);
+
+extern WScreen *create_screen(WRootWin *parent, const WFitParams *fp, int id);
+
+extern void screen_deinit(WScreen *scr);
extern int screen_id(WScreen *scr);
extern bool screen_init_layout(WScreen *scr, ExtlTab tab);
-extern void screen_notify(WScreen *scr, const char *notstr);
-extern void screen_unnotify(WScreen *scr);
-extern void screen_windowinfo(WScreen *scr, const char *name, const char *attr);
-extern void screen_nowindowinfo(WScreen *scr);
-
-extern WPHolder *screen_get_rescue_pholder_for(WScreen *scr, WRegion *mgd);
-
-/* For viewports corresponding to Xinerama rootwins <id> is initially set
- * to the Xinerama screen number. When Xinerama is not enabled, <id> is
- * the X screen number (which is the same for all Xinerama rootwins).
- * For all other viewports <id> is undefined.
- */
extern WScreen *ioncore_find_screen_id(int id);
extern WScreen *ioncore_goto_screen_id(int id);
extern WScreen *ioncore_goto_next_screen();