Hi everyone,
Am I missing something or there is no possibility to focus FvwmPager?
The only workaround I found is to swallow FvwmPager into FvwmButtons.
Am I right?
I need it for my panel raising functions on edge hitting.
Here is a (lengthy) sample:
EdgeCommand Top ShowTopPanel
EdgeLeaveCommand Top FocusTopPanel
Module FvwmAuto 100 "Silent TopPanelFunction" "Silent TopPanelLowerFunction"
DestroyFunc TopPanelFunction
AddToFunc TopPanelFunction
+ I All (Layer 6, !Focused, ApplicationPanel) Lower
+ I All (Layer 6, !Focused, FvwmPager) Lower
+ I All (Layer 6, !Focused, ApplicationPanel) Layer 0 0
+ I All (Layer 6, !Focused, FvwmPager) Layer 0 0
+ I Current (Layer 0, ApplicationPanel) Raise
+ I Current (Layer 0, FvwmPager) Raise
+ I Current (Layer 0, ApplicationPanel) Layer 0 6
+ I Current (Layer 0, FvwmPager) Layer 0 6
DestroyFunc TopPanelLowerFunction
AddToFunc TopPanelLowerFunction
+ I All (Layer 6, !Focused, ApplicationPanel) Lower
+ I All (Layer 6, !Focused, FvwmPager) Lower
+ I All (Layer 6, !Focused, ApplicationPanel) Layer 0 0
+ I All (Layer 6, !Focused, FvwmPager) Layer 0 0
DestroyFunc ShowTopPanel
AddToFunc ShowTopPanel
+ I All (ApplicationPanel) Raise
+ I All (ApplicationPanel) Layer 0 6
+ I All (FvwmPager) Raise
+ I All (FvwmPager) Layer 0 6
DestroyFunc HideTopPanel
AddToFunc HideTopPanel
+ I All (ApplicationPanel) Lower
+ I All (ApplicationPanel) Layer 0 0
+ I All (FvwmPager) Lower
+ I All (FvwmPager) Layer 0 0
DestroyFunc ShowAndFocusPanel
AddToFunc ShowAndFocusPanel
+ I All ($0) Layer 0 6
+ I All ($0) Raise
+ I All ($0) Focus
+ I All (Layer 6, !Focused, ApplicationPanel) Lower
+ I All (Layer 6, !Focused, FvwmPager) Lower
+ I All (Layer 6, !Focused, ApplicationPanel) Layer 0 0
+ I All (Layer 6, !Focused, FvwmPager) Layer 0 0
DestroyFunc SetPanelCoordinants
AddToFunc SetPanelCoordinants
+ I PipeRead 'echo SetEnv $0Left $1'
+ I PipeRead 'echo SetEnv $0Right $(( $1 + $2 ))'
DestroyFunc FocusTopPanel
AddToFunc FocusTopPanel
+ I Next (ApplicationPanel) SetPanelCoordinants Apps $[w.x] $[w.width]
+ I Next (FvwmPager) SetPanelCoordinants Pager $[w.x] $[w.width]
+ I PipeRead ` if (( ( $[pointer.x] > $[AppsLeft] ) && \
( $[pointer.x] < $[AppsRight] ) )); \
then echo ShowAndFocusPanel ApplicationPanel; \
elif (( ( $[pointer.x] > $[PagerLeft] ) && \
( $[pointer.x] < $[PagerRight] ) )); \
then echo ShowAndFocusPanel FvwmPager; \
else echo HideTopPanel; fi `
This works exactly as I want with ApplicationPanel (FvwmButtons panel)
but not with FvwmPager, because it cannot be focused.
As you can see on top of this way-too-long exapmle I use here my update
for fvwm adding EdgeLeaveCommand, working exactly like EdgeCommand, but
is activated by LeaveEvent
But back to the point: do I have to swallow FvwmPager into FvwmButtons,
or there's some simpler way to do what I want?
PS. If any one interested: patch adding EdgeLeaveCommand was send
sometime ago to fvwm-workers list, and I still have it in my private
repository. ;-)
--
Rafal Bisingier
--
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 Wed Sep 29 2004 - 05:54:54 BST