diff --git a/lib/modules/Protocols.pmod/X.pmod/Types.pmod b/lib/modules/Protocols.pmod/X.pmod/Types.pmod index c9cd2f33cd4a84ab3e71a023f98802c601915f7a..e70cf700dbb52165bbd4cbd50a7d2ef4d337329a 100644 --- a/lib/modules/Protocols.pmod/X.pmod/Types.pmod +++ b/lib/modules/Protocols.pmod/X.pmod/Types.pmod @@ -565,6 +565,33 @@ class Window } return a; } + + object GetProperty_req(object property, object|void type) + { + object req = Requests.GetProperty(); + req->window = id; + req->property = property->id; + if (type) + req->type = type->id; + + return req; + } + + mapping GetProperty(object property, object|void type) + { + object req = GetProperty_req(property, type); + array a = display->blocking_request(req); + + if (!a[0]) + return 0; + + mapping m = a[1]; + if (type && (m->type == type->id)) + m->type = type; + else + m->type = display->lookup_atom(m->type); + return m; + } // Shape extension void ShapeRectangles( string kind, int xo, int yo, string operation,