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
- John J Foerch
Requirements
Chicken Eggs
- foreigners
- matchable
- miscmacros
- xinerama
- xlib
C Headers
- Xlib.h
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
- 0.1 (2015-07-26) utils for properties and desktops
- 0.2 (2015-07-30) xcontext introduced
- 0.3 (2015-08-02) with-xcontext root, active-window-title, set-wm-protocols
- 0.4 (2015-08-03) xcontext-data, xcontext-event-handlers
- 0.4.1 (2015-08-15) clientmessage-l0
- 0.4.2 (2015-08-15) general event data unpacking
- 0.4.3 (2015-11-12) window-get-string-property, window-get-string-property*, number-of-desktops, desktop-names, misc fixes
- 0.5.0 (2017-06-05) xinerama support