add set functions for all the client props that need em

This commit is contained in:
Dana Jansens 2003-04-11 03:35:14 +00:00
parent f317ceeaf2
commit d976fc6bb1
2 changed files with 54 additions and 6 deletions

View file

@ -16,16 +16,31 @@ void cwmcc_client_get_protocols(Window win, Atom **protocols)
} }
} }
int cwmcc_client_get_wm_state(Window win) void cwmcc_client_set_protocols(Window win, Atom *protocols)
{ {
gulong s; gulong n;
Atom *a;
for (a = protocols, n = 0; *a; ++a, ++n);
XChangeProperty(cwmcc_display, win, CWMCC_ATOM(client, wm_state),
CWMCC_ATOM(type, atom), 32, PropModeReplace,
(guchar*)protocols, n);
}
void cwmcc_client_get_wm_state(Window win, gulong *state)
{
if (!prop_get32(win, CWMCC_ATOM(client, wm_state), if (!prop_get32(win, CWMCC_ATOM(client, wm_state),
CWMCC_ATOM(client, wm_state), &s)) { CWMCC_ATOM(client, wm_state), state)) {
g_warning("Failed to read WM_STATE from 0x%lx", win); g_warning("Failed to read WM_STATE from 0x%lx", win);
s = NormalState; *state = NormalState;
} }
return s; }
void cwmcc_client_set_wm_state(Window win, gulong state)
{
XChangeProperty(cwmcc_display, win, CWMCC_ATOM(client, wm_state),
CWMCC_ATOM(client, wm_state), 32, PropModeReplace,
(guchar*)&state, 1);
} }
void cwmcc_client_get_name(Window win, char **name) void cwmcc_client_get_name(Window win, char **name)
@ -109,6 +124,13 @@ void cwmcc_client_get_desktop(Window win, gulong *desk)
} }
} }
void cwmcc_client_set_desktop(Window win, gulong desk)
{
XChangeProperty(cwmcc_display, win, CWMCC_ATOM(client, net_wm_desktop),
CWMCC_ATOM(type, cardinal), 32, PropModeReplace,
(guchar*)&desk, 1);
}
void cwmcc_client_get_type(Window win, gulong **types) void cwmcc_client_get_type(Window win, gulong **types)
{ {
gulong num; gulong num;
@ -122,6 +144,17 @@ void cwmcc_client_get_type(Window win, gulong **types)
} }
} }
void cwmcc_client_set_type(Window win, gulong *types)
{
gulong n;
gulong *t;
for (t = types, n = 0; *t; ++t, ++n);
XChangeProperty(cwmcc_display, win, CWMCC_ATOM(client, wm_state),
CWMCC_ATOM(type, atom), 32, PropModeReplace,
(guchar*)types, n);
}
void cwmcc_client_get_state(Window win, gulong **states) void cwmcc_client_get_state(Window win, gulong **states)
{ {
gulong num; gulong num;
@ -134,6 +167,17 @@ void cwmcc_client_get_state(Window win, gulong **states)
} }
} }
void cwmcc_client_set_state(Window win, gulong *states)
{
gulong n;
gulong *s;
for (s = states, n = 0; *s; ++s, ++n);
XChangeProperty(cwmcc_display, win, CWMCC_ATOM(client, wm_state),
CWMCC_ATOM(type, atom), 32, PropModeReplace,
(guchar*)states, n);
}
void cwmcc_client_get_strut(Window win, int *l, int *t, int *r, int *b) void cwmcc_client_get_strut(Window win, int *l, int *t, int *r, int *b)
{ {
gulong *data = NULL, num; gulong *data = NULL, num;

View file

@ -3,7 +3,8 @@
void cwmcc_client_get_protocols(Window win, Atom **protocols); void cwmcc_client_get_protocols(Window win, Atom **protocols);
int cwmcc_client_get_wm_state(Window win); void cwmcc_client_get_wm_state(Window win, gulong *state);
void cwmcc_client_set_wm_state(Window win, gulong state);
void cwmcc_client_get_name(Window win, char **name); void cwmcc_client_get_name(Window win, char **name);
@ -55,10 +56,13 @@ struct Cwmcc_MwmHints {
void cwmcc_client_get_mwmhints(Window win, struct Cwmcc_MwmHints *hints); void cwmcc_client_get_mwmhints(Window win, struct Cwmcc_MwmHints *hints);
void cwmcc_client_get_desktop(Window win, gulong *desk); void cwmcc_client_get_desktop(Window win, gulong *desk);
void cwmcc_client_set_desktop(Window win, gulong desk);
void cwmcc_client_get_type(Window win, gulong **types); void cwmcc_client_get_type(Window win, gulong **types);
void cwmcc_client_set_type(Window win, gulong *types);
void cwmcc_client_get_state(Window win, gulong **states); void cwmcc_client_get_state(Window win, gulong **states);
void cwmcc_client_set_state(Window win, gulong *states);
void cwmcc_client_get_strut(Window win, int *l, int *t, int *r, int *b); void cwmcc_client_get_strut(Window win, int *l, int *t, int *r, int *b);