emacs-devel
[Top][All Lists]
Advanced

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

display-until.el - Display a window or frame topmost in the frame stack


From: Robert Weiner
Subject: display-until.el - Display a window or frame topmost in the frame stack until a condition or timeout occurs
Date: Sun, 17 Dec 2017 12:28:08 -0500

If you have followed the lengthy recent discussions here:
  https://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00418.html
and
  https://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00372.html
on temporarily displaying frames when multiple overlapping frames are on screen, then you know this is a complex issue and hard to get right.  I suggested a higher level programming model for this, so I wrote a library to make this easy: display-until.el.  Please try it out and send any improvement suggestions.
I would like to see this code added to core Emacs if it is acceptable and someone will help me add the external documentation and commits needed for it.
The library is attached and the commentary is included below.
-- Bob
-----
# display-until - Display a window or frame topmost in the frame stack until a condition or timeout occurs.
This library temporarily displays an existing or new frame topmost in
the frame stack.  Then it restores the prior topmost frame as well
as any prior visibility status of the temporarily displayed frame,
e.g. if it was hidden or iconified.  See the end of the file for
sample usage expressions.


It includes the following:
  Variable:
    display-until-delay - time in seconds to display a temporary frame or
      window
      
  Display Functions:
    display-window-until - given a window and optional buffer, display the
      buffer in the window, make the window's frame topmost for
      `display-until-delay' seconds, then return the window's frame
      to its prior visibility

    display-frame-until - given a frame and optional buffer, display the
      buffer in the frame's selected window, make the frame topmost for
      `display-until-delay' seconds, then return the frame to its prior
      visibility

  Utility Functions:
    display-until-get-frame-by-name - given a name string, return the
      matching frame or nil

  Utility Macros:
    display-until-condition-or-timeout - wait for a boolean condition
      or timeout seconds
    display-until-thread-condition-or-timeout - run a thread until a boolean
      condition or timeout seconds

Attachment: display-until.el
Description: Binary data


reply via email to

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