martanne / dvtm

dvtm brings the concept of tiling window management, popularized by X11-window managers like dwm to the console. As a console window manager it tries to make it easy to work with multiple console based programs.
MIT License
843 stars 108 forks source link

KEY_LEFT KEY_RIGHT and KEY_HOME don't work in separate st with abduco #116

Open wart-github opened 3 years ago

wart-github commented 3 years ago

This is an odd problem. I'm still finding the exact case where this happens.

Basically, to duplicate:

  1. in config.h bind some key to the right/up/down/left arrow or home, e.g.

    { { MOD, KEY_DOWN, }, { focusdown, { NULL } } }, { { MOD, KEY_UP, }, { focusup, { NULL } } },

  2. launch st

  3. abduco -c test

  4. within this instance, up/down work as expected.

  5. launch a separate st

  6. abduco -a test

  7. within this instance, up/down do not work as expected.

I've tested this with dtach instead of abduco, with xterm (and console) instead of st. So I've narrowed it down to something funky in dvtm. However, that's as far as I've gotten.

FWIW, env in both st instances is the same except WINDOWID.

FWIW, oddly the KEY_PPAGE works fine (one of the defualt bindings)

Thanks in advance for any help on this.

wart-github commented 3 years ago

A small update after some testing.

It would appears that keys that stop working when re-attached via a different st instance include: KEY_IC, KEY_DC, KEY_HOME, KEY_END, KEY_LEFT, KEY_RIGHT, KEY_UP, and KEY_DOWN.

However, note that KEY_PPAGE and KEY_NPAGE continue to work! (I.e., I can set #define MOD KEY_PPAGE and it will work fine, but, e.g., #define MOD KEY_IC will not.)

I still haven't found any rhyme or reason why that set of keys would be signaled out...

wart-github commented 3 years ago

Three small updates (still debugging this): (1) it works fine in console. (2) it fails in st, xterm, urxvt (3) it might be abduco/dvtm, since abduco -c foo yash and then abduco -a foo also exhibits same problem with arrow keys not registering in the attached abduco.

GReagle commented 3 years ago

I tried to reproduce this problem but I could not. It works fine for me. I am using:

abduco-0.6 © 2013-2018 Marc André Tanner latest git log 8c32909a159aaa9484c82b71f05b7a73321eb491 On branch master; nothing to commit, working tree clean

dvtm-v0.15-52-g7bcf43f © 2007-2016 Marc André Tanner latest git log 7bcf43f8dbd5c4a67ec573a1248114caa75fa3c2 On branch master; nothing to commit, working tree clean

st 0.8.4 latest git log 4ef0cbd8b9371f37f7d02ef37b5378b879e6b8bf On branch master modified: config.def.h modified: st.c modified: st.h