X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fscreen.h;h=2fd1108c8fb1ee6329a622328176b60367f8df2d;hb=16f46c296d1fcd3f27fc62a18e71c55fb3fd3e88;hp=4df32be10dbf0a7afe4c4f357a73f697b81ac287;hpb=122d55fbadea0409fbc902a1740e1c8ff3aecd88;p=chaz%2Fopenbox diff --git a/openbox/screen.h b/openbox/screen.h index 4df32be1..2fd1108c 100644 --- a/openbox/screen.h +++ b/openbox/screen.h @@ -1,3 +1,21 @@ +/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*- + + screen.h for the Openbox window manager + Copyright (c) 2003 Ben Jansens + + 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. + + See the COPYING file for a copy of the GNU General Public License. +*/ + #ifndef __screen_h #define __screen_h @@ -14,8 +32,12 @@ extern guint screen_num_desktops; extern guint screen_num_monitors; /*! The current desktop */ extern guint screen_desktop; +/*! The desktop which was last visible */ +extern guint screen_last_desktop; /*! Are we in showing-desktop mode? */ extern gboolean screen_showing_desktop; +/*! The support window also used for focus and stacking */ +extern Window screen_support_win; typedef struct DesktopLayout { ObOrientation orientation; @@ -32,9 +54,9 @@ extern char **screen_desktop_names; gboolean screen_annex(); /*! Once the screen is ours, set up its initial state */ -void screen_startup(); +void screen_startup(gboolean reconfig); /*! Free resources */ -void screen_shutdown(); +void screen_shutdown(gboolean reconfig); /*! Figure out the new size of the screen and adjust stuff for it */ void screen_resize(); @@ -43,6 +65,9 @@ void screen_resize(); void screen_set_num_desktops(guint num); /*! Change the current desktop */ void screen_set_desktop(guint num); +/*! Interactively change desktops */ +guint screen_cycle_desktop(ObDirection dir, gboolean wrap, gboolean linear, + gboolean dialog, gboolean done, gboolean cancel); /*! Shows and focuses the desktop and hides all the client windows, or returns to the normal state, showing client windows. */ @@ -68,4 +93,10 @@ Rect *screen_area(guint desktop); Rect *screen_area_monitor(guint desktop, guint head); +/*! Sets the root cursor. This function decides which cursor to use, but you + gotta call it to let it know it should change. */ +void screen_set_root_cursor(); + +gboolean screen_pointer_pos(int *x, int *y); + #endif