xwem-devel
[Top] [All Lists]

Re: [XWEM Bug] Mozilla loses keyboard focus

From: Zajcev Evgeny <zevlg@xxxxxxxxx>
Subject: Re: [XWEM Bug] Mozilla loses keyboard focus
Date: Fri, 15 Apr 2005 12:43:32 +0400
Cc: xwem-devel@xxxxxxxx
User-agent: Gnus/5.1007 (Gnus v5.10.7) XEmacs/21.4 (Jumbo Shrimp, linux)
Wassily Kondratiev <wk@xxxxxxxxxxx> writes:

> Zajcev Evgeny <zevlg@xxxxxxxxx> writes:
>
>> So, it is pretty convinient to set `xwem-minibuffer-hide-cursor-mode'
>> also to nil along with nil value for
>> `xwem-minibuffer-emacs-frames-has-minibuffer'
>
> Thank you, I did so and it helps.

The problem with uncoditional select of xwem minibuffer is that xemacs
blocks (for reading input from minibuffer) *not under xwem control*,
i.e.  not under running any xwem code, not within xwem's event loop.
This makes not possible to do the job that xwem does for its
interactive commands, and as a result you can have behaviour that
you've described ..  Yes it is quite a bug-like thing, but doing work
around it is problematic, so noticing this is helpful ..

As another aproach you can handle emacs frame selection, and in case
of xwem minibuffer frame - you select xwem minibuffer client
conditionally, for example:

    (defun my-xwem-select-frame-hook ()
      "Select or deselect xwem minibuffer.
    Make xwem minibuffer be conditionally selected, when its emacs frame
    selected."
      (if (eq (selected-frame) (xwem-minib-frame xwem-minibuffer))
          (xwem-select-client (xwem-minib-cl xwem-minibuffer))
        (when (xwem-cl-selected-p (xwem-minib-cl xwem-minibuffer))
          (xwem-select-client (xwem-last-client)))))
    
    (add-hook 'select-frame-hook 'my-xwem-select-frame-hook)

With such a hack you can use hide cursor mode (non-nil
`xwem-minibuffer-hide-cursor-mode')

Good luck!

-- 
lg

<Prev in Thread] Current Thread [Next in Thread>