Monday, December 24, 2018

Xchars does not manage text blocks

A request to modify a text block overlaps, Xchars does not keep track.  A good thing, it keeps Xchars down to the bare minimum, obey the edict, just do a small part then chain all the small parts together under upper level syntax control. Xchars is mostly abut holding and modifying blocks of strings, a tiny database. It writes screen almost by happenstance, someone has to do it.   The entire system of loadables, all coordinating, become the compositor.  If you need charts, load a chart machine. Want a new window, grab one.  So give Xchars a pass through function, my plot.  Then I plan to experiment, via a second module, with xcb graphics, and I don't have the hassle of set up, I call: get_window at exec command in args format, and I get a window and can send pass throughs to xcb, hopefully.  Xchars is really the xcb interface, it just happens to carry a hundred lines of strings, and works a string write on behalf of clients.

All calls to xcb consist of a list of argument, length fixed, and some arguments are 32 bit, some 64 bit.  The mappings are simple to set up, an I have devious methods to defeat gcc and its warning machine. So I set up the fastest map from args to xcb.  Like two or three lines of code. I went hrough this in a previous post. 

Look, a world of snippets, organizable by high level syntax engines. Taking the hardware analogy a bit further, these snippets are devices that hang on the Bus, where console loop is Bus DMA controller. Args list are the copper traces. Good model.

No comments: