--- /tmp/wmctrl-1.07/main.c Sat Jan 29 03:31:33 2005 +++ main.c Thu Feb 2 23:25:11 2006 @@ -214,7 +214,7 @@ static gchar *get_window_title (Display *disp, Window win); static gchar *get_window_class (Display *disp, Window win); static gchar *get_property (Display *disp, Window win, - Atom xa_prop_type, gchar *prop_name, unsigned long *size); + Atom xa_prop_type, gchar *prop_name, size_t *size); static void init_charset(void); static int window_move_resize (Display *disp, Window win, char *arg); static int window_state (Display *disp, Window win, char *arg); @@ -1016,17 +1016,17 @@ }/*}}}*/ static int list_desktops (Display *disp) {/*{{{*/ - unsigned long *num_desktops = NULL; - unsigned long *cur_desktop = NULL; - unsigned long desktop_list_size = 0; - unsigned long *desktop_geometry = NULL; - unsigned long desktop_geometry_size = 0; + int *num_desktops = NULL; + int *cur_desktop = NULL; + size_t desktop_list_size = 0; + int *desktop_geometry = NULL; + size_t desktop_geometry_size = 0; gchar **desktop_geometry_str = NULL; - unsigned long *desktop_viewport = NULL; - unsigned long desktop_viewport_size = 0; + int *desktop_viewport = NULL; + size_t desktop_viewport_size = 0; gchar **desktop_viewport_str = NULL; - unsigned long *desktop_workarea = NULL; - unsigned long desktop_workarea_size = 0; + int *desktop_workarea = NULL; + size_t desktop_workarea_size = 0; gchar **desktop_workarea_str = NULL; gchar *list = NULL; int i; @@ -1036,9 +1036,9 @@ gchar **names = NULL; gboolean names_are_utf8 = TRUE; - if (! (num_desktops = (unsigned long *)get_property(disp, root, + if (! (num_desktops = (int *)get_property(disp, root, XA_CARDINAL, "_NET_NUMBER_OF_DESKTOPS", NULL))) { - if (! (num_desktops = (unsigned long *)get_property(disp, root, + if (! (num_desktops = (int *)get_property(disp, root, XA_CARDINAL, "_WIN_WORKSPACE_COUNT", NULL))) { fputs("Cannot get number of desktops properties. " "(_NET_NUMBER_OF_DESKTOPS or _WIN_WORKSPACE_COUNT)" @@ -1047,9 +1047,9 @@ } } - if (! (cur_desktop = (unsigned long *)get_property(disp, root, + if (! (cur_desktop = (int *)get_property(disp, root, XA_CARDINAL, "_NET_CURRENT_DESKTOP", NULL))) { - if (! (cur_desktop = (unsigned long *)get_property(disp, root, + if (! (cur_desktop = (int *)get_property(disp, root, XA_CARDINAL, "_WIN_WORKSPACE", NULL))) { fputs("Cannot get current desktop properties. " "(_NET_CURRENT_DESKTOP or _WIN_WORKSPACE property)" @@ -1074,21 +1074,21 @@ } /* common size of all desktops */ - if (! (desktop_geometry = (unsigned long *)get_property(disp, DefaultRootWindow(disp), + if (! (desktop_geometry = (int *)get_property(disp, DefaultRootWindow(disp), XA_CARDINAL, "_NET_DESKTOP_GEOMETRY", &desktop_geometry_size))) { p_verbose("Cannot get common size of all desktops (_NET_DESKTOP_GEOMETRY).\n"); } /* desktop viewport */ - if (! (desktop_viewport = (unsigned long *)get_property(disp, DefaultRootWindow(disp), + if (! (desktop_viewport = (int *)get_property(disp, DefaultRootWindow(disp), XA_CARDINAL, "_NET_DESKTOP_VIEWPORT", &desktop_viewport_size))) { p_verbose("Cannot get common size of all desktops (_NET_DESKTOP_VIEWPORT).\n"); } /* desktop workarea */ - if (! (desktop_workarea = (unsigned long *)get_property(disp, DefaultRootWindow(disp), + if (! (desktop_workarea = (int *)get_property(disp, DefaultRootWindow(disp), XA_CARDINAL, "_NET_WORKAREA", &desktop_workarea_size))) { - if (! (desktop_workarea = (unsigned long *)get_property(disp, DefaultRootWindow(disp), + if (! (desktop_workarea = (int *)get_property(disp, DefaultRootWindow(disp), XA_CARDINAL, "_WIN_WORKAREA", &desktop_workarea_size))) { p_verbose("Cannot get _NET_WORKAREA property.\n"); } @@ -1116,7 +1116,7 @@ /* only one value - use it for all desktops */ p_verbose("WM provides _NET_DESKTOP_GEOMETRY value common for all desktops.\n"); for (i = 0; i < *num_desktops; i++) { - desktop_geometry_str[i] = g_strdup_printf("%lux%lu", + desktop_geometry_str[i] = g_strdup_printf("%dx%d", desktop_geometry[0], desktop_geometry[1]); } } @@ -1125,7 +1125,7 @@ p_verbose("WM provides separate _NET_DESKTOP_GEOMETRY value for each desktop.\n"); for (i = 0; i < *num_desktops; i++) { if (i < desktop_geometry_size / sizeof(*desktop_geometry) / 2) { - desktop_geometry_str[i] = g_strdup_printf("%lux%lu", + desktop_geometry_str[i] = g_strdup_printf("%dx%d", desktop_geometry[i*2], desktop_geometry[i*2+1]); } else { @@ -1148,7 +1148,7 @@ p_verbose("WM provides _NET_DESKTOP_VIEWPORT value only for the current desktop.\n"); for (i = 0; i < *num_desktops; i++) { if (i == *cur_desktop) { - desktop_viewport_str[i] = g_strdup_printf("%lu,%lu", + desktop_viewport_str[i] = g_strdup_printf("%d,%d", desktop_viewport[0], desktop_viewport[1]); } else { @@ -1160,7 +1160,7 @@ /* seperate values for each of desktops */ for (i = 0; i < *num_desktops; i++) { if (i < desktop_viewport_size / sizeof(*desktop_viewport) / 2) { - desktop_viewport_str[i] = g_strdup_printf("%lu,%lu", + desktop_viewport_str[i] = g_strdup_printf("%d,%d", desktop_viewport[i*2], desktop_viewport[i*2+1]); } else { @@ -1183,7 +1183,7 @@ p_verbose("WM provides _NET_WORKAREA value only for the current desktop.\n"); for (i = 0; i < *num_desktops; i++) { if (i == *cur_desktop) { - desktop_workarea_str[i] = g_strdup_printf("%lu,%lu %lux%lu", + desktop_workarea_str[i] = g_strdup_printf("%d,%d %dx%d", desktop_workarea[0], desktop_workarea[1], desktop_workarea[2], desktop_workarea[3]); } @@ -1196,7 +1196,7 @@ /* seperate values for each of desktops */ for (i = 0; i < *num_desktops; i++) { if (i < desktop_workarea_size / sizeof(*desktop_workarea) / 4) { - desktop_workarea_str[i] = g_strdup_printf("%lu,%lu %lux%lu", + desktop_workarea_str[i] = g_strdup_printf("%d,%d %dx%d", desktop_workarea[i*4], desktop_workarea[i*4+1], desktop_workarea[i*4+2], desktop_workarea[i*4+3]); } @@ -1223,8 +1223,8 @@ g_free(out); } - p_verbose("Total number of desktops: %lu\n", *num_desktops); - p_verbose("Current desktop ID (counted from zero): %lu\n", *cur_desktop); + p_verbose("Total number of desktops: %d\n", *num_desktops); + p_verbose("Current desktop ID (counted from zero): %d\n", *cur_desktop); ret = EXIT_SUCCESS; goto cleanup; @@ -1277,7 +1277,7 @@ static int list_windows (Display *disp) {/*{{{*/ Window *client_list; - unsigned long client_list_size; + size_t client_list_size; int i; int max_client_machine_len = 0; @@ -1301,16 +1301,16 @@ gchar *title_out = get_output_str(title_utf8, TRUE); gchar *client_machine; gchar *class_out = get_window_class(disp, client_list[i]); /* UTF8 */ - unsigned long *pid; - unsigned long *desktop; + pid_t *pid; + int *desktop; int x, y, junkx, junky; unsigned int wwidth, wheight, bw, depth; Window junkroot; /* desktop ID */ - if ((desktop = (unsigned long *)get_property(disp, client_list[i], + if ((desktop = (int *)get_property(disp, client_list[i], XA_CARDINAL, "_NET_WM_DESKTOP", NULL)) == NULL) { - desktop = (unsigned long *)get_property(disp, client_list[i], + desktop = (int *)get_property(disp, client_list[i], XA_CARDINAL, "_WIN_WORKSPACE", NULL); } @@ -1319,7 +1319,7 @@ XA_STRING, "WM_CLIENT_MACHINE", NULL); /* pid */ - pid = (unsigned long *)get_property(disp, client_list[i], + pid = (pid_t *)get_property(disp, client_list[i], XA_CARDINAL, "_NET_WM_PID", NULL); /* geometry */ @@ -1333,7 +1333,7 @@ printf("0x%.8lx %2ld", client_list[i], desktop ? (signed long)*desktop : 0); if (options.show_pid) { - printf(" %-6lu", pid ? *pid : 0); + printf(" %-6d", pid ? *pid : 0); } if (options.show_geometry) { printf(" %-4d %-4d %-4d %-4d", x, y, wwidth, wheight); @@ -1409,14 +1409,14 @@ }/*}}}*/ static gchar *get_property (Display *disp, Window win, /*{{{*/ - Atom xa_prop_type, gchar *prop_name, unsigned long *size) { + Atom xa_prop_type, gchar *prop_name, size_t *size) { Atom xa_prop_name; Atom xa_ret_type; int ret_format; unsigned long ret_nitems; unsigned long ret_bytes_after; - unsigned long tmp_size; - unsigned char *ret_prop; + size_t tmp_size; + unsigned char *ret_prop = 0; gchar *ret; xa_prop_name = XInternAtom(disp, prop_name, False); @@ -1426,9 +1426,12 @@ * long_length = Specifies the length in 32-bit multiples of the * data to be retrieved. */ - if (XGetWindowProperty(disp, win, xa_prop_name, 0, MAX_PROPERTY_VALUE_LEN / 4, False, - xa_prop_type, &xa_ret_type, &ret_format, - &ret_nitems, &ret_bytes_after, &ret_prop) != Success) { + if (XGetWindowProperty(disp, + win, + xa_prop_name, 0, MAX_PROPERTY_VALUE_LEN / 4, + False, xa_prop_type, + &xa_ret_type, &ret_format, &ret_nitems, &ret_bytes_after, + (unsigned char **)&ret_prop) != Success) { p_verbose("Cannot get %s property.\n", prop_name); return NULL; }