Hi,

On Fri, 2012-01-13 at 17:20 +0000, Andrew Higginson wrote:
> Hi,
> 
> I am trying to get a list of the open windows using
> _NET_CLIENT_LIST_STACKING (it is important I use this as I need it in
> the order of stacking) as seen here
> http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html#id2449346
> 
> To do this I am using the Xlib bindings for vala with the following
> code, however I cannot get the code at the end of this message to compile
> 
> Any help? If I am honest, I am not really sure what the void* stuff is
> about :/

A void pointer is a pointer to an unknown type and you should cast to a
specific type before using it. For this reason this line is invalid and
vala should complain at compile time like the C compiler is doing:

ulong xid = (ulong) list[i];

You are accessing the list variable with "list[i]".

I think that you can workaround this situation with a temporary variable
and honestly I don't know a cleaner solution:

    unowned ulong[] items = (ulong[])list;

    for (int i = 0; i < nitems; i++) {
        ulong xid = items[i];
        stdout.printf(xid.to_string());
    }


Regards,
Andrea

_______________________________________________
vala-list mailing list
vala-list@gnome.org
http://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to