]> Dogcows Code - chaz/openbox/blobdiff - openbox/screen.h
Add a primaryMonitor config option, where the focus-cycle and keychain popups will...
[chaz/openbox] / openbox / screen.h
index d6435fef12e93c630f8162e7ea517d529afb1a67..7df47f396fca396f3094ad595d1c52e4e236416f 100644 (file)
@@ -67,12 +67,18 @@ void screen_resize();
 void screen_set_num_desktops(guint num);
 /*! Change the current desktop */
 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);
+/*! Add a new desktop either at the end or inserted at the current desktop */
+void screen_add_desktop(gboolean current);
+/*! Remove a desktop, either at the end or the current desktop */
+void screen_remove_desktop(gboolean current);
 
-/*! Show/hide the desktop popup (pager) for the given desktop */
-void screen_desktop_popup(guint d, gboolean show);
+guint screen_find_desktop(guint from, ObDirection dir,
+                          gboolean wrap, gboolean linear);
+
+/*! Show the desktop popup/notification */
+void screen_show_desktop_popup(guint d);
+/*! Hide it */
+void screen_hide_desktop_popup();
 
 /*! Shows and focuses the desktop and hides all the client windows, or
   returns to the normal state, showing client windows.
@@ -94,15 +100,33 @@ void screen_install_colormap(struct _ObClient *client, gboolean install);
 
 void screen_update_areas();
 
-Rect *screen_physical_area();
+Rect *screen_physical_area_all_monitors();
 
 Rect *screen_physical_area_monitor(guint head);
 
-Rect *screen_physical_area_monitor_active();
+/*! Returns the monitor which contains the active window, or the one
+  containing the pointer otherwise. */
+guint screen_monitor_active(void);
+
+Rect *screen_physical_area_active(void);
+
+/*! Returns the primary monitor, as specified by the config */
+guint screen_monitor_primary(void);
 
-Rect *screen_area(guint desktop, Rect *search);
+Rect *screen_physical_area_primary(void);
 
-Rect *screen_area_monitor(guint desktop, guint head, Rect *search);
+/* doesn't include struts which the search area is already outside of when
+   'search' is not NULL */
+#define SCREEN_AREA_ALL_MONITORS ((unsigned)-1)
+#define SCREEN_AREA_ONE_MONITOR  ((unsigned)-2)
+
+/*! @param head is the number of the head or one of SCREEN_AREA_ALL_MONITORS,
+           SCREEN_AREA_ONE_MONITOR
+    @param search NULL or the whole monitor(s)
+ */
+Rect* screen_area(guint desktop, guint head, Rect *search);
+
+gboolean screen_physical_area_monitor_contains(guint head, Rect *search);
 
 /*! 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
@@ -118,4 +142,7 @@ void screen_set_root_cursor();
   is on this screen and FALSE if it is on another screen. */
 gboolean screen_pointer_pos(gint *x, gint *y);
 
+/*! Returns the monitor which contains the pointer device */
+guint screen_monitor_pointer(void);
+
 #endif
This page took 0.023905 seconds and 4 git commands to generate.