From: <dom...@us...> - 2010-12-22 00:30:13
|
Revision: 30 http://fvwm-crystal.svn.sourceforge.net/fvwm-crystal/?rev=30&view=rev Author: dominique_libre Date: 2010-12-22 00:30:04 +0000 (Wed, 22 Dec 2010) Log Message: ----------- New maximize functions and associated bindings Modified Paths: -------------- fvwm/components/bindings/Numpad-Control fvwm/components/bindings/Window-Control fvwm/components/decorations/Buttons-amigaos fvwm/components/decorations/Buttons-amigaos-MiniIcon fvwm/components/decorations/Buttons-amigaos_NumLock fvwm/components/decorations/Buttons-fvwm-crystal fvwm/components/decorations/Buttons-fvwm-crystal-MiniIcon fvwm/components/decorations/Buttons-fvwm-crystal_NumLock fvwm/components/decorations/Buttons-macosx fvwm/components/decorations/Buttons-macosx-MiniIcon fvwm/components/decorations/Buttons-macosx_NumLock fvwm/components/decorations/Buttons-os2 fvwm/components/decorations/Buttons-os2-MiniIcon fvwm/components/decorations/Buttons-os2_NumLock fvwm/components/decorations/Buttons-windows fvwm/components/decorations/Buttons-windows_NumLock fvwm/components/functions/Fullscreen fvwm/components/functions/Window-Basic fvwm/components/functions/Window-Buttons man/KeyboardBindings.1 Modified: fvwm/components/bindings/Numpad-Control =================================================================== --- fvwm/components/bindings/Numpad-Control 2010-12-19 22:34:25 UTC (rev 29) +++ fvwm/components/bindings/Numpad-Control 2010-12-22 00:30:04 UTC (rev 30) @@ -3,8 +3,9 @@ Key KP_Delete A $[Mod0] Lower Key KP_Divide A $[Mod0] Window-Shade toggle Key KP_Divide A $[Mod1] Stick toggle -Key KP_Multiply A $[Mod0] Maximize +Key KP_Multiply A $[Mod0] New-State All Key KP_Multiply A $[Mod1] Fullscreen +Key KP_Multiply A $[Mod2] Disapear Key KP_Subtract A $[Mod1] Window-Iconify Key KP_Subtract A $[Mod2] Close Key KP_Add A $[Mod0] Layer 0 4 Modified: fvwm/components/bindings/Window-Control =================================================================== --- fvwm/components/bindings/Window-Control 2010-12-19 22:34:25 UTC (rev 29) +++ fvwm/components/bindings/Window-Control 2010-12-22 00:30:04 UTC (rev 30) @@ -1,7 +1,7 @@ # Subset of window control functions in case you don't have numpad Key minus A $[Mod1] Raise Key minus A $[Mod2] Lower -Key equal A $[Mod1] Maximize +Key equal A $[Mod1] New-State All Key equal A $[Mod2] Fullscreen Key BackSpace A $[Mod1] Window-Iconify Key BackSpace A $[Mod2] Close Modified: fvwm/components/decorations/Buttons-amigaos =================================================================== --- fvwm/components/decorations/Buttons-amigaos 2010-12-19 22:34:25 UTC (rev 29) +++ fvwm/components/decorations/Buttons-amigaos 2010-12-22 00:30:04 UTC (rev 30) @@ -3,52 +3,64 @@ # Modified by Dominique Michel in order to reproduce the look and feel # of the Amiga OS # -# For the real feel, just buy an Amiga, because it is impossible with X to get -# windows of different resolutions on the same screen. +# For the real lock and feel, just buy an Amiga. This is not an exact +# reproduction of the Amiga button setup. # # This is the AmigaOS window button setup. Hold the mouse buttons # to see the popup menu of a certain button. +# +# Mod : any modifier +# Mod0: no modifier +# Mod1: Meta (Alt) +# Mod2: Shift Alt +# +# Original Amiga 3.1 button setup +# Button 1: close +# Button 2: raise/lower +# Button 4: minimize|maximize|fullscreen/default (one of 3/default) +# Button 6: iconify (on non transiet window) -# First button - close, iconify, destroy +# First button - close, destroy, save default geometry Mouse 1 1 $[Mod] Window-Button-Function Button1 /Window-Menu-Close Close Mouse 2 1 $[Mod] Window-Button-Function Button1 /Window-Menu-Close FvwmIdent Mouse 2 1 $[Mod1] Window-Button-Function Button1 /Window-Menu-Close Destroy -Mouse 3 1 $[Mod] Window-Button-Function Button1 /Window-Menu-Close Window-Iconify +Mouse 3 1 $[Mod] Window-Button-Function Button1 /Window-Menu-Close SaveWindowGeom Style * Button 1 -Style * NoButton 2 +# Second button - raise/lower and various ways to maximize a window +Mouse 1 2 $[Mod0] Window-Button-Function Button2 /Window-Menu-Maximize RaiseLower +Mouse 2 2 $[Mod0] Window-Button-Function Button2 /Window-Menu-Maximize Window-Resize Maximize +Mouse 3 2 $[Mod0] Window-Button-Function Button2 /Window-Menu-Maximize Fullscreen +Mouse 1 2 $[Mod1] Window-Button-Function Button2 /Window-Menu-Maximize Window-Resize A100 +Mouse 2 2 $[Mod1] Window-Button-Function Button2 /Window-Menu-Maximize Window-Resize H100 +Mouse 3 2 $[Mod1] Window-Button-Function Button2 /Window-Menu-Maximize Window-Resize V100 +Style * Button 2 Style * NoButton 3 -# 4th button - various ways to maximize a window -Mouse 1 4 $[Mod0] Window-Button-Function Button4 /Window-Menu-Maximize Fullscreen -Mouse 2 4 $[Mod0] Window-Button-Function Button4 /Window-Menu-Maximize Maximize -Mouse 3 4 $[Mod0] Window-Button-Function Button4 /Window-Menu-Maximize Maximize 100 0 -Mouse 1 4 $[Mod1] Window-Button-Function Button4 /Window-Menu-Maximize Maximize grow grow -Mouse 2 4 $[Mod1] Window-Button-Function Button4 /Window-Menu-Maximize Maximize 0 grow -Mouse 3 4 $[Mod1] Window-Button-Function Button4 /Window-Menu-Maximize Maximize grow 0 +# 4th button - minimize, default, maximize +Mouse 1 4 $[Mod] Window-Button-Function Button4 /Window-Menu-Layer Window-Resize Minimize +Mouse 2 4 $[Mod] Window-Button-Function Button4 /Window-Menu-Layer Window-Resize Default +Mouse 3 4 $[Mod] Window-Button-Function Button4 /Window-Menu-Layer Window-Resize Maximize Style * Button 4 + Style * NoButton 5 -# 6th button - additional window commands -Mouse 1 6 $[Mod] Window-Button-Function Button6 /Window-Menu-Layer Layer 0 5 -Mouse 1 6 $[Mod1] Window-Button-Function Button6 /Window-Menu-Layer Layer 0 3 -Mouse 2 6 $[Mod] Window-Button-Function Button6 /Window-Menu-Layer Layer 0 4 -Mouse 3 6 $[Mod] Window-Button-Function Button6 /Window-Menu-Layer Stick +# 6th button - move a window between pages +Mouse 1 6 $[Mod0] Window-Button-Function Button6 /Window-Menu-Page Window-Iconify +#Mouse 1 6 $[Mod0] Window-Button-Function Button6 /Window-Menu-Page Window-MoveToPage-Backward +Mouse 2 6 $[Mod0] Window-Button-Function Button6 /Window-Menu-Page MoveToPage-Focus prev +Mouse 3 6 $[Mod0] Window-Button-Function Button6 /Window-Menu-Page Window-MoveToPage-Forward +Mouse 1 6 $[Mod1] Window-Button-Function Button6 /Window-Menu-Page Window-WarpToPage-Backward +Mouse 2 6 $[Mod1] Window-Button-Function Button6 /Window-Menu-Page WarpToPage prev +Mouse 3 6 $[Mod1] Window-Button-Function Button6 /Window-Menu-Page Window-WarpToPage-Forward Style * Button 6 Style * NoButton 7 -# 8th button - move a window between pages -Mouse 1 8 $[Mod0] Window-Button-Function Button8 /Window-Menu-Page Window-MoveToPage-Backward -Mouse 2 8 $[Mod0] Window-Button-Function Button8 /Window-Menu-Page MoveToPage-Focus prev -Mouse 3 8 $[Mod0] Window-Button-Function Button8 /Window-Menu-Page Window-MoveToPage-Forward -Mouse 1 8 $[Mod1] Window-Button-Function Button8 /Window-Menu-Page Window-WarpToPage-Backward -Mouse 2 8 $[Mod1] Window-Button-Function Button8 /Window-Menu-Page WarpToPage prev -Mouse 3 8 $[Mod1] Window-Button-Function Button8 /Window-Menu-Page Window-WarpToPage-Forward -Style * Button 8 +Style * NoButton 8 Style * NoButton 9 Modified: fvwm/components/decorations/Buttons-amigaos-MiniIcon =================================================================== --- fvwm/components/decorations/Buttons-amigaos-MiniIcon 2010-12-19 22:34:25 UTC (rev 29) +++ fvwm/components/decorations/Buttons-amigaos-MiniIcon 2010-12-22 00:30:04 UTC (rev 30) @@ -6,14 +6,22 @@ # to see the popup menu of a certain button. -# First button - close, iconify, destroy +# First button - close, destroy, save default geometry Mouse 1 1 $[Mod] Window-Button-Function Button1 /Window-Menu-Close Close Mouse 2 1 $[Mod] Window-Button-Function Button1 /Window-Menu-Close FvwmIdent Mouse 2 1 $[Mod1] Window-Button-Function Button1 /Window-Menu-Close Destroy -Mouse 3 1 $[Mod] Window-Button-Function Button1 /Window-Menu-Close Window-Iconify +Mouse 3 1 $[Mod] Window-Button-Function Button1 /Window-Menu-Close SaveWindowGeom Style * Button 1 -Style * NoButton 2 +# Second button -various ways to maximize a window +Mouse 1 2 $[Mod0] Window-Button-Function Button2 /Window-Menu-Maximize RaiseLower +Mouse 2 2 $[Mod0] Window-Button-Function Button2 /Window-Menu-Maximize Window-Resize Maximize +Mouse 3 2 $[Mod0] Window-Button-Function Button2 /Window-Menu-Maximize Fullscreen +Mouse 1 2 $[Mod1] Window-Button-Function Button2 /Window-Menu-Maximize Window-Resize A100 +Mouse 2 2 $[Mod1] Window-Button-Function Button2 /Window-Menu-Maximize Window-Resize H100 +Mouse 3 2 $[Mod1] Window-Button-Function Button2 /Window-Menu-Maximize Window-Resize V100 +Style * Button 2 +#Mouse 1 2 $[Mod0] RaiseLower # MiniIcon as the third button Mouse 1 3 $[Mod] Window-Raise-MoveRaise @@ -21,34 +29,29 @@ Mouse 3 3 $[Mod] Window-Lower-Move Style * Button 3 -# 4th button - various ways to maximize a window -Mouse 1 4 $[Mod0] Window-Button-Function Button4 /Window-Menu-Maximize Fullscreen -Mouse 2 4 $[Mod0] Window-Button-Function Button4 /Window-Menu-Maximize Maximize -Mouse 3 4 $[Mod0] Window-Button-Function Button4 /Window-Menu-Maximize Maximize 100 0 -Mouse 1 4 $[Mod1] Window-Button-Function Button4 /Window-Menu-Maximize Maximize grow grow -Mouse 2 4 $[Mod1] Window-Button-Function Button4 /Window-Menu-Maximize Maximize 0 grow -Mouse 3 4 $[Mod1] Window-Button-Function Button4 /Window-Menu-Maximize Maximize grow 0 +# 4th button - minimize, default, maximize +Mouse 1 4 $[Mod] Window-Button-Function Button4 /Window-Menu-Layer Window-Resize Minimize +Mouse 2 4 $[Mod] Window-Button-Function Button4 /Window-Menu-Layer Window-Resize Default +Mouse 3 4 $[Mod] Window-Button-Function Button4 /Window-Menu-Layer Window-Resize Maximize Style * Button 4 Style * NoButton 5 -# 6th button - additional window commands -Mouse 1 6 $[Mod] Window-Button-Function Button6 /Window-Menu-Layer Layer 0 5 -Mouse 1 6 $[Mod1] Window-Button-Function Button6 /Window-Menu-Layer Layer 0 3 -Mouse 2 6 $[Mod] Window-Button-Function Button6 /Window-Menu-Layer Layer 0 4 -Mouse 3 6 $[Mod] Window-Button-Function Button6 /Window-Menu-Layer Stick +# 6th button - move a window between pages +Mouse 1 6 $[Mod0] Window-Button-Function Button6 /Window-Menu-Page Window-Iconify +#Mouse 1 6 $[Mod0] Window-Button-Function Button6 /Window-Menu-Page Window-MoveToPage-Backward +Mouse 2 6 $[Mod0] Window-Button-Function Button6 /Window-Menu-Page MoveToPage-Focus prev +Mouse 3 6 $[Mod0] Window-Button-Function Button6 /Window-Menu-Page Window-MoveToPage-Forward +Mouse 1 6 $[Mod1] Window-Button-Function Button6 /Window-Menu-Page Window-WarpToPage-Backward +Mouse 2 6 $[Mod1] Window-Button-Function Button6 /Window-Menu-Page WarpToPage prev +Mouse 3 6 $[Mod1] Window-Button-Function Button6 /Window-Menu-Page Window-WarpToPage-Forward Style * Button 6 Style * NoButton 7 -# 8th button - move a window between pages -Mouse 1 8 $[Mod0] Window-Button-Function Button8 /Window-Menu-Page Window-MoveToPage-Backward -Mouse 2 8 $[Mod0] Window-Button-Function Button8 /Window-Menu-Page MoveToPage-Focus prev -Mouse 3 8 $[Mod0] Window-Button-Function Button8 /Window-Menu-Page Window-MoveToPage-Forward -Mouse 1 8 $[Mod1] Window-Button-Function Button8 /Window-Menu-Page Window-WarpToPage-Backward -Mouse 2 8 $[Mod1] Window-Button-Function Button8 /Window-Menu-Page WarpToPage prev -Mouse 3 8 $[Mod1] Window-Button-Function Button8 /Window-Menu-Page Window-WarpToPage-Forward -Style * Button 8 +# 8th button - +Style * NoButton 8 +#Style * Button 8 Style * NoButton 9 Modified: fvwm/components/decorations/Buttons-amigaos_NumLock =================================================================== --- fvwm/components/decorations/Buttons-amigaos_NumLock 2010-12-19 22:34:25 UTC (rev 29) +++ fvwm/components/decorations/Buttons-amigaos_NumLock 2010-12-22 00:30:04 UTC (rev 30) @@ -6,28 +6,29 @@ # to see the popup menu of a certain button. # Additional support for NumLock key - -# First button - close, iconify, destroy +# First button - close, destroy, save default geometry Mouse 2 1 $[Mod1]2 Window-Button-Function Button1 /Window-Menu-Close Destroy -# 4th button - various ways to maximize a window -Mouse 1 4 $[Mod0]2 Window-Button-Function Button4 /Window-Menu-Maximize Fullscreen -#Mouse 2 4 $[Mod0]2 Window-Button-Function Button4 /Window-Menu-Maximize Maximize 0 100 -Mouse 2 4 $[Mod0]2 Window-Button-Function Button4 /Window-Menu-Maximize Maximize -Mouse 3 4 $[Mod0]2 Window-Button-Function Button4 /Window-Menu-Maximize Maximize 100 0 -Mouse 1 4 $[Mod1]2 Window-Button-Function Button4 /Window-Menu-Maximize Maximize grow grow -Mouse 2 4 $[Mod1]2 Window-Button-Function Button4 /Window-Menu-Maximize Maximize 0 grow -Mouse 3 4 $[Mod1]2 Window-Button-Function Button4 /Window-Menu-Maximize Maximize grow 0 +# 2th button - various ways to maximize a window +Mouse 1 2 $[Mod0]2 Window-Button-Function Button2 /Window-Menu-Maximize RaiseLower +Mouse 2 2 $[Mod0]2 Window-Button-Function Button2 /Window-Menu-Maximize Window-Resize Maximize +Mouse 3 2 $[Mod0]2 Window-Button-Function Button2 /Window-Menu-Maximize Fullscreen +Mouse 1 2 $[Mod1]2 Window-Button-Function Button2 /Window-Menu-Maximize Window-Resize A100 +Mouse 2 2 $[Mod1]2 Window-Button-Function Button2 /Window-Menu-Maximize Window-Resize H100 +Mouse 3 2 $[Mod1]2 Window-Button-Function Button2 /Window-Menu-Maximize Window-Resize V100 -# 6th button - additional window commands -Mouse 1 6 $[Mod1]2 Window-Button-Function Button6 /Window-Menu-Layer Layer 0 3 +# 4th button - minimize, default, maximize +Mouse 1 4 $[Mod0]2 Window-Button-Function Button4 /Window-Menu-Layer Window-Resize Minimize +Mouse 2 4 $[Mod0]2 Window-Button-Function Button4 /Window-Menu-Layer Window-Resize Default +Mouse 3 4 $[Mod0]2 Window-Button-Function Button4 /Window-Menu-Layer Window-Resize Maximize -# 8th button - move a window between pages -Mouse 1 8 $[Mod0]2 Window-Button-Function Button8 /Window-Menu-Page Window-MoveToPage-Backward -Mouse 2 8 $[Mod0]2 Window-Button-Function Button8 /Window-Menu-Page MoveToPage-Focus prev -Mouse 3 8 $[Mod0]2 Window-Button-Function Button8 /Window-Menu-Page Window-MoveToPage-Forward -Mouse 1 8 $[Mod1]2 Window-Button-Function Button8 /Window-Menu-Page Window-WarpToPage-Backward -Mouse 2 8 $[Mod1]2 Window-Button-Function Button8 /Window-Menu-Page WarpToPage prev -Mouse 3 8 $[Mod1]2 Window-Button-Function Button8 /Window-Menu-Page Window-WarpToPage-Forward +# 6th button - move a window between pages +Mouse 1 6 $[Mod0]2 Window-Button-Function Button6 /Window-Menu-Page Window-Iconify +#Mouse 1 6 $[Mod0]2 Window-Button-Function Button6 /Window-Menu-Page Window-MoveToPage-Backward +Mouse 2 6 $[Mod0]2 Window-Button-Function Button6 /Window-Menu-Page MoveToPage-Focus prev +Mouse 3 6 $[Mod0]2 Window-Button-Function Button6 /Window-Menu-Page Window-MoveToPage-Forward +Mouse 1 6 $[Mod1]2 Window-Button-Function Button6 /Window-Menu-Page Window-WarpToPage-Backward +Mouse 2 6 $[Mod1]2 Window-Button-Function Button6 /Window-Menu-Page WarpToPage prev +Mouse 3 6 $[Mod1]2 Window-Button-Function Button6 /Window-Menu-Page Window-WarpToPage-Forward # vim:ft=fvwm Modified: fvwm/components/decorations/Buttons-fvwm-crystal =================================================================== --- fvwm/components/decorations/Buttons-fvwm-crystal 2010-12-19 22:34:25 UTC (rev 29) +++ fvwm/components/decorations/Buttons-fvwm-crystal 2010-12-22 00:30:04 UTC (rev 30) @@ -22,12 +22,12 @@ Style * NoButton 3 # 4th button - various ways to maximize a window -Mouse 1 4 $[Mod0] Window-Button-Function Button4 /Window-Menu-Maximize Maximize -Mouse 2 4 $[Mod0] Window-Button-Function Button4 /Window-Menu-Maximize Maximize 0 100 -Mouse 3 4 $[Mod0] Window-Button-Function Button4 /Window-Menu-Maximize Maximize 100 0 -Mouse 1 4 $[Mod1] Window-Button-Function Button4 /Window-Menu-Maximize Maximize grow grow -Mouse 2 4 $[Mod1] Window-Button-Function Button4 /Window-Menu-Maximize Maximize 0 grow -Mouse 3 4 $[Mod1] Window-Button-Function Button4 /Window-Menu-Maximize Maximize grow 0 +Mouse 1 4 $[Mod0] Window-Button-Function Button4 /Window-Menu-Maximize RaiseLower +Mouse 2 4 $[Mod0] Window-Button-Function Button4 /Window-Menu-Maximize Window-Resize Maximize +Mouse 3 4 $[Mod0] Window-Button-Function Button4 /Window-Menu-Maximize Fullscreen +Mouse 1 4 $[Mod1] Window-Button-Function Button4 /Window-Menu-Maximize Window-Resize A100 +Mouse 2 4 $[Mod1] Window-Button-Function Button4 /Window-Menu-Maximize Window-Resize H100 +Mouse 3 4 $[Mod1] Window-Button-Function Button4 /Window-Menu-Maximize Window-Resize V100 Style * Button 4 Style * NoButton 5 Modified: fvwm/components/decorations/Buttons-fvwm-crystal-MiniIcon =================================================================== --- fvwm/components/decorations/Buttons-fvwm-crystal-MiniIcon 2010-12-19 22:34:25 UTC (rev 29) +++ fvwm/components/decorations/Buttons-fvwm-crystal-MiniIcon 2010-12-22 00:30:04 UTC (rev 30) @@ -26,12 +26,12 @@ Style * Button 3 # 4th button - various ways to maximize a window -Mouse 1 4 $[Mod0] Window-Button-Function Button4 /Window-Menu-Maximize Maximize -Mouse 2 4 $[Mod0] Window-Button-Function Button4 /Window-Menu-Maximize Maximize 0 100 -Mouse 3 4 $[Mod0] Window-Button-Function Button4 /Window-Menu-Maximize Maximize 100 0 -Mouse 1 4 $[Mod1] Window-Button-Function Button4 /Window-Menu-Maximize Maximize grow grow -Mouse 2 4 $[Mod1] Window-Button-Function Button4 /Window-Menu-Maximize Maximize 0 grow -Mouse 3 4 $[Mod1] Window-Button-Function Button4 /Window-Menu-Maximize Maximize grow 0 +Mouse 1 4 $[Mod0] Window-Button-Function Button4 /Window-Menu-Maximize RaiseLower +Mouse 2 4 $[Mod0] Window-Button-Function Button4 /Window-Menu-Maximize Window-Resize Maximize +Mouse 3 4 $[Mod0] Window-Button-Function Button4 /Window-Menu-Maximize Fullscreen +Mouse 1 4 $[Mod1] Window-Button-Function Button4 /Window-Menu-Maximize Window-Resize A100 +Mouse 2 4 $[Mod1] Window-Button-Function Button4 /Window-Menu-Maximize Window-Resize H100 +Mouse 3 4 $[Mod1] Window-Button-Function Button4 /Window-Menu-Maximize Window-Resize V100 Style * Button 4 Style * NoButton 5 Modified: fvwm/components/decorations/Buttons-fvwm-crystal_NumLock =================================================================== --- fvwm/components/decorations/Buttons-fvwm-crystal_NumLock 2010-12-19 22:34:25 UTC (rev 29) +++ fvwm/components/decorations/Buttons-fvwm-crystal_NumLock 2010-12-22 00:30:04 UTC (rev 30) @@ -13,12 +13,12 @@ Mouse 2 2 $[Mod1]2 Window-Button-Function Button2 /Window-Menu-Close Destroy # 4th button - various ways to maximize a window -Mouse 1 4 $[Mod0]2 Window-Button-Function Button4 /Window-Menu-Maximize Maximize -Mouse 2 4 $[Mod0]2 Window-Button-Function Button4 /Window-Menu-Maximize Maximize 0 100 -Mouse 3 4 $[Mod0]2 Window-Button-Function Button4 /Window-Menu-Maximize Maximize 100 0 -Mouse 1 4 $[Mod1]2 Window-Button-Function Button4 /Window-Menu-Maximize Maximize grow grow -Mouse 2 4 $[Mod1]2 Window-Button-Function Button4 /Window-Menu-Maximize Maximize 0 grow -Mouse 3 4 $[Mod1]2 Window-Button-Function Button4 /Window-Menu-Maximize Maximize grow 0 +Mouse 1 4 $[Mod0]2 Window-Button-Function Button4 /Window-Menu-Maximize RaiseLower +Mouse 2 4 $[Mod0]2 Window-Button-Function Button4 /Window-Menu-Maximize Window-Resize Maximize +Mouse 3 4 $[Mod0]2 Window-Button-Function Button4 /Window-Menu-Maximize Fullscreen +Mouse 1 4 $[Mod1]2 Window-Button-Function Button4 /Window-Menu-Maximize Window-Resize A100 +Mouse 2 4 $[Mod1]2 Window-Button-Function Button4 /Window-Menu-Maximize Window-Resize H100 +Mouse 3 4 $[Mod1]2 Window-Button-Function Button4 /Window-Menu-Maximize Window-Resize V100 # 6th button - additional window commands Mouse 1 6 $[Mod1]2 Window-Button-Function Button6 /Window-Menu-Layer Layer 0 3 Modified: fvwm/components/decorations/Buttons-macosx =================================================================== --- fvwm/components/decorations/Buttons-macosx 2010-12-19 22:34:25 UTC (rev 29) +++ fvwm/components/decorations/Buttons-macosx 2010-12-22 00:30:04 UTC (rev 30) @@ -21,12 +21,12 @@ Style * NoButton 4 # third button - various ways to maximize a window -Mouse 1 5 $[Mod0] Window-Button-Function Button5 /Window-Menu-Maximize Maximize -Mouse 2 5 $[Mod0] Window-Button-Function Button5 /Window-Menu-Maximize Maximize 0 100 -Mouse 3 5 $[Mod0] Window-Button-Function Button5 /Window-Menu-Maximize Maximize 100 0 -Mouse 1 5 $[Mod1] Window-Button-Function Button5 /Window-Menu-Maximize Maximize grow grow -Mouse 2 5 $[Mod1] Window-Button-Function Button5 /Window-Menu-Maximize Maximize 0 grow -Mouse 3 5 $[Mod1] Window-Button-Function Button5 /Window-Menu-Maximize Maximize grow 0 +Mouse 1 5 $[Mod0] Window-Button-Function Button5 /Window-Menu-Maximize RaiseLower +Mouse 2 5 $[Mod0] Window-Button-Function Button5 /Window-Menu-Maximize Window-Resize Maximize +Mouse 3 5 $[Mod0] Window-Button-Function Button5 /Window-Menu-Maximize Fullscreen +Mouse 1 5 $[Mod1] Window-Button-Function Button5 /Window-Menu-Maximize Window-Resize A100 +Mouse 2 5 $[Mod1] Window-Button-Function Button5 /Window-Menu-Maximize Window-Resize H100 +Mouse 3 5 $[Mod1] Window-Button-Function Button5 /Window-Menu-Maximize Window-Resize V100 Style * Button 5 Style * NoButton 6 Modified: fvwm/components/decorations/Buttons-macosx-MiniIcon =================================================================== --- fvwm/components/decorations/Buttons-macosx-MiniIcon 2010-12-19 22:34:25 UTC (rev 29) +++ fvwm/components/decorations/Buttons-macosx-MiniIcon 2010-12-22 00:30:04 UTC (rev 30) @@ -21,12 +21,12 @@ Style * NoButton 4 # third button - various ways to maximize a window -Mouse 1 5 $[Mod0] Window-Button-Function Button5 /Window-Menu-Maximize Maximize -Mouse 2 5 $[Mod0] Window-Button-Function Button5 /Window-Menu-Maximize Maximize 0 100 -Mouse 3 5 $[Mod0] Window-Button-Function Button5 /Window-Menu-Maximize Maximize 100 0 -Mouse 1 5 $[Mod1] Window-Button-Function Button5 /Window-Menu-Maximize Maximize grow grow -Mouse 2 5 $[Mod1] Window-Button-Function Button5 /Window-Menu-Maximize Maximize 0 grow -Mouse 3 5 $[Mod1] Window-Button-Function Button5 /Window-Menu-Maximize Maximize grow 0 +Mouse 1 5 $[Mod0] Window-Button-Function Button5 /Window-Menu-Maximize RaiseLower +Mouse 2 5 $[Mod0] Window-Button-Function Button5 /Window-Menu-Maximize Window-Resize Maximize +Mouse 3 5 $[Mod0] Window-Button-Function Button5 /Window-Menu-Maximize Fullscreen +Mouse 1 5 $[Mod1] Window-Button-Function Button5 /Window-Menu-Maximize Window-Resize A100 +Mouse 2 5 $[Mod1] Window-Button-Function Button5 /Window-Menu-Maximize Window-Resize H100 +Mouse 3 5 $[Mod1] Window-Button-Function Button5 /Window-Menu-Maximize Window-Resize V100 Style * Button 5 Style * NoButton 6 Modified: fvwm/components/decorations/Buttons-macosx_NumLock =================================================================== --- fvwm/components/decorations/Buttons-macosx_NumLock 2010-12-19 22:34:25 UTC (rev 29) +++ fvwm/components/decorations/Buttons-macosx_NumLock 2010-12-22 00:30:04 UTC (rev 30) @@ -6,11 +6,11 @@ # Additional support for NumLock key # third button - various ways to maximize a window -Mouse 1 5 $[Mod0]2 Window-Button-Function Button5 /Window-Menu-Maximize Maximize -Mouse 2 5 $[Mod0]2 Window-Button-Function Button5 /Window-Menu-Maximize Maximize 0 100 -Mouse 3 5 $[Mod0]2 Window-Button-Function Button5 /Window-Menu-Maximize Maximize 100 0 -Mouse 1 5 $[Mod1]2 Window-Button-Function Button5 /Window-Menu-Maximize Maximize grow grow -Mouse 2 5 $[Mod1]2 Window-Button-Function Button5 /Window-Menu-Maximize Maximize 0 grow -Mouse 3 5 $[Mod1]2 Window-Button-Function Button5 /Window-Menu-Maximize Maximize grow 0 +Mouse 1 5 $[Mod0]2 Window-Button-Function Button5 /Window-Menu-Maximize RaiseLower +Mouse 2 5 $[Mod0]2 Window-Button-Function Button5 /Window-Menu-Maximize Window-Resize Maximize +Mouse 3 5 $[Mod0]2 Window-Button-Function Button5 /Window-Menu-Maximize Fullscreen +Mouse 1 5 $[Mod1]2 Window-Button-Function Button5 /Window-Menu-Maximize Window-Resize A100 +Mouse 2 5 $[Mod1]2 Window-Button-Function Button5 /Window-Menu-Maximize Window-Resize H100 +Mouse 3 5 $[Mod1]2 Window-Button-Function Button5 /Window-Menu-Maximize Window-Resize V100 # vim:ft=fvwm Modified: fvwm/components/decorations/Buttons-os2 =================================================================== --- fvwm/components/decorations/Buttons-os2 2010-12-19 22:34:25 UTC (rev 29) +++ fvwm/components/decorations/Buttons-os2 2010-12-22 00:30:04 UTC (rev 30) @@ -11,12 +11,12 @@ Style * Button 1 # 2nd button - various ways to maximize a window -Mouse 1 2 $[Mod0] Window-Button-Function Button2 /Window-Menu-Maximize Maximize -Mouse 2 2 $[Mod0] Window-Button-Function Button2 /Window-Menu-Maximize Maximize 0 100 -Mouse 3 2 $[Mod0] Window-Button-Function Button2 /Window-Menu-Maximize Maximize 100 0 -Mouse 1 2 $[Mod1] Window-Button-Function Button2 /Window-Menu-Maximize Maximize grow grow -Mouse 2 2 $[Mod1] Window-Button-Function Button2 /Window-Menu-Maximize Maximize 0 grow -Mouse 3 2 $[Mod1] Window-Button-Function Button2 /Window-Menu-Maximize Maximize grow 0 +Mouse 1 2 $[Mod0] Window-Button-Function Button2 /Window-Menu-Maximize RaiseLower +Mouse 2 2 $[Mod0] Window-Button-Function Button2 /Window-Menu-Maximize Window-Resize Maximize +Mouse 3 2 $[Mod0] Window-Button-Function Button2 /Window-Menu-Maximize Fullscreen +Mouse 1 2 $[Mod1] Window-Button-Function Button2 /Window-Menu-Maximize Window-Resize A100 +Mouse 2 2 $[Mod1] Window-Button-Function Button2 /Window-Menu-Maximize Window-Resize H100 +Mouse 3 2 $[Mod1] Window-Button-Function Button2 /Window-Menu-Maximize Window-Resize V100 Style * Button 2 Style * NoButton 3 Modified: fvwm/components/decorations/Buttons-os2-MiniIcon =================================================================== --- fvwm/components/decorations/Buttons-os2-MiniIcon 2010-12-19 22:34:25 UTC (rev 29) +++ fvwm/components/decorations/Buttons-os2-MiniIcon 2010-12-22 00:30:04 UTC (rev 30) @@ -11,12 +11,12 @@ Style * Button 1 # 2nd button - various ways to maximize a window -Mouse 1 2 $[Mod0] Window-Button-Function Button2 /Window-Menu-Maximize Maximize -Mouse 2 2 $[Mod0] Window-Button-Function Button2 /Window-Menu-Maximize Maximize 0 100 -Mouse 3 2 $[Mod0] Window-Button-Function Button2 /Window-Menu-Maximize Maximize 100 0 -Mouse 1 2 $[Mod1] Window-Button-Function Button2 /Window-Menu-Maximize Maximize grow grow -Mouse 2 2 $[Mod1] Window-Button-Function Button2 /Window-Menu-Maximize Maximize 0 grow -Mouse 3 2 $[Mod1] Window-Button-Function Button2 /Window-Menu-Maximize Maximize grow 0 +Mouse 1 2 $[Mod0] Window-Button-Function Button2 /Window-Menu-Maximize RaiseLower +Mouse 2 2 $[Mod0] Window-Button-Function Button2 /Window-Menu-Maximize Window-Resize Maximize +Mouse 3 2 $[Mod0] Window-Button-Function Button2 /Window-Menu-Maximize Fullscreen +Mouse 1 2 $[Mod1] Window-Button-Function Button2 /Window-Menu-Maximize Window-Resize A100 +Mouse 2 2 $[Mod1] Window-Button-Function Button2 /Window-Menu-Maximize Window-Resize H100 +Mouse 3 2 $[Mod1] Window-Button-Function Button2 /Window-Menu-Maximize Window-Resize V100 Style * Button 2 # MiniIcon Modified: fvwm/components/decorations/Buttons-os2_NumLock =================================================================== --- fvwm/components/decorations/Buttons-os2_NumLock 2010-12-19 22:34:25 UTC (rev 29) +++ fvwm/components/decorations/Buttons-os2_NumLock 2010-12-22 00:30:04 UTC (rev 30) @@ -6,11 +6,11 @@ # Additional support for NumLock key # 2nd button - various ways to maximize a window -Mouse 1 2 $[Mod0]2 Window-Button-Function Button2 /Window-Menu-Maximize Maximize -Mouse 2 2 $[Mod0]2 Window-Button-Function Button2 /Window-Menu-Maximize Maximize 0 100 -Mouse 3 2 $[Mod0]2 Window-Button-Function Button2 /Window-Menu-Maximize Maximize 100 0 -Mouse 1 2 $[Mod1]2 Window-Button-Function Button2 /Window-Menu-Maximize Maximize grow grow -Mouse 2 2 $[Mod1]2 Window-Button-Function Button2 /Window-Menu-Maximize Maximize 0 grow -Mouse 3 2 $[Mod1]2 Window-Button-Function Button2 /Window-Menu-Maximize Maximize grow 0 +Mouse 1 2 $[Mod0]2 Window-Button-Function Button2 /Window-Menu-Maximize RaiseLower +Mouse 2 2 $[Mod0]2 Window-Button-Function Button2 /Window-Menu-Maximize Window-Resize Maximize +Mouse 3 2 $[Mod0]2 Window-Button-Function Button2 /Window-Menu-Maximize Fullscreen +Mouse 1 2 $[Mod1]2 Window-Button-Function Button2 /Window-Menu-Maximize Window-Resize A100 +Mouse 2 2 $[Mod1]2 Window-Button-Function Button2 /Window-Menu-Maximize Window-Resize H100 +Mouse 3 2 $[Mod1]2 Window-Button-Function Button2 /Window-Menu-Maximize Window-Resize V100 # vim:ft=fvwm Modified: fvwm/components/decorations/Buttons-windows =================================================================== --- fvwm/components/decorations/Buttons-windows 2010-12-19 22:34:25 UTC (rev 29) +++ fvwm/components/decorations/Buttons-windows 2010-12-22 00:30:04 UTC (rev 30) @@ -17,12 +17,12 @@ Style * NoButton 3 # 4th button - various ways to maximize a window -Mouse 1 4 $[Mod0] Window-Button-Function Button4 /Window-Menu-Maximize Maximize -Mouse 2 4 $[Mod0] Window-Button-Function Button4 /Window-Menu-Maximize Maximize 0 100 -Mouse 3 4 $[Mod0] Window-Button-Function Button4 /Window-Menu-Maximize Maximize 100 0 -Mouse 1 4 $[Mod1] Window-Button-Function Button4 /Window-Menu-Maximize Maximize grow grow -Mouse 2 4 $[Mod1] Window-Button-Function Button4 /Window-Menu-Maximize Maximize 0 grow -Mouse 3 4 $[Mod1] Window-Button-Function Button4 /Window-Menu-Maximize Maximize grow 0 +Mouse 1 4 $[Mod0] Window-Button-Function Button4 /Window-Menu-Maximize RaiseLower +Mouse 2 4 $[Mod0] Window-Button-Function Button4 /Window-Menu-Maximize Window-Resize Maximize +Mouse 3 4 $[Mod0] Window-Button-Function Button4 /Window-Menu-Maximize Fullscreen +Mouse 1 4 $[Mod1] Window-Button-Function Button4 /Window-Menu-Maximize Window-Resize A100 +Mouse 2 4 $[Mod1] Window-Button-Function Button4 /Window-Menu-Maximize Window-Resize H100 +Mouse 3 4 $[Mod1] Window-Button-Function Button4 /Window-Menu-Maximize Window-Resize V100 Style * Button 4 Style * NoButton 5 Modified: fvwm/components/decorations/Buttons-windows_NumLock =================================================================== --- fvwm/components/decorations/Buttons-windows_NumLock 2010-12-19 22:34:25 UTC (rev 29) +++ fvwm/components/decorations/Buttons-windows_NumLock 2010-12-22 00:30:04 UTC (rev 30) @@ -6,11 +6,11 @@ # Additional support for NumLock key # 4th button - various ways to maximize a window -Mouse 1 4 $[Mod0]2 Window-Button-Function Button4 /Window-Menu-Maximize Maximize -Mouse 2 4 $[Mod0]2 Window-Button-Function Button4 /Window-Menu-Maximize Maximize 0 100 -Mouse 3 4 $[Mod0]2 Window-Button-Function Button4 /Window-Menu-Maximize Maximize 100 0 -Mouse 1 4 $[Mod1]2 Window-Button-Function Button4 /Window-Menu-Maximize Maximize grow grow -Mouse 2 4 $[Mod1]2 Window-Button-Function Button4 /Window-Menu-Maximize Maximize 0 grow -Mouse 3 4 $[Mod1]2 Window-Button-Function Button4 /Window-Menu-Maximize Maximize grow 0 +Mouse 1 4 $[Mod0]2 Window-Button-Function Button4 /Window-Menu-Maximize RaiseLower +Mouse 2 4 $[Mod0]2 Window-Button-Function Button4 /Window-Menu-Maximize Window-Resize Maximize +Mouse 3 4 $[Mod0]2 Window-Button-Function Button4 /Window-Menu-Maximize Fullscreen +Mouse 1 4 $[Mod1]2 Window-Button-Function Button4 /Window-Menu-Maximize Window-Resize A100 +Mouse 2 4 $[Mod1]2 Window-Button-Function Button4 /Window-Menu-Maximize Window-Resize H100 +Mouse 3 4 $[Mod1]2 Window-Button-Function Button4 /Window-Menu-Maximize Window-Resize V100 # vim:ft=fvwm Modified: fvwm/components/functions/Fullscreen =================================================================== --- fvwm/components/functions/Fullscreen 2010-12-19 22:34:25 UTC (rev 29) +++ fvwm/components/functions/Fullscreen 2010-12-22 00:30:04 UTC (rev 30) @@ -1,56 +1,141 @@ # FVWM-Crystal: Fullscreen # Written by: Maciej Delmanowski <ha...@li...> # Modifications: Thomas Adam <th...@ed...> - +# Bug fixes, disapear and restart functions: Dominique Michel +# <dom...@so...> +# # Overview: # After using this function, current window will lose it's border and title # and will be maximized to the full screen (wow). After using Fullscreen -# function on a "fullscreened" window it will return to it's previous size and +# function on a "full-screened" window it will return to it's previous size and # position and border/title will be brought back. - +# # How to use: # Bind "Fullscreen" command somewhere, example: # Key Q A M Fullscreen - -# Technical note: -# Fullscreen* functions are using 'State 0' as indicator if current window is -# in "fullscreened" mode. +# +# The other window size functions are into Window-Buttons. +# # 'Fullscreen-Start' and 'Fullscreen-Stop' functions shouldn't be called # directly, use 'Fullscreen' function instead. - -# Bugs/Improvements: -# - Make a way to prevent "fullscreened" window to move or resize - when -# FixedSize or FixedPosition are put into WindowStyle command, window doesn't -# return to it's previous state. # -# * Of course not -- that's dependant on the specific window. When you -# use "DestroyWindowStyle" you're clearing that. You'll just have to -# toggle it. -- ThomasAdam -# -# - terminal windows are not fully maximized, there is free space at the bottom -# and right edge of the screen. That's because terminal windows in FVWM can -# be resized usind character's width and height as the resolution. See Move -# and Resize commands description regarding "c" in FVWM manual. -# -# * See the 'ResizeHintOverride' style condition (below) -- ThomasAdam +# Recipe : Must be included after the styles otherwise strange results will append +# when restarting Fvwm. +SetEnv ThumbDirectory "/tmp" + +# Wrapper function +# State 19 is used to know if the window is in fullscreen or not. DestroyFunc Fullscreen AddToFunc Fullscreen -+ I ThisWindow (Maximized) Fullscreen-Stop -+ I TestRc (False) ThisWindow (!Maximized) Fullscreen-Start ++ I ThisWindow (State 19) Fullscreen-Stop ++ I TestRc (NoMatch) ThisWindow (!State 19) Fullscreen-Start +# State 20 = on => window on screen; State 20 = off => iconified + no icon DestroyFunc Fullscreen-Start AddToFunc Fullscreen-Start -+ I WindowStyle !Title, !Borders, !Iconifiable, ResizeHintOverride ++ I SetEnv "FSWindowWidth_$[w.id]" "$[w.width]p" ++ I SetEnv "FSWindowHeight_$[w.id]" "$[w.height]p" ++ I WindowStyle !Title, !Borders, Iconifiable, ResizeHintOverride + I UpdateStyles -+ I Maximize ewmhiwa 100 100 -+ I WindowStyle !Maximizable, FixedSize, FixedPosition ++ I WindowStyle State 19 ++ I WindowStyle State 20 ++ I Maximize ewmhiwa True 100 100 ++ I WindowStyle !Maximizable, FixedSize + I UpdateStyles +# We need 1 temporary file for restoring the window state after restart ++ I Exec exec touch $[ThumbDirectory]/fullscreen.19.$[w.id].tmp DestroyFunc Fullscreen-Stop AddToFunc Fullscreen-Stop -+ I DestroyWindowStyle -++ I UpdateStyles -++ I ThisWindow (Maximized) Maximize ++ I WindowStyle Title, Borders, Iconifiable, !ResizeHintOverride ++ I WindowStyle Maximizable, !FixedSize ++ I WindowStyle !State 19 ++ I WindowStyle !State 20 ++ I Test (f $[ThumbDirectory]/fullscreen.19.$[w.id].tmp) Exec exec rm -f $[ThumbDirectory]/fullscreen.19.$[w.id].tmp ++ I UpdateStyles ++ I Maximize True $[FSWindowWidth_$[w.id]] $[FSWindowHeight_$[w.id]] ++ I UnsetEnv "FSWindowWidth_$[w.id]" ++ I UnsetEnv "FSWindowHeight_$[w.id]" +########################################################################### +# The disapear function will cycle through all the fullscreened windows and +# the workbench. +# 'Disapear-On' and 'Disapear-Off' functions shouldn't be called +# directly, use 'Disapear' function instead. + +# Wrapper function +DestroyFunc Disapear +AddToFunc Disapear ++ I Next (State 19, !State 20) Disapear-Off ++ I TestRc (NoMatch) All (State 19, State 20, !Iconic) Disapear-On + +DestroyFunc Disapear-On +AddToFunc Disapear-On +# Those 2 lines are needed if we want to cycle onto the windows original pages ++ I WarpToWindow $[pointer.x]p $[pointer.y]p ++ I Exec exec touch $[ThumbDirectory]/fullscreen.20.$[w.id].$[page.nx].tmp ++ I WindowStyle !State 20 ++ I WindowStyle NoIcon ++ I UpdateStyles ++ I Iconify true +# ? redondant +#+ I Exec exec touch $[ThumbDirectory]/fullscreen.20.$[w.id].tmp + +DestroyFunc Disapear-Off +AddToFunc Disapear-Off +# Go to the original page of the window +Test (f $[ThumbDirectory]/fullscreen.20.$[w.id].$[page.nx].tmp) PipeRead 'page=`ls $[ThumbDirectory] | grep 20.$[w.id] | awk --field-separator . "{print 4}"`; echo "+ I GotoPage $page 0"' ++ I Iconify false ++ I WindowStyle State 20 ++ I WindowStyle Icon ++ I UpdateStyles ++ I Test (f $[ThumbDirectory]/fullscreen.20.$[w.id].$[page.nx].tmp) Exec exec rm -f $[ThumbDirectory]/fullscreen.20.$[w.id].$[page.nx].tmp +#+ I Test (f $[ThumbDirectory]/fullscreen.20.$[w.id].tmp) Exec exec rm -f $[ThumbDirectory]/fullscreen.20.$[w.id].tmp + +# Another wrapper fonction, still needed ? +DestroyFunc Disapear-Cycle +AddToFunc Disapear-Cycle ++ I Prev (!"FvwmPager|FvwmForm*|FvwmButtons",CurrentPage,AnyScreen,Maximized) Disapear + +################################## +# Restore Fullscreen after restart +# Called by the recipe after all the styles are applied. + +DestroyFunc Fullscreen-Recover +AddToFunc Fullscreen-Recover ++ I Echo "héhé" ++ I WindowStyle !Title, !Borders, Iconifiable, ResizeHintOverride ++ I UpdateStyles ++ I WindowStyle State 19 ++ I WindowStyle State 20 ++ I Maximize ewmhiwa True 100 100 ++ I WindowStyle !Maximizable, FixedSize ++ I UpdateStyles + +DestroyFunc Disapear-Recover +AddToFunc Disapear-Recover + ++ I WindowStyle !State 20 ++ I WindowStyle NoIcon ++ I UpdateStyles ++ I Iconify true + +DestroyFunc Disapear-Test +AddToFunc Disapear-Test ++ I Test (F $[ThumbDirectory]/fullscreen.20.$[w.id].$[page.nx].tmp) WindowId $[w.id] Disapear-Recover + +DestroyFunc RecoverFullscreen +AddToFunc RecoverFullscreen +PipeRead 'for i in $[ThumbDirectory]/fullscreen.19.*; do wid=`basename "$i" | awk --field-separator . \'{print $$3}\'`; echo "+ I WindowId ${wid} Fullscreen-Recover"; done' +PipeRead 'for i in $[ThumbDirectory]/fullscreen.20.*; do wid=`basename "$i" | awk --field-separator . \'{print $$3}\'`; echo "+ I WindowId ${wid} Disapear-Recover"; done' +#+ I All Test (F $[ThumbDirectory]/fullscreen.20.$[w.id].tmp) WindowId $[w.id] Disapear-Recover + +AddToFunc StartFunction I RecoverFullscreen +#AddToFunc StartFunction I All Test (F $[ThumbDirectory]/fullscreen.19.$[w.id].tmp) WindowId $[w.id] Fullscreen-Recover + +AddToFunc ExitFunction I Test (!ToRestart) Exec rm -f $[ThumbDirectory]/fullscreen.19.* +AddToFunc ExitFunction I Test (!ToRestart) Exec rm -f $[ThumbDirectory]/fullscreen.20.* + + # vim:ft=fvwm Modified: fvwm/components/functions/Window-Basic =================================================================== --- fvwm/components/functions/Window-Basic 2010-12-19 22:34:25 UTC (rev 29) +++ fvwm/components/functions/Window-Basic 2010-12-22 00:30:04 UTC (rev 30) @@ -1,4 +1,6 @@ # Basic functions for controlling windows +# Used in bindings/Window-Basic, +# and some in bindings/Window-Basic-Amiga. DestroyFunc Window-Move AddToFunc Window-Move @@ -33,31 +35,82 @@ + M Move + M Raise +# { Used in bindings/Window-Basic-Amiga +DestroyFunc Window-Lower-Move-Raise +AddToFunc Window-Lower-Move-Raise ++ C Lower ++ M Move ++ C Raise -DestroyFunc Window-Resize -AddToFunc Window-Resize +DestroyFunc Window-Raise-Move-Lower +AddToFunc Window-Raise-Move-Lower ++ C Raise ++ M Move ++ C Lower +# } + +# { Used in recipes/Amiga for the pager +DestroyFunc PutOnTop +AddToFunc PutOnTop ++ I Layer 6 ++ I State 1 true + +DestroyFunc PutOnBottom +AddToFunc PutOnBottom ++ I Layer 0 0 ++ I Lower ++ I State 1 false + +DestroyFunc ToggleWindowOnTop +AddToFunc ToggleWindowOnTop ++ I ThisWindow (State 1) PutOnBottom ++ I TestRc (NoMatch) ThisWindow PutOnTop +#} + +# Used to temporary show the music button when in a fullscreened program +DestroyFunc ShowWindowOnTop +AddToFunc ShowWindowOnTop ++ I Layer 0 6 ++ I Schedule 12000 Layer Default + +# Variables update, see components/Window-Buttons +DestroyFunc Window-Save-Geom +AddToFunc Window-Save-Geom ++ I SetEnv "PreviousWindowState_$[w.id]" $[CurrentWindowState_$[w.id]] ++ I SetEnv "CurrentWindowState_$[w.id]" Default ++ I SetEnv "WindowWidth_$[w.id]" "$[w.width]p" ++ I SetEnv "WindowHeight_$[w.id]" "$[w.height]p" + +DestroyFunc Window-Resize-Base +AddToFunc Window-Resize-Base + I Resize ++ I Window-Save-Geom DestroyFunc Window-Resize-Opaque AddToFunc Window-Resize-Opaque + I Resize Direction $0 ++ I Window-Save-Geom DestroyFunc Window-Shade-Resize AddToFunc Window-Shade-Resize + C WindowShade toggle + M Resize ++ I Window-Save-Geom DestroyFunc Window-Resize-Context AddToFunc Window-Resize-Context + I Resize $0p $1p ++ I Window-Save-Geom DestroyFunc Window-Shade AddToFunc Window-Shade + I Current (!Iconifiable) Break + I WindowShade $* +# Also in Icon-Thumbnails DestroyFunc Window-Iconify AddToFunc Window-Iconify + I Iconify ++ I Layer 0 2 # vim:ft=fvwm Modified: fvwm/components/functions/Window-Buttons =================================================================== --- fvwm/components/functions/Window-Buttons 2010-12-19 22:34:25 UTC (rev 29) +++ fvwm/components/functions/Window-Buttons 2010-12-22 00:30:04 UTC (rev 30) @@ -12,6 +12,96 @@ # menu - name of the menu opened on the mouse hold # function - function executed after mouse click +# The windows can have several states: its original or mouse resized state, +# a minimized state, a maximized state, a fullscreen state, and several other. +# A mouse click must set the windows into the wanted state, and when in +# fullscreen, the window must retrun in its precedent state. +# We need 3 environment variables per windows, 2 will contain its original or +# mouse resized width and height, the third one will contain a string +# corresponding to its state (excepted fullscreen). +# The fullscreen functions are implemented into the Fullscreen file. +# +# Bugs/improvments: +# - Finish to implement the mouse resized state. +# - When clicking 2 times on the same button, make than the window will return +# in its preceding state with the second click. +# Possible sizes: custom-fullscreen-max-normal-min +## if actual_size=size then previous_size else size + +## Variables creation and destruction +## FvwmEvent will do it. +DestroyFunc Window-State-Init +AddToFunc Window-State-Init ++ I SetEnv "CurrentWindowState_$[w.id]" Default ++ I SetEnv "PreviousWindowState_$[w.id]" Default ++ I SetEnv "WindowWidth_$[w.id]" "$[w.width]p" ++ I SetEnv "WindowHeight_$[w.id]" "$[w.height]p" + +DestroyFunc Window-State-Destroy +AddToFunc Window-State-Destroy ++ I UnsetEnv "CurrentWindowState_$[w.id]" ++ I UnsetEnv "PreviousWindowState_$[w.id]" ++ I UnsetEnv "WindowWidth_$[w.id]" ++ I UnsetEnv "WindowHeight_$[w.id]" + +# Variables update, see components/Window-Basic + +# param for fvwm-event: add_window, destroy_window, property_change +DestroyModuleConfig FvwmEvent-Window-State-Init: * +*FvwmEvent-Window-State-Init: add_window Window-State-Init +*FvwmEvent-Window-State-Init: destroy_window Window-State-Destroy + +Module FvwmEvent FvwmEvent-Window-State-Init + +## Wrapper function for the resizing functions +# Logic: if actual_size=size then previous_size else size +# Syntax: Window-Resize <size> +# Where size is one of Maximize-Minimize-Default-A100-H100-V100 +# For fullscreen see components/Fullscreen + +DestroyFunc Window-Resize +AddToFunc Window-Resize ++ I Test (EnvMatch CurrentWindowState_$[w.id] "$0") NS-$[PreviousWindowState_$[w.id]] ++ I TestRc (NoMatch) NS-"$0" + +DestroyFunc NS-Maximize +AddToFunc NS-Maximize ++ I Maximize True ++ I SetEnv "PreviousWindowState_$[w.id]" $[CurrentWindowState_$[w.id]] ++ I SetEnv CurrentWindowState_$[w.id] Maximize + +DestroyFunc NS-Minimize +AddToFunc NS-Minimize ++ I Maximize True 24 10 ++ I SetEnv "PreviousWindowState_$[w.id]" $[CurrentWindowState_$[w.id]] ++ I SetEnv CurrentWindowState_$[w.id] Minimize + +DestroyFunc NS-Default +AddToFunc NS-Default ++ I Maximize True $[WindowWidth_$[w.id]] $[WindowHeight_$[w.id]] ++ I SetEnv "PreviousWindowState_$[w.id]" $[CurrentWindowState_$[w.id]] ++ I SetEnv CurrentWindowState_$[w.id] Default + +DestroyFunc NS-A100 +AddToFunc NS-A100 ++ I Maximize True grow 0 ++ I Maximize True 0 grow ++ I SetEnv "PreviousWindowState_$[w.id]" $[CurrentWindowState_$[w.id]] ++ I SetEnv CurrentWindowState_$[w.id] A100 + +DestroyFunc NS-H100 +AddToFunc NS-H100 ++ I Maximize True grow 0 ++ I SetEnv "PreviousWindowState_$[w.id]" $[CurrentWindowState_$[w.id]] ++ I SetEnv CurrentWindowState_$[w.id] H100 + +DestroyFunc NS-V100 +AddToFunc NS-V100 ++ I Maximize True 0 grow ++ I SetEnv "PreviousWindowState_$[w.id]" $[CurrentWindowState_$[w.id]] ++ I SetEnv CurrentWindowState_$[w.id] V100 + +## Other functions # Wrapper functions for window decorations DestroyFunc Window-MoveToPage-Forward AddToFunc Window-MoveToPage-Forward Modified: man/KeyboardBindings.1 =================================================================== --- man/KeyboardBindings.1 2010-12-19 22:34:25 UTC (rev 29) +++ man/KeyboardBindings.1 2010-12-22 00:30:04 UTC (rev 30) @@ -218,6 +218,10 @@ Make currently focused window a "fullscreened" window. It looses the titlebar and border and is maximized to the entire screen. Fullscreened window cannot be lowered or iconified. Pressing Alt+KP_* on the fullscreened window brings back the titlebar and border and resizes a window to it's previous size and position. .TP .B +Alt + Shift + KP_* +Switch focus between the different "fullscreened" windows and the desktop. +.TP +.B Alt + KP_- or Alt + Backspace Iconifies currently focused window (or makes a thumbnail). .TP This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |