Re: FVWM: 2.0.45 and default MiniIcon

From: Albrecht Kadlec <albrecht_at_auto.tuwien.ac.at>
Date: Fri, 7 Feb 97 22:00:38 +0100

>>>>> Romano Giannetti writes:

R> On Tue, 4 Feb 1997, Albrecht Kadlec wrote:
> Romano Giannetti writes:
>
R> And... the "dot sticking cursor bug" is not resolved. I can reproduce
R> it in fvwm 2.0.45, too. (Please refer to an old message from myself
R> explaining how to reproduce it).
>
> you mean that no window is focused on startup ?

R> No. :-) It's a bad interaction between AutoRaise and Fvwm, let me paste
R> again the way to reproduce it:

R> Run FvwmAuto 1500
R> From the focused and raised xterm: run xcalc
R> Rapidly, choose from the first button windows menu of the calc
R> the close option, in such a way that when the xcalc will
R> disappear, your mouse pointer is on the original xterm

R> If you have done this quite rapidly (before 1500 ms, I think, but I have
R> not verified) the cursor is sticky to a big black dot and you have to
R> click anywhere to be able to work again.

when you have the dot cursor, click on a lowered window.
it's raised, so the dot cursor is from a pending raise action.
Why is the action pending?

Because the windowid doesn't exist any more (window already closed).
(if the window id is invalid, raise waits for the user to click on a window)

But FvwmAuto can't easily test, if the window still exists (well it could
keep track of close/destroy/unmap events)

It's easier to pass on the test to Fvwm2, which knows, if the window still
exists. So FvwmAuto should probably use sth like:

        AddToFunc raise_if_exist "I" WindowId $0 raise
        FvwmAuto 1500 raise_if_exist

and give the function the windowid as parameter (like the windowlist does)

problem is:
        chuck rejected my idea of adding windowid parameter support to all
        functions which need a window (or let the user choose one), when I
        did the windowlist rewrite (which he in term rewrote afterwards)

        So to use the added parameter with raise or other builtin
        window-based functions, you'll always have to write a wrapper
        function.

        Functions that do use a parameter (like Iconify) will misinterpret
        this parameter, so even if you don't use the argument, you'll have
        to write a wrapper that discads that argument for these.


I don't like this situation at all.
I also don't like the patch below very much, but at least it works.

albrecht



21:48 einstein:~/bin/tools/fvwm-2.0.45/modules/FvwmAuto> diff -wc FvwmAuto.c~ Fv
wmAuto.c
*** FvwmAuto.c~ Mon Jan 27 15:29:11 1997
--- FvwmAuto.c Fri Feb 7 21:40:20 1997
***************
*** 77,82 ****
--- 77,83 ----
  {
      char *enter_fn="Raise", /* default */
                     *leave_fn=NULL,
+ func_mesg[255],
                     mask_mesg[80];
      unsigned long header[HEADER_SIZE],
                     *body,
***************
*** 162,168 ****
        {
            if (last_win && leave_fn) /* if last_win isn't the root */
            {
! SendInfo(fd,leave_fn,last_win);
  #ifdef DEBUG
                fprintf(stderr,"[FvwmAuto]: executing %s on window 0x%08lx\n",le
ave_fn,focus_win);
  #endif
--- 163,170 ----
        {
            if (last_win && leave_fn) /* if last_win isn't the root */
            {
! sprintf(func_mesg,"%s 0x%08lX",leave_fn,last_win);
! SendInfo(fd,func_mesg,last_win);
  #ifdef DEBUG
                fprintf(stderr,"[FvwmAuto]: executing %s on window 0x%08lx\n",le
ave_fn,focus_win);
  #endif
***************
*** 169,175 ****
            }
            if (focus_win && enter_fn) /* if focus_win isn't the root */
            {
! SendInfo(fd,enter_fn,focus_win);
  #ifdef DEBUG
                fprintf(stderr,"[FvwmAuto]: executing %s on window 0x%08lx\n",en
ter_fn,focus_win);
  #endif
--- 171,178 ----
            }
            if (focus_win && enter_fn) /* if focus_win isn't the root */
            {
! sprintf(func_mesg,"%s 0x%08lX",enter_fn,focus_win);
! SendInfo(fd,func_mesg,focus_win);
  #ifdef DEBUG
                fprintf(stderr,"[FvwmAuto]: executing %s on window 0x%08lx\n",en
ter_fn,focus_win);
  #endif
***************
*** 178,182 ****
        }
      }
  }
-

--- 181,184 ----
-- 
I got no clause in my contract, got no shares in my name
I'm just charting the single in a bachelor's game -- Marillion
--
Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to majordomo_at_hpc.uh.edu.
To report problems, send mail to fvwm-owner_at_hpc.uh.edu.
Received on Fri Feb 07 1997 - 15:01:46 GMT

This archive was generated by hypermail 2.3.0 : Mon Aug 29 2016 - 19:38:00 BST