#include "geom.h"
#include "stacking.h"
#include "window.h"
-#include "render/color.h"
+#include "obrender/color.h"
#include <glib.h>
#include <X11/Xlib.h>
{
ObWindow obwin;
Window window;
+ gboolean managed;
/*! If this client is managing an ObPrompt window, then this is set to the
prompt */
Rect pre_max_area;
/*! Position and size of the window prior to being fullscreened */
Rect pre_fullscreen_area;
+ /*! Remember if the window was maximized before going fullscreen */
+ gboolean pre_fullscreen_max_horz,
+ pre_fullscreen_max_vert;
/*! The window's strut
The strut defines areas of the screen that are marked off-bounds for
*/
void client_fullscreen(ObClient *self, gboolean fs);
+/*! Determine if the window, using the given client-area, would be considered
+ as an "oldschool fullscreen" window, that is, if it is filling a whole
+ monitor. */
+gboolean client_is_oldfullscreen(const ObClient const *self, const Rect *area);
+
/*! Iconifies or uniconifies the client window
@param iconic true if the window should be iconified; false if it should be
restored.
when the user deliberately selects a window for use.
@param desktop If true, and the window is on another desktop, it will still
be activated.
+ @param here If true, and the window is on another desktop, it will be moved
+ to the current desktop, otherwise the desktop will switch to
+ where the window is.
@param raise If true, the client is brought to the front.
@param unshade If true, the client is unshaded (if it is shaded)
@param user If true, then a user action is what requested the activation;
otherwise, it means an application requested it on its own
*/
-void client_activate(ObClient *self, gboolean desktop, gboolean raise,
- gboolean unshade, gboolean user);
+void client_activate(ObClient *self, gboolean desktop, gboolean here,
+ gboolean raise, gboolean unshade, gboolean user);
/*! Bring all of its helper windows to its desktop. These are the utility and
stuff windows. */