diff options
Diffstat (limited to 'vendor/github.com/BurntSushi/xgbutil/ewmh/doc.go')
-rw-r--r-- | vendor/github.com/BurntSushi/xgbutil/ewmh/doc.go | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/vendor/github.com/BurntSushi/xgbutil/ewmh/doc.go b/vendor/github.com/BurntSushi/xgbutil/ewmh/doc.go new file mode 100644 index 0000000..6e7506a --- /dev/null +++ b/vendor/github.com/BurntSushi/xgbutil/ewmh/doc.go @@ -0,0 +1,56 @@ +/* +Package ewmh provides a comprehensive API to get and set properties specified +by the EWMH spec, as well as perform actions specified by the EWMH spec. + +Since there are so many functions and they adhere to an existing spec, +this package file does not contain much documentation. Indeed, each +method has only a single comment associated with it: the EWMH property name. + +The idea is to +provide a consistent interface to use all facilities described in the EWMH +spec: http://standards.freedesktop.org/wm-spec/wm-spec-latest.html. + +Naming scheme + +Using "_NET_ACTIVE_WINDOW" as an example, +functions "ActiveWindowGet" and "ActiveWindowSet" get and set the +property, respectively. Both of these functions exist for most EWMH +properties. Additionally, some EWMH properties support sending a client +message event to request the window manager to perform some action. In the +case of "_NET_ACTIVE_WINDOW", this request is used to set the active +window. + +These sorts of functions end in "Req". So for "_NET_ACTIVE_WINDOW", +the method name is "ActiveWindowReq". Moreover, most requests include +various parameters that don't need to be changed often (like the source +indication). Thus, by default, functions ending in "Req" force these to +sensible defaults. If you need access to all of the parameters, use the +corresponding "ReqExtra" method. So for "_NET_ACTIVE_WINDOW", that would +be "ActiveWindowReqExtra". (If no "ReqExtra" method exists, then the +"Req" method covers all available parameters.) + +This naming scheme has one exception: if a property's only use is through +sending an event (like "_NET_CLOSE_WINDOW"), then the name will be +"CloseWindow" for the short-hand version and "CloseWindowExtra" +for access to all of the parameters. (Since there is no "_NET_CLOSE_WINDOW" +property, there is no need for "CloseWindowGet" and "CloseWindowSet" +functions.) + +For properties that store more than just a simple integer, name or list +of integers, structs have been created and exposed to organize the +information returned in a sensible manner. For example, the +"_NET_DESKTOP_GEOMETRY" property would typically return a slice of integers +of length 2, where the first integer is the width and the second is the +height. Xgbutil will wrap this in a struct with the obvious members. These +structs are documented. + +Finally, functions ending in "*Set" are typically only used when setting +properties on clients *you've* created or when the window manager sets +properties. Thus, it's unlikely that you should use them unless you're +creating a top-level client or building a window manager. + +Functions ending in "Get" or "Req[Extra]" are commonly used. + +N.B. Not all properties have "*Req" functions. +*/ +package ewmh |