On Sat, Feb 13, 2021 at 08:22:16PM +0530, Mandar Mitra wrote: > Ipe sometimes pops up a little window (only borders, no titlebar > or buttons) that says "Waiting for external editor" (meaning > emacs), and grabs focus.
1) Please provide instructions how to make this happen. 2) What are the focus related options in the config file? (All of them) > I have to manually focus emacs before I can type anything. When > I quit emacs, the above window goes away. > I would like the transient windows to not affect focus at all. I > looked at the manual page for the FPGrabFocusTransient, > FPGrabFocusTransient, FPReleaseFocusTransient, and similar > options, but I couldn't figure out what I need to do to get the Thanks to the "extended window manager hints" specification applications can force focus on certain windows without leaving that to the window manager. Ipe sends an "activation" message on the transient windows to the window manager, and the default reaction to that is to raise and focus the window. For me, this works well: Style * GrabFocusTransient Style ipe !FPGrabFocusTransient Style * !RaiseTransient, !LowerTransient, !StackTransientParent destroyfunc EWMHActivateWindowFunc addtofunc EWMHActivateWindowFunc + I echo Ignoring EWMHActivateWindowFunc $[w.id] $[w.name] But that will also prevent automatic focusing of file dialogs etc. (which is perfectly fine for me). Alas, Ipe gives several of these windows the name "ipe" (and all its windows have the class and resource "ipe"), so unfortunately "style ipe ..." applies not only to the transients in question but to all its windows. -- If you really want EWMH to focus windows automatically and throw unexpected windows in your face, revealing the passwords you were typing in a shell etc., you'd have to hand write an EWMHActivateWindowFunc that does nothing for ipe windows (using conditional execution syntax) but works normally for others. -- To figure out the window names, use Style * DecorateTransient Or run the FvwmIdent module on the window in question. (E.g. open FvwmConsole, type "FvwmIdent", then pick a window.) -- (A bug report to Ipe to ask them to name all their windows properly would be in order, but not fix the problem anythime soon, I guess.) Ciao Dominik ^_^ ^_^ -- Dominik Vogt