FVWM: how to test for Raised but remove the "fully visible" condition

From: David Wu <zeo33x-fvwm_at_introspector.net>
Date: Thu, 15 Jul 2004 11:45:17 -0400

Hi all fvwm gurus

Im trying to implement the following behavior in a function for use in
FvwmTaskBar's Click1 function. But I am having trouble doing so

The following behavior is desired, note that the function will quit
using "Break" as soon as one option is chosen and executed

1. the window will be raised and focused if it is overlapped by any
window (i.e not the top most window)
2. the window will be raised and focused if it is not currently focused,
even if it is the top most window
3. the window will be minimized if it is already the top most window and
its focused
4. the window will be deiconified and raised and focused if it is
currently in a iconified state

here is what i have right now

DestroyFunc Raise-or-Iconify
AddToFunc Raise-or-Iconify
+ I ThisWindow (Iconic) Deiconify-and-Raise
+ I TestRc (Match) Break
+ I ThisWindow (!Raised) Focus-and-Raise
+ I TestRc (Match) Break
+ I ThisWindow (!Focused) Focus-and-Raise
+ I TestRc (Match) Break
+ I Iconify

The problem I Have is the line
+ I ThisWindow (!Raised) Focus-and-Raise
Because testing for Raised condition also require the window to be
"fully visible within the view port". Therefore a window which is on the
very top but part of it not in the current viewport will cause it to
return "not raised" even though the window is on the very top (causing
option 1 to be executed when option 3 is desired). Is there a way to
simply test if a window is on the very top without the "fully visible
condition"? Any workaround is appreciated

Thank you in advance

DavidHi all fvwm gurus

Im trying to implement the following behavior in a function for use in
FvwmTaskBar's Click1 function. But I am having trouble doing so

The following behavior is desired, note that the function will quit
using "Break" as soon as one option is chosen and executed

1. the window will be raised and focused if it is overlapped by any
window (i.e not the top most window)
2. the window will be raised and focused if it is not currently focused,
even if it is the top most window
3. the window will be minimized if it is already the top most window and
its focused
4. the window will be deiconified and raised and focused if it is
currently in a iconified state

here is what i have right now

DestroyFunc Raise-or-Iconify
AddToFunc Raise-or-Iconify
+ I ThisWindow (Iconic) Deiconify-and-Raise
+ I TestRc (Match) Break
+ I ThisWindow (!Raised) Focus-and-Raise
+ I TestRc (Match) Break
+ I ThisWindow (!Focused) Focus-and-Raise
+ I TestRc (Match) Break
+ I Iconify

The problem I Have is the line
+ I ThisWindow (!Raised) Focus-and-Raise
Because testing for Raised condition also require the window to be
"fully visible within the view port". Therefore a window which is on the
very top but part of it not in the current viewport will cause it to
return "not raised" even though the window is on the very top (causing
option 1 to be executed when option 3 is desired). Is there a way to
simply test if a window is on the very top without the "fully visible
condition"? Any workaround is appreciated

Thank you in advance

David

--
Visit the official FVWM web page at <URL: http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to majordomo_at_fvwm.org.
To report problems, send mail to fvwm-owner_at_fvwm.org.
Received on Thu Jul 15 2004 - 10:47:48 BST

This archive was generated by hypermail 2.3.0 : Mon Aug 29 2016 - 19:37:56 BST