bottom-right picture presents a transformed ink (rotated in this case) - that uses a possibly hardware-accelerated function xlib:render-set-picture-transform.

Show thread

@loke it is all said on channel! :)
1. copy the window area to a pixmap
2. set gcontext
function <- boole-xor
fill-style <- :solid
fg/bg <- (xor ink1 ink2)
3. draw a rectangle on the pixmap
4. use that pixmap as the source picture (you need to specify matching src-x and src-y for the drawing area)

voila, profit.

Success! I've got right the flipping ink over the xrender extension.

@wwolf Thanks!

Double buffering will be part of the package (of this change). I've already rewritten pixmap abstraction to enable that - that change is merged in master. Then animations will be just a matter of putting things together by the programmer (until we decide on some public API for convenience).

I'm rewriting 's CLX backend renderer to always use XRender extension. I've already drafted a core abstraction.


Hypothesis: what if drops in productivity are a result of physical and mental strain after the last period of productivity burst and the way to keep being constantly productive is to be less productive overall? Like, metaphorically, instead of sprinting to a store, take a walk?

Of course that's under the assumption, that nobody productivity-shame you from behind your shoulder.

Fun fact #42: people seem to accept, that if you swing a radio onto the wall, it may stop working; otoh when they DDOS an innocent library from multiple threads with funcalls and it has race conditions they scream "a bug, a bug!"


| |
| X....... O |
| .. |
| ... |
| Y |
X - hidden treasure
Y - you
O - misty mountains

Good luck!


We have WaaS – Windows as a Service. I'm waiting for the ALW:

AWS-Lambda-Windows - !save! money for the time you are not using Windows, pay only per function used! :_)

You are right, but only if you take that the translated code is the product. In my case it is a by-product of thinking about code, such pseudocode is meant to reflect on my _understanding_ of the code, not the code itself.

To use a somewhat disconnected example - writing a text (say, for a blog post) makes you think about things you write about, without making mental shortcuts (which sometimes happen to be fatal flaws in the reasoning).

Re-reading what you wrote provides additional insight.

@wyatwerp it is more about building an understanding of the code. If I got it wrong, then I don't understand the code and it needs correction (the understanding and the transliteration :-). It is not about mechanical translation.

Sometimes to better understand a reviewed C code I'm rewriting it in Common Lisp pseudocode for clarity.

Menu commands are disabled when not available in the frame's command table.

Asynchronous command execution, shrink, puffup, raise and burry window etc.

p.s mastodon allows uploading webm, and twitter doesn't. Clearly the elephant is a winner ;-)

Show older

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!