Re: Some enhancements for stack based window switching

Rhialto <[email protected]> Wed, 27 Jul 2022 12:30:52 +0200
Newsgroups gmane.comp.window-managers.ctwm
Message-ID <[email protected]>
On Wed 27 Jul 2022 at 02:11:49 +0500, Vitaly Shevtsov wrote:
> I'm sorry, I've attached the wrong file. This is the correct one

Which version did you use?
I wrote a patch for this, so you're probably referring to that one, but
the latest version doesn't have "StackLeader" any more.
It got a bit outdated, but I merged in the trunk and now you can get a
fresh version again at
https://code.launchpad.net/~ctwm/ctwm/windowstack2 .
I don't have time to try it out in detail right now, but it might be
that this works the way you want. The commit comment "RingLeader can
change if we enter or leave windows. That would rotate
the stack. Therefore we designate "Scr->Ring" as a fixed point to start
every time." makes me think that; but it has been a while so I'm not
sure :)

So, in case this version still has the issue you're fixing, I hope it is
still possible to fix it again but differently (given that StackLeader
is no longer there).

My design goal for the patches was that if you don't use the stack but
the ring, then you don't execute *any* extra code at all. So keeping
both a stack and a ring administration, for example, would not match
that goal. But code that is not terribly efficient for the stack (if
it's used) would be acceptable. That's why I put all the code that
manages the stack in the keyboard mapping, via f.warpring "startstack"
and f.warpring "finishstack" (when pressing or releasing the Alt or
Windows key).

I don't think I succeeded 100% (I think there is some extra assignment
or check here and there, even in the ring case) but I would like to
stick to it as much as possible.

Can you try if the version I linked above works as you expect?
If not, would it be possible to adjust your patch to that version?
If that also doesn't work, maybe it's possible if you re-introduce some
variable that takes the role of StackLeader as you used it?
(Note that with, e.g. BottomOfStack, I have to be very careful that it
is still a valid pointer by the time I try to use it for anything; the
window it points to may have been deleted in the mean time).

Cheers,
-Olaf.
-- 
___ "Buying carbon credits is a bit like a serial killer paying someone else to
\X/  have kids to make his activity cost neutral." -The BOFH    falu.nl@rhialto
signature.asc (application/pgp-signature, 488 B)
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEFVAhiiWjqgwBVdQAmYnGRWHD+9MFAmLhE9gACgkQmYnGRWHD
+9MfnAf+JcpvGoSueU6poXnpMpZeK6r6w8MBxwQn1TqGSYMecdSHECHk2RdzKEZp
LA46LiVH98X4WPIxAn8aPSkxy0epqCXYpa+jdE2k8pSodF/GC5bAjf3/qmtVAX+v
qFdGIT9ph6q6BjaspFogihFjWlMmvo4XoJzU2lUpOVUuPWiDuNAGrt87hbFOemIi
+5xZOj8Kzp6YgpxWvrQjfGyLM3Tw2xPjKhnU1UCFnE6DQuvzPL/UPY6/jWfyanXT
XsdVvOXq2OeEmBvyfIEiMLRDJqhXcH1crEuyk99McVZr4fmHpER5BsjvfILXyg27
z/e4cm2p+ii450r3y3NwaezciA5ovQ==
=8Woe
-----END PGP SIGNATURE-----