X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=openbox%2Fscreen.h;h=b4c510a71456cfac05e9e143803b6fbca714b82f;hb=de988813681ed46b480cc4e53dbe449773210ac4;hp=5e9b5670b779b945d87365b6184810323bf06a39;hpb=740c5b2a20d5110435d0874f8cc6a4c9dfd14777;p=chaz%2Fopenbox diff --git a/openbox/screen.h b/openbox/screen.h index 5e9b5670..b4c510a7 100644 --- a/openbox/screen.h +++ b/openbox/screen.h @@ -1,7 +1,7 @@ /* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*- screen.h for the Openbox window manager - Copyright (c) 2003 Ben Jansens + Copyright (c) 2003-2007 Dana 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 @@ -38,6 +38,8 @@ extern guint screen_last_desktop; extern gboolean screen_showing_desktop; /*! The support window also used for focus and stacking */ extern Window screen_support_win; +/*! The last time at which the user changed desktops */ +extern Time screen_desktop_user_time; typedef struct DesktopLayout { ObOrientation orientation; @@ -64,7 +66,7 @@ void screen_resize(); /*! Change the number of available desktops */ void screen_set_num_desktops(guint num); /*! Change the current desktop */ -void screen_set_desktop(guint num); +void screen_set_desktop(guint num, gboolean dofocus); /*! Interactively change desktops */ guint screen_cycle_desktop(ObDirection dir, gboolean wrap, gboolean linear, gboolean dialog, gboolean done, gboolean cancel); @@ -74,7 +76,7 @@ void screen_desktop_popup(guint d, gboolean show); /*! Shows and focuses the desktop and hides all the client windows, or returns to the normal state, showing client windows. */ -void screen_show_desktop(gboolean show); +void screen_show_desktop(gboolean show, gboolean restore_focus); /*! Updates the desktop layout from the root property if available */ void screen_update_layout(); @@ -96,6 +98,11 @@ Rect *screen_area(guint desktop); Rect *screen_area_monitor(guint desktop, guint head); +/*! Determines which physical monitor a rectangle is on by calculating the + area of the part of the rectable on each monitor. The number of the + monitor containing the greatest area of the rectangle is returned.*/ +guint screen_find_monitor(Rect *search); + /*! 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();