Add "active" and "primary" options to the <monitor> placement option for per-app...
[openbox.git] / openbox / focus_cycle.h
blob9394b3df8bb65ba187b4f1e37329a942d65900b5
1 /* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
3 focus_cycle.h for the Openbox window manager
4 Copyright (c) 2006 Mikael Magnusson
5 Copyright (c) 2003-2007 Dana Jansens
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 See the COPYING file for a copy of the GNU General Public License.
20 #ifndef __focus_cycle_h
21 #define __focus_cycle_h
23 #include "misc.h"
24 #include "focus_cycle_popup.h"
26 #include <X11/Xlib.h>
27 #include <glib.h>
29 struct _ObClient;
31 /*! The client which appears focused during a focus cycle operation */
32 extern struct _ObClient *focus_cycle_target;
34 void focus_cycle_startup(gboolean reconfig);
35 void focus_cycle_shutdown(gboolean reconfig);
37 /*! Cycle focus amongst windows. */
38 struct _ObClient* focus_cycle(gboolean forward, gboolean all_desktops,
39 gboolean nonhilite_windows,
40 gboolean dock_windows, gboolean desktop_windows,
41 gboolean linear, gboolean interactive,
42 gboolean showbar, ObFocusCyclePopupMode mode,
43 gboolean done, gboolean cancel);
44 struct _ObClient* focus_directional_cycle(ObDirection dir,
45 gboolean dock_windows,
46 gboolean desktop_windows,
47 gboolean interactive,
48 gboolean showbar,
49 gboolean dialog,
50 gboolean done, gboolean cancel);
52 /*! Set @redraw to FALSE if there are more clients to be added/removed first */
53 void focus_cycle_addremove(struct _ObClient *ifclient, gboolean redraw);
54 void focus_cycle_reorder();
56 gboolean focus_cycle_valid(struct _ObClient *client);
58 #endif