Renamed package to ion1, and made it conflict with package 'ion'.
[ion1.git] / src / client.h
blob63efb6278880b7c8ed5a5e20f5a7de25d4df7eee
1 /*
2 * ion/client.h
4 * Copyright (c) Tuomo Valkonen 1999-2001.
5 * See the included file LICENSE for details.
6 */
8 #ifndef INCLUDED_CLIENT_H
9 #define INCLUDED_CLIENT_H
11 #include "common.h"
13 INTROBJ(WClient)
15 #include "thing.h"
16 #include "clientwin.h"
17 #include "screen.h"
20 #define CLIENT_DRAG 0x0001
21 #define CLIENT_TAGGED 0x0002
22 #define CLIENT_URGENT 0x0004
23 #define CLIENT_WILD 0x0008
25 #define CLIENT_HAS_FRAME(CLIENT) WTHING_HAS_PARENT(CLIENT, WFrame)
26 #define CLIENT_FRAME(CLIENT) WTHING_PARENT(CLIENT, WFrame)
29 DECLOBJ(WClient){
30 WThing thing;
31 int flags;
33 char *label;
34 int shortcut; /* valid values: '0'-'9','A'-'z' */
35 int label_inst;
36 WClient *label_next, *label_prev;
38 WClient *g_client_next, *g_client_prev;
42 extern WClient *create_client(WScreen *scr);
43 extern void deinit_client(WClient *client);
45 extern void client_add_clientwin(WClient *client, WClientWin *cwin);
47 extern void hide_client(WClient *client);
48 extern void show_client(WClient *client);
49 extern void focus_client(WClient *client);
50 extern void close_client(WClient *client);
51 extern void close_client_main(WClient *client);
52 extern void kill_client(WClient *client);
54 extern void reparent_client(WClient *client, Window win, int x, int y);
55 extern void fit_client_frame(WClient *client, WFrame *frame);
56 extern void reparent_fit_client_frame(WClient *client, WFrame *frame);
57 extern void reconf_client_frame(WClient *client, WFrame *frame);
58 extern void set_client_frame_id(WClient *client, int id);
60 extern void client_make_label(WClient *client, int maxw);
61 extern char* client_full_label(WClient *client);
62 extern void client_use_label(WClient *client);
63 extern void client_unuse_label(WClient *client);
65 extern void client_toggle_tagged(WClient *client);
66 extern void clear_tags();
68 extern bool goto_window(WWindow *window);
69 extern void goto_client(WClient *client);
70 extern void goto_previous();
71 extern bool goto_client_name(const char *cname);
73 extern WClient* lookup_client(const char *name);
74 extern int complete_client(char *nam, char ***cp_ret, char **beg);
76 #endif /* INCLUDED_CLIENT_H */