Code to move window across pages/desks.
authorOleksandr Gavenko <gavenkoa@gmail.com>
Tue, 30 Aug 2016 18:13:53 +0300
changeset 806 cb2143998c5f
parent 805 a2bc6ed00864
child 807 29df20967967
Code to move window across pages/desks.
.fvwm/config
--- a/.fvwm/config	Mon Aug 15 23:57:14 2016 +0300
+++ b/.fvwm/config	Tue Aug 30 18:13:53 2016 +0300
@@ -414,6 +414,63 @@
 
 Key F10 A C myGotoPageDown
 
+# Move window across pages left.
+DestroyFunc myMovePageLeft
+AddToFunc myMovePageLeft
++ I Next (CirculateHit, FvwmPager, Shaded) WindowShade "False"
++ I Focus
++ I SetEnv fvwm_curr_w $[w.id]
++ I MoveToPage -1p +0p
++ I WindowId $[fvwm_curr_w] Focus
++ I UnSetEnv fvwm_curr_w
+
+Key F9 A M myMovePageLeft
+
+# Move window across pages right.
+DestroyFunc myMovePageRight
+AddToFunc myMovePageRight
++ I Next (CirculateHit, FvwmPager, Shaded) WindowShade "False"
++ I Focus
++ I SetEnv fvwm_curr_w $[w.id]
++ I MoveToPage +1p +0p
++ I WindowId $[fvwm_curr_w] Focus
++ I UnSetEnv fvwm_curr_w
+
+Key F12 A M myMovePageRight
+
+# Move window across pages down, if there is no page more go to first page of next desk.
+DestroyFunc myMovePageDown
+AddToFunc myMovePageDown
++ I Next (CirculateHit, FvwmPager, Shaded) WindowShade "False"
++ I Focus
++ I SetEnv fvwm_curr_w $[w.id]
++ I SetEnv fvwm_page_ny $[page.ny]
++ I Test (EnvMatch fvwm_page_ny 2) WindowId $[fvwm_curr_w] MoveToDesk +1 0 4
++ I Test (EnvMatch fvwm_page_ny 2) WindowId $[fvwm_curr_w] MoveToPage +0p 0
++ I Test (!EnvMatch fvwm_page_ny 2) WindowId $[fvwm_curr_w] MoveToPage 0 +1p
++ I WindowId $[fvwm_curr_w] Focus
++ I UnSetEnv fvwm_page_ny
++ I UnSetEnv fvwm_curr_w
+
+Key F10 A M myMovePageDown
+
+# Move window across pages up, if there is no pages more go to last page of the previous desk.
+DestroyFunc myMovePageUp
+AddToFunc myMovePageUp
++ I Next (CirculateHit, FvwmPager, Shaded) WindowShade "False"
++ I Focus
++ I SetEnv fvwm_curr_w $[w.id]
++ I SetEnv fvwm_page_ny $[page.ny]
++ I Test (EnvMatch fvwm_page_ny 0) WindowId $[fvwm_curr_w] MoveToDesk -1 0 4
++ I Test (EnvMatch fvwm_page_ny 0) WindowId $[fvwm_curr_w] MoveToPage +0p 2
++ I Test (!EnvMatch fvwm_page_ny 0) WindowId $[fvwm_curr_w] MoveToPage +0p -1p
++ I WindowId $[fvwm_curr_w] Focus
++ I UnSetEnv fvwm_page_ny
++ I UnSetEnv fvwm_curr_w
+
+Key F11 A M myMovePageUp
+
+
 Key F9 A S CursorMove -50p +0p
 Key F10 A S CursorMove +0p +50p
 Key F11 A S CursorMove +0p -50p