You are looking at historical revision 39572 of this page. It may differ significantly from its current revision.

Outdated egg!

This is an egg for CHICKEN 4, the unsupported old release. You're almost certainly looking for the CHICKEN 5 version of this egg, if it exists.

If it does not exist, there may be equivalent functionality provided by another egg; have a look at the egg index. Otherwise, please consider porting this egg to the current version of CHICKEN.

xlib-utils

Description

Grab-bag of utilities for use with the xlib egg. This includes a set of procedures for working with X properties, events, and EWMH desktops, as well as a datatype called xcontext, which is a way to package up a display, a screen, a xinerama-screen, and a window into a single convenient record.

For bug reports, feature requests, and development versions, visit the bitbucket project page.

Authors

Requirements

Chicken Eggs

C Headers

API

xcontext

[procedure] (make-xcontext) => xcontext
[procedure] (make-xcontext . keywords) => xcontext
[procedure] (make-xcontext xc . keywords) => xcontext
[procedure] (xcontext? xc) => bool
[procedure] (xcontext-display xc) => display or #f
[procedure] (xcontext-screen xc) => fixnum or #f
[procedure] (xcontext-xinerama-screen xc) => xinerama-screen-info or #f
[procedure] (xcontext-window xc) => window or #f
[procedure] (xcontext-root xc) => window or #f
[procedure] (xcontext-data xc) => object
[procedure] (xcontext-data-set! xc object) => undefined
[procedure] (with-xcontext xc (field...) body...) => body...

events

[procedure] (add-event-handler! xc event-type mask handler guard) => undefined
[procedure] (handle-event event xcs) => undefined
[procedure] (xclientmessageevent-data-b event) => (fixnum...)
[procedure] (xclientmessageevent-data-s event) => (fixnum...)
[procedure] (xclientmessageevent-data-l event) => (fixnum...)

screens

[procedure] (screen-or-xinerama-screen-height xc) => fixnum
[procedure] (screen-or-xinerama-screen-width xc) => fixnum
[procedure] (screen-or-xinerama-screen-left xc) => fixnum
[procedure] (screen-or-xinerama-screen-top xc) => fixnum

properties

[procedure] (window-property-type) =>
[procedure] (window-property-format) =>
[procedure] (window-property-data) =>
[procedure] (window-property-count) =>
[procedure] (make-atom-property xc atom-name) => window-property
[procedure] (make-number-property number) => window-property
[procedure] (make-numbers-property numbers) => window-property
[procedure] (make-text-property text) => text-property
[procedure] (window-property-set xc key value) => undefined
[procedure] (window-property-append xc key value) => undefined
[procedure] (window-get-string-property display window property) => string or #f
[procedure] (window-get-string-property* xc property) => string or #f
[procedure] (set-wm-protocols xc syms) => undefined
[procedure] (active-window-title xc) => string or #f

desktops

[procedure] (number-of-desktops xc) => fixnum
[procedure] (desktop-names xc) => (string...)
[procedure] (switch-to-desktop xc desktop-name) => undefined

Examples

License

BSD

Version History