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
30 /*! The client which appears focused during a focus cycle operation */
31 extern struct _ObClient *focus_cycle_target;
33 void focus_cycle_startup(gboolean reconfig);
34 void focus_cycle_shutdown(gboolean reconfig);
36 /*! Cycle focus amongst windows. */
37 struct _ObClient* focus_cycle(gboolean forward, gboolean all_desktops,
38 gboolean dock_windows, gboolean desktop_windows,
39 gboolean linear, gboolean interactive,
40 gboolean showbar, gboolean dialog,
41 gboolean done, gboolean cancel);
42 struct _ObClient* focus_directional_cycle(ObDirection dir,
43 gboolean dock_windows,
44 gboolean desktop_windows,
48 gboolean done, gboolean cancel);
50 void focus_cycle_stop(struct _ObClient *ifclient);