ratpoison gets confused about what is the active frame

Ian Hickson <[email protected]> Sat, 3 Apr 2021 12:58:00 -0700
Newsgroups gmane.comp.window-managers.ratpoison.devel
Message-ID <CAP2znob45CUx2ovhbv9YfyygQS1tawcB7GNFM3G7OYoAxOh4TA@mail.gmail.com>
--0000000000005b6d5405bf16e210
Content-Type: text/plain; charset="UTF-8"

Hello,

I love ratpoison, I've used it for many years.

There's a bug I run into sometimes that I can't quite reliably reproduce,
and I was curious if this was a known thing.

Sometimes, the "next" and "prev" commands, as well as the "split" and
"hsplit" commands, affect a different frame than the active/focused one (as
determined by "focusup", "focusleft", etc).

So for example, I'll be happily going about my day with a complicated
organization of frames, and suddenly my "next" frame key will affect the
wrong frame, and if I try to split the frame the wrong frame gets split.

This seems to happen at random, e.g. I've seen it happen after long
sessions where I haven't done any reconfiguring of the frames (no splitting
or resizing). Sometimes when it happens I can fix it by using the "only"
command and then resplitting everything; sometimes that doesn't help.
Sometimes I can fix it by using the "remove" command to remove the
offending frame, other times that doesn't seem to help either.

FWIW, here is my .ratpoisonrc:

---------------8<---------------
undefinekey top C-t

definekey top s-w exec google-chrome
definekey top s-c exec x-terminal-emulator
definekey top s-f exec bin/factorio/bin/x64/factorio --fullscreen=false
definekey top s-m exec bin/minecraft/minecraft-launcher.sh
definekey top s-Left focusleft
definekey top s-Right focusright
definekey top s-Down focusdown
definekey top s-Up focusup
definekey top s-Tab focus
definekey top s-ISO_Left_Tab focuslast
definekey top s-h next
definekey top s-n prev
definekey top C-s-Left exchangeleft
definekey top C-s-Right exchangeright
definekey top C-s-Down exchangedown
definekey top C-s-Up exchangeup
definekey top s-backslash hsplit
definekey top s-bar hsplit
definekey top s-minus split
definekey top s-r resize
definekey top s-underscore split
definekey top s-slash help top
definekey top s-p readkey main

newkmap main
definekey main s-l redisplay
definekey main s-h next
definekey main s-x remove
definekey main s-k delete
definekey main s-K kill
definekey main s-t time
definekey main slash help main
definekey main s-slash help main
definekey main question help main
definekey main s-w windows
definekey main s-u undo
definekey main s-r undo
definekey main s-1 only
definekey main colon colon
definekey main C-t readkey root
definekey main C-l exec systemctl suspend

set resizeunit 120
set border 0
set gravity center
set bargravity center
rudeness 15

set font xft:sans-serif:pixelsize=64
set fgcolor yellow
set bgcolor darkblue
set inputwidth 1024
---------------8<---------------

Any advice you may have would be much appreciated.

Cheers,
-- 
Ian Hickson

--0000000000005b6d5405bf16e210
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hello,<div><br></div><div>I love ratpoison, I&#39;ve used =
it for many years.</div><div><br></div><div>There&#39;s a bug I run into so=
metimes that I can&#39;t quite reliably reproduce, and I was curious if thi=
s was a known thing.</div><div><br></div><div>Sometimes, the &quot;next&quo=
t; and &quot;prev&quot; commands, as well as the &quot;split&quot; and &quo=
t;hsplit&quot; commands, affect a different frame than the active/focused o=
ne (as determined by &quot;focusup&quot;, &quot;focusleft&quot;, etc).</div=
><div><br></div><div>So for example, I&#39;ll be happily going about my day=
 with a complicated organization of frames, and suddenly my &quot;next&quot=
; frame key will affect the wrong frame, and if I try to split the frame th=
e wrong frame gets split.</div><div><br></div><div>This seems to happen at =
random, e.g. I&#39;ve seen it happen after long sessions where I haven&#39;=
t done any reconfiguring of the frames (no splitting or resizing). Sometime=
s when it happens I can fix it by using the &quot;only&quot; command and th=
en resplitting everything; sometimes that doesn&#39;t help. Sometimes I can=
 fix it by using the &quot;remove&quot; command to remove the offending fra=
me, other times that doesn&#39;t seem to help either.</div><div><br></div><=
div>FWIW, here is my .ratpoisonrc:</div><div><br></div><div>---------------=
8&lt;---------------<br clear=3D"all"><div>undefinekey top C-t<br><br>defin=
ekey top s-w exec google-chrome<br>definekey top s-c exec x-terminal-emulat=
or<br>definekey top s-f exec bin/factorio/bin/x64/factorio --fullscreen=3Df=
alse<br>definekey top s-m exec bin/minecraft/minecraft-launcher.sh<br>defin=
ekey top s-Left focusleft<br>definekey top s-Right focusright<br>definekey =
top s-Down focusdown<br>definekey top s-Up focusup<br>definekey top s-Tab f=
ocus<br>definekey top s-ISO_Left_Tab focuslast<br>definekey top s-h next<br=
>definekey top s-n prev<br>definekey top C-s-Left exchangeleft<br>definekey=
 top C-s-Right exchangeright<br>definekey top C-s-Down exchangedown<br>defi=
nekey top C-s-Up exchangeup<br>definekey top s-backslash hsplit<br>defineke=
y top s-bar hsplit<br>definekey top s-minus split<br>definekey top s-r resi=
ze<br>definekey top s-underscore split<br>definekey top s-slash help top<br=
>definekey top s-p readkey main<br><br>newkmap main<br>definekey main s-l r=
edisplay<br>definekey main s-h next<br>definekey main s-x remove<br>definek=
ey main s-k delete<br>definekey main s-K kill<br>definekey main s-t time<br=
>definekey main slash help main<br>definekey main s-slash help main<br>defi=
nekey main question help main<br>definekey main s-w windows<br>definekey ma=
in s-u undo<br>definekey main s-r undo<br>definekey main s-1 only<br>define=
key main colon colon<br>definekey main C-t readkey root<br>definekey main C=
-l exec systemctl suspend<br><br>set resizeunit 120<br>set border 0<br>set =
gravity center<br>set bargravity center<br>rudeness 15<br><br>set font xft:=
sans-serif:pixelsize=3D64<br>set fgcolor yellow<br>set bgcolor darkblue<br>=
set inputwidth 1024<br></div><div>---------------8&lt;---------------<br cl=
ear=3D"all"><div></div></div><div><br></div><div>Any advice you may have wo=
uld be much appreciated.</div><div><br></div><div>Cheers,</div>-- <br><div =
dir=3D"ltr" class=3D"gmail_signature" data-smartmail=3D"gmail_signature">Ia=
n Hickson</div></div></div>

--0000000000005b6d5405bf16e210--