diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-05-24 20:50:56 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-05-24 20:50:56 +0000 |
| commit | 927f99e4125743bbecf41b1aa7dbce9587fb6156 (patch) | |
| tree | b025101c186d321ba3bb5ce19b903ce31bf45bae /cwmcc/client_props.c | |
| parent | 3753a0ed3eb1f10d8579dc20098504484003e8bf (diff) | |
not being developed anymore, maybe in the future...
Diffstat (limited to 'cwmcc/client_props.c')
| -rw-r--r-- | cwmcc/client_props.c | 340 |
1 files changed, 0 insertions, 340 deletions
diff --git a/cwmcc/client_props.c b/cwmcc/client_props.c deleted file mode 100644 index 4ca51d39..00000000 --- a/cwmcc/client_props.c +++ /dev/null @@ -1,340 +0,0 @@ -#include "cwmcc_internal.h" -#include "atom.h" -#include "prop.h" -#include "client_props.h" - -#include <X11/Xutil.h> -#include <string.h> - -void cwmcc_client_get_protocols(Window win, Atom **protocols, gulong *num) -{ - if (!cwmcc_prop_get_array32(win, CWMCC_ATOM(client, wm_protocols), - CWMCC_ATOM(type, atom), protocols, num)) { - g_warning("Failed to read WM_PROTOCOLS from 0x%lx", win); - *protocols = NULL; - *num = 0; - } -} - -void cwmcc_client_set_protocols(Window win, Atom *protocols, gulong num) -{ - cwmcc_prop_set_array32(win, CWMCC_ATOM(client, wm_state), - CWMCC_ATOM(type, atom), protocols, num); -} - -void cwmcc_client_get_wm_state(Window win, gulong *state) -{ - if (!cwmcc_prop_get32(win, CWMCC_ATOM(client, wm_state), - CWMCC_ATOM(client, wm_state), state)) { - g_warning("Failed to read WM_STATE from 0x%lx", win); - *state = NormalState; - } -} - -void cwmcc_client_set_wm_state(Window win, gulong state) -{ - cwmcc_prop_set32(win, CWMCC_ATOM(client, wm_state), - CWMCC_ATOM(client, wm_state), state); -} - -void cwmcc_client_get_name(Window win, char **name) -{ - if (!cwmcc_prop_get_string_utf8(win, CWMCC_ATOM(client, net_wm_name), - name)) - if (!cwmcc_prop_get_string_locale(win, CWMCC_ATOM(client, wm_name), - name)) { - g_warning("Failed to read a name from 0x%lx", win); - *name = g_strdup("Unnamed Window"); - } -} - -void cwmcc_client_set_name(Window win, char *name) -{ - cwmcc_prop_set_string_utf8(win, CWMCC_ATOM(client, net_wm_name), name); -} - -void cwmcc_client_get_icon_name(Window win, char **name) -{ - if (!cwmcc_prop_get_string_utf8(win, CWMCC_ATOM(client, net_wm_icon_name), - name)) - if (!cwmcc_prop_get_string_locale(win,CWMCC_ATOM(client, wm_icon_name), - name)) { - g_warning("Failed to read an icon name from 0x%lx", win); - *name = g_strdup("Unnamed Window"); - } -} - -void cwmcc_client_set_icon_name(Window win, char *name) -{ - cwmcc_prop_set_string_utf8(win, CWMCC_ATOM(client, net_wm_icon_name),name); -} - -void cwmcc_client_get_class(Window win, char **class, char **name) -{ - char **s; - - if (!cwmcc_prop_get_strings_locale(win, CWMCC_ATOM(client, wm_class), &s)){ - g_warning("Failed to read WM_CLASS from 0x%lx", win); - *class = g_strdup(""); - *name = g_strdup(""); - } else { - if (!s[0]) { - g_warning("Failed to read class element of WM_CLASS from 0x%lx", - win); - *class = g_strdup(""); - } else - *class = g_strdup(s[0]); - if (!s[0] || !s[1]) { - g_warning("Failed to read name element of WM_CLASS from 0x%lx", - win); - *name = g_strdup(""); - } else - *name = g_strdup(s[1]); - } - g_strfreev(s); -} - -void cwmcc_client_get_role(Window win, char **role) -{ - if (!cwmcc_prop_get_string_locale(win, CWMCC_ATOM(client, wm_window_role), - role)) { - g_warning("Failed to read WM_WINDOW_ROLE from 0x%lx", win); - *role = g_strdup(""); - } -} - -void cwmcc_client_get_mwmhints(Window win, struct Cwmcc_MwmHints *hints) -{ - gulong *l = NULL, num; - - if (!cwmcc_prop_get_array32(win, CWMCC_ATOM(client, motif_wm_hints), - CWMCC_ATOM(client, motif_wm_hints), &l, &num)){ - g_warning("Failed to read Motif WM Hints from 0x%lx", win); - hints->flags = 0; - } else if (num < 3) { - g_warning("Read incomplete Motif WM Hints from 0x%lx", win); - hints->flags = 0; - } else { - hints->flags = l[0]; - hints->functions = l[1]; - hints->decorations = l[2]; - } - g_free(l); -} - -void cwmcc_client_get_desktop(Window win, gulong *desk) -{ - if (!cwmcc_prop_get32(win, CWMCC_ATOM(client, net_wm_desktop), - CWMCC_ATOM(type, cardinal), desk)) { - g_warning("Failed to read NET_WM_DESKTOP from 0x%lx", win); - *desk = 0; - } -} - -void cwmcc_client_set_desktop(Window win, gulong desk) -{ - cwmcc_prop_set32(win, CWMCC_ATOM(client, net_wm_desktop), - CWMCC_ATOM(type, cardinal), desk); -} - -void cwmcc_client_get_type(Window win, gulong **types, gulong *num) -{ - if (!cwmcc_prop_get_array32(win, CWMCC_ATOM(client, net_wm_window_type), - CWMCC_ATOM(type, atom), types, num)) { - g_warning("Failed to read NET_WM_WINDOW_TYPE from 0x%lx", win); - *types = g_new(Atom, 1); - (*types)[0] = CWMCC_ATOM(data, net_wm_window_type_normal); - *num = 1; - } -} - -void cwmcc_client_set_type(Window win, gulong *types, gulong num) -{ - cwmcc_prop_set_array32(win, CWMCC_ATOM(client, net_wm_window_type), - CWMCC_ATOM(type, atom), types, num); -} - -void cwmcc_client_get_state(Window win, gulong **states, gulong *num) -{ - if (!cwmcc_prop_get_array32(win, CWMCC_ATOM(client, net_wm_state), - CWMCC_ATOM(type, atom), states, num)) { - g_warning("Failed to read NET_WM_STATE from 0x%lx", win); - *states = NULL; - *num = 0; - } -} - -void cwmcc_client_set_state(Window win, gulong *states, gulong num) -{ - cwmcc_prop_set_array32(win, CWMCC_ATOM(client, net_wm_state), - CWMCC_ATOM(type, atom), states, num); -} - -void cwmcc_client_get_strut(Window win, int *l, int *t, int *r, int *b) -{ - gulong *data = NULL, num; - - if (!cwmcc_prop_get_array32(win, CWMCC_ATOM(client, net_wm_strut), - CWMCC_ATOM(type, cardinal), &data, &num)) { - g_warning("Failed to read NET_WM_STRUT from 0x%lx", win); - *l = *t = *r = *b = 0; - } else if (num != 4) { - g_warning("Read invalid NET_WM_STRUT from 0x%lx", win); - *l = *t = *r = *b = 0; - } else { - *l = data[0]; - *r = data[1]; - *t = data[2]; - *b = data[3]; - } - g_free(data); -} - -void cwmcc_client_set_strut(Window win, int l, int t, int r, int b) -{ - gulong data[4]; - - data[0] = l; - data[1] = r; - data[2] = t; - data[3] = b; - cwmcc_prop_set_array32(win, CWMCC_ATOM(client, net_wm_strut), - CWMCC_ATOM(type, cardinal), data, 4); -} - -static void convert_pixmap_to_icon(Pixmap pix, Pixmap mask, - struct Cwmcc_Icon *icon) -{ -/* - guint pw, ph, mw, mh, depth; - Window wjunk; - int ijunk; - guint uijunk; - guint x, y; - - if (!XGetGeometry(cwmcc_display, pix, &wjunk, &ijunk, &ijunk, &pw, &ph, - &uijunk, &depth)) { - g_message("Unable to read pixmap icon's geometry"); - icon->width = icon->height = 0; - icon->data = NULL; - return; - } - if (!XGetGeometry(cwmcc_display, mask, &wjunk, &ijunk, &ijunk, &mw, &mh, - &uijunk, &ujunk)) { - g_message("Unable to read pixmap icon's mask's geometry"); - icon->width = icon->height = 0; - icon->data = NULL; - return; - } - if (pw != mw || ph !_ mh) { - g_warning("Pixmap icon's mask does not match icon's dimensions"); - icon->width = icon->height = 0; - icon->data = NULL; - return; - } - - for (y = 0; y < ph; ++y) - for (x = 0; x < pw; ++x) { - } -*/ - icon->width = icon->height = 0; - icon->data = NULL; -} - -void cwmcc_client_get_icon(Window win, struct Cwmcc_Icon **icons, gulong *num) -{ - gulong *data = NULL; - gulong w, h, i; - int j; - int nicons; - - if (!cwmcc_prop_get_array32(win, CWMCC_ATOM(client, net_wm_icon), - CWMCC_ATOM(type, cardinal), &data, num)) { - g_warning("Failed to read NET_WM_ICON from 0x%lx", win); - *icons = NULL; - nicons = 0; - } else { - /* figure out how many valid icons are in here */ - i = 0; - nicons = 0; - while (*num - i > 2) { - w = data[i++]; - h = data[i++]; - i += w * h; - if (i > *num) break; - ++nicons; - } - - *icons = g_new(struct Cwmcc_Icon, nicons); - - /* store the icons */ - i = 0; - for (j = 0; j < nicons; ++j) { - w = (*icons)[j].width = data[i++]; - h = (*icons)[j].height = data[i++]; - (*icons)[j].data = - g_memdup(&data[i], w * h * sizeof(gulong)); - i += w * h; - g_assert(i <= *num); - } - } - g_free(data); - - data = NULL; - if (!cwmcc_prop_get_array32(win, CWMCC_ATOM(client, kwm_win_icon), - CWMCC_ATOM(client, kwm_win_icon), &data, num)){ - g_warning("Failed to read KWM_WIN_ICON from 0x%lx", win); - } else if (*num != 2) { - g_warning("Read invalid KWM_WIN_ICON from 0x%lx", win); - } else { - Pixmap p, m; - struct Cwmcc_Icon icon; - - p = data[0]; - m = data[1]; - - convert_pixmap_to_icon(p, m, &icon); - - if (icon.data) { - ++nicons; - *icons = g_renew(struct Cwmcc_Icon, *icons, nicons); - (*icons[nicons]).data = NULL; - g_memmove(&(*icons)[nicons-1], &icon, sizeof(struct Cwmcc_Icon)); - } - } - g_free(data); - - *num = nicons; -} - -void cwmcc_client_get_premax(Window win, int *x, int *y, int *w, int *h) -{ - gulong *l = NULL, num; - - if (!cwmcc_prop_get_array32(win, CWMCC_ATOM(client, openbox_premax), - CWMCC_ATOM(type, cardinal), &l, &num)) { - g_warning("Failed to read OPENBOX_PREMAX from 0x%lx", win); - *x = *y = *w = *h = 0; - } else if (num != 4) { - g_warning("Read invalid OPENBOX_PREMAX from 0x%lx", win); - *x = *y = *w = *h = 0; - } else { - *x = l[0]; - *y = l[1]; - *w = l[2]; - *h = l[3]; - } - g_free(l); -} - -void cwmcc_client_set_premax(Window win, int x, int y, int w, int h) -{ - gulong l[4]; - - l[0] = x; - l[1] = y; - l[2] = w; - l[3] = h; - cwmcc_prop_set_array32(win, CWMCC_ATOM(client, openbox_premax), - CWMCC_ATOM(type, cardinal), l, 4); -} |
