[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Delayed execution of screen commands

From: Will Maier
Subject: Delayed execution of screen commands
Date: Fri, 15 Jul 2005 15:01:51 -0500


One of my regular screen sessions is dedicated to communication apps
(IRC, jabber, etc) which I like to monitor. Recently, I added the
following to my .screenrc:
    bind i idle 60 windowlist

If I'm not actively using the session, the windowlist is displayed,
allowing me to track activity at a glance in all my active apps. This is
very close to what I'd ultimately like; ideally, however, after opening
the windowlist, I'd like screen to set idle to off again, otherwise
every time I flip to that session and then flip away, the idle timer
starts counting again. Simply, as I'm monitoring that session in a
meta-session, I'd prefer it to only generate monitor events when
activity occurs in a window inside the communications session.

I realize the above is a little obscure; here's the sequence of events
which will hopefully make things simpler:
1. COMM screen session attached to META screen meta-session (which also
has attached to it various other screen sessions and windows)
2. idle time in COMM == 60s, opens window list
3. META monitors window COMM is nested in, changes window's flag when
COMM opens the window list
4. user flips to COMM's window in META (and, in doing so, removes the
activity flag) -- user does not leave windowlist
5. user flips away from COMM's window in META (and, in doing so, sets
COMM's idle timer counting again)
6. see step 2

I want to break that loop by altering my binding to something like the
    bind i eval 'idle 60 windowlist' 'sleep 65' 'idle 0'

I expect the above to set idle, sleep a while and, after the windowlist
has been opened, turn idle off again. Then, I'd only be notified of
actions in eg COMM that cause the status flags of the windows in COMM's
windowlist to change.

Forgive the esoterica; any possible solutions?


Will Maier

reply via email to

[Prev in Thread] Current Thread [Next in Thread]