A tiling window manager
1/*
2 * functions for managing the window list
3 * Copyright (C) 2000, 2001, 2002, 2003, 2004 Shawn Betts <sabetts@vcn.bc.ca>
4 *
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License as published by the Free
7 * Software Foundation; either version 2 of the License, or (at your option)
8 * any later version.
9 *
10 * This program is distributed in the hope that it will be useful, but WITHOUT
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
13 * more details.
14 *
15 * You should have received a copy of the GNU General Public License along with
16 * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
17 * Place, Suite 330, Boston, MA 02111-1307 USA.
18 */
19
20#ifndef _SDORFEHS_LIST_H
21#define _SDORFEHS_LIST_H 1
22
23#include "sbuf.h"
24
25void free_window(rp_window *w);
26rp_window *add_to_window_list(rp_screen *s, Window w);
27void last_window(void);
28rp_window *find_window_in_list(Window w, struct list_head *list);
29rp_window *find_window(Window w);
30void maximize_current_window(void);
31void give_window_focus(rp_window *win, rp_window *last_win);
32void set_active_window(rp_window *win);
33void set_active_window_force(rp_window *win);
34void goto_window(rp_window *win);
35void update_window_gravity(rp_window *win);
36char *window_name(rp_window *win);
37
38/* int goto_window_name (char *name); */
39rp_window *find_window_other(rp_vscreen *vscreen);
40rp_window *find_window_by_number(int n);
41rp_window *find_window_name(char *name, int exact_match);
42rp_window *find_window_number(int n);
43
44void insert_into_list(rp_window *win, struct list_head *list);
45
46void get_current_window_in_fmt(char *fmt, struct sbuf *buffer);
47void get_window_list(char *fmt, char *delim, struct sbuf *buffer,
48 int *mark_start, int *mark_end);
49void init_window_stuff(void);
50void free_window_stuff(void);
51
52rp_frame *win_get_frame(rp_window *win);
53
54struct rp_child_info *get_child_info(Window w, int add);
55void change_windows_vscreen(rp_vscreen *v, rp_vscreen *new_vscreen);
56
57void window_full_screen(rp_window *win);
58
59#endif /* ! _SDORFEHS_LIST_H */