Subject: Some new FVWM features from metisse

From: Olivier Chapuis <[email-masked]>
Date: Fri, 3 Sep 2004 07:20:59 +0200

Hello,

When working on metisse (http://insitu.lri.fr/~chapuis/metisse) and
related projects I added a few new features to FVWM. Maybe some can go
into the official 2.5.x tree as it does not seem that the tree is
really feature freezed. Just vote!

Here a full list of the difference between 2.5.x and the fvwm included
in metisse 0.3.4 (not yet released).

* New command SaveWindowPointerPosition: this command save the pointer
position relatively to the "current" window. You can restore this
position with a new option to the WarpToWindow cmd: "UseSavedPosition".
WarpToWindow UseSavedPosition 50 50 will either restore the pointer
position if saved or put the pointer in the middle of the window. 
My vote: I do not care.

* New command ShowCursor: draw a flashing circle around the cursor
during a fraction of time. I use this with some new options to
WarpToWindow: ShowCursor and ShowCursorOnSavedPosition.
My vote: I do not care. 

Example of use of these two cmd and these options to WarpToWindow: 

	DestroyFunc FuncFvwmSaveWindowPointerPosition
	AddToFunc   FuncFvwmSaveWindowPointerPosition
	+ I Silent All (HasPointer Focused) SaveWindowPointerPosition On
	+ I TestRc (Match) Break 1
	+ I Silent All (HasPointer) SaveWindowPointerPosition On
	+ I TestRc (Match) Break 1
	+ I Silent Current SaveWindowPointerPosition On

	DestroyFunc WindowListFunc
	AddToFunc   WindowListFunc
	+ I Iconify false
	+ I FlipFocus
	+ I Raise
	+ I WarpToWindow UseSavedPosition ShowCursorOnSavedPosition 10p 10p

	DestroyFunc MyAltTabFunc
	AddToFunc   MyAltTabFunc
	+ I FuncFvwmSaveWindowPointerPosition
	+ I WindowList Root c c NoDeskSort, SelectOnRelease Meta_L

	Key Tab 	A	M	 MyAltTabFunc

* Support for _NET_SHOW_DESKTOP via a new command ShowDesktop bool: this
command, if bool is on, iconify all window not in the window skip list.
If bool is off the command uniconify all window iconified by a
"ShowDesktop On". This can be simulated by a fvwm function (by using
State) modulo stacking order problems. FVWM GNOME/KDE users will be
happy with the support of _NET_SHOW_DESKTOP. My vote: yes.

* A library "FTips" for implementing tips in modules. I used this
library to add tips to IconMan with a lot of options (I've even write
down the man page I can poste it). I used this library in the Pager
and I plan to use it to implement (multiline) tips in FvwmButtons.
My vote: yes (a step toward removing the FvwmTaskBar).

* New option MaxButtonWidth to FvwmIconman. My vote: yes
(an other step toward removing the FvwmTaskBar).

* New option -transient-window to the FvwmPager which causes FvwmPager
to be transient and to execute "Silent Current MoveToPage x y" or
"Silent Current MoveToDesk d" or "Silent Current MoveToDeskAndPage d x
y" in the place of the GotoPage, GotoDesk and GotoDeskAndPage usual
cmd. Optionally the usual GotoPage, GotoDesk and GotoDeskAndPage are
also executed. My vote: yes.

* The "execute totally immediate complex function even if we
cannot grab the pointer" patch. Should not be disputed here :o)

* There are others stuffs which are not stable enough.  Some new complex
stacking/focus policy related to text selection and dnd (these use
XRecord). TaskBar Launch buttons used all the rows. My vote: no.

* Some metisse specific stuff. New module msg MX_STARTSTOP_OPERATION,
MX_MODULE_INTERACTIVE_MOVE and MX_CLICK_MOTION mainly for non standard
operation and interactive move in FvwmAmetista. New msg for syncing
desk switching are incoming.  A new BugOpts option "MetisseWorkaround"
for small things. My vote: obviously no.

Olivier
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked]

---

From: Thomas Adam <[email-masked]>
Date: Fri, 3 Sep 2004 06:44:49 +0100

> WarpToWindow: ShowCursor and ShowCursorOnSavedPosition.

There have been quite a few people asking about this feature -- and while the
solution has been thus far to use xmessage, I can see this being quite a
popular one. 

> happy with the support of _NET_SHOW_DESKTOP. My vote: yes.

Of course, this is easily scripted by a FvwmFunction, I can see nothing wrong
in making it in-line Fvwm. An (odd) side-effect of this can also be achieved
using the command 'vdesk', as well.

> (an other step toward removing the FvwmTaskBar).

I had no idea we were thinking of removing FvwmTaskBar -- indeed, I don't
think it should be removed, it is used by quite a lot of people.

[..snip..]

-- Thomas Adam
-- 
Quis custodiet ipsos custodes?

---

From: Olivier Chapuis <[email-masked]>
Date: Fri, 3 Sep 2004 10:06:52 +0200

> using the command 'vdesk', as well.

I do not see how to make a ShowDesktop complex function which respects
the stacking order. The All (condition) command loop over the windows
following the "normal" list and not the "stacking" list. Maybe a "stack"
option should be added to certain conditional commands.
 
> think it should be removed, it is used by quite a lot of people.

FvwmtaskBar is not so easy to maintain and if one day we can exactly
simulate the FvwmTaskBar with FvwmButtons + FvwmIconMan we may _discuss_
the removal of the FvwmTaskBar.

Regards, Olivier

---

From: Dominik Vogt <[email-masked]>
Date: Fri, 3 Sep 2004 10:03:19 +0200

> happy with the support of _NET_SHOW_DESKTOP. My vote: yes.

_NET_SHOW_DESKTOP support: yes; implementation with icons: no.  I
am almost sure using icons for this purpose will make more trouble
than it saves.  Instead, all windows should just be unmapped like
when they are on a different desk.  The checks for the current
desk are strewn all over the place, so this is no simple patch.

> My vote: yes (a step toward removing the FvwmTaskBar).
 
Yes.

> (an other step toward removing the FvwmTaskBar).

Yes, that's an important patch.

> also executed. My vote: yes.

What is that good for?

> cannot grab the pointer" patch. Should not be disputed here :o)

No.

> XRecord). TaskBar Launch buttons used all the rows. My vote: no.

Not without knowing more details.

> for small things. My vote: obviously no.

Ciao

Dominik ^_^  ^_^

 --
Dominik Vogt, [email-masked]

---

From: Mikhael Goikhman <[email-masked]>
Date: Fri, 3 Sep 2004 10:54:55 +0000

> > 	+ I WindowList Root c c NoDeskSort, SelectOnRelease Meta_L

I don't very care too, but these seem to be isolated and easy changes, so
if you think these are tested well, my vote is more "Yes" than "No".

It is probably better to use "short" for new window fields. There is one
more unapplied patch that should use "short" not "int" as well. It is
good to keep fvwm smaller even if it is just a matter of several KB (this
is also potentially passed to all modules, so it should better be short).

> desk are strewn all over the place, so this is no simple patch.

Yes, if FvwmAnimate is on, mass-iconify may be problematic. This is why
I added "pause", "push" and "pop" messages to FvwmAnimate some time ago.

I can't say yet whether iconifying without iconified windows is good.

> > My vote: yes (a step toward removing the FvwmTaskBar).

Yes!

> Yes, that's an important patch.

Indeed.

> > also executed. My vote: yes.

I suggest to rename the option to -transient-move, or -transient -move,
where -move is only relevant with -transient.

FvwmPager -transient-move is supposed to be bound to a window operation
menu, it nicely shows all pages and moves the window to the chosen page.

> > cannot grab the pointer" patch. Should not be disputed here :o)

As asked, no comments here.

> > for small things. My vote: obviously no.

Regards,
Mikhael.

---

From: Olivier Chapuis <[email-masked]>
Date: Tue, 7 Sep 2004 07:39:06 +0200

> > desk are strewn all over the place, so this is no simple patch.

I do not see which kind of problem we can have, but Animate like 
problem. Moreover, you can build a fvwm function which almost
do the show desktop feature, so it seems to me that if we get
problems by using icons for "show desktop" we will have to
fix it any way.

> I added "pause", "push" and "pop" messages to FvwmAnimate some time ago.

Indeed, I used these in the code.

> I can't say yet whether iconifying without iconified windows is good.

No opinion too and I have not the time to implement the "show desktop"
feature using an other method than simple iconification. 

> menu, it nicely shows all pages and moves the window to the chosen page.

Yes, very user friendly, contextual menu.

Regards, Olivier