summaryrefslogtreecommitdiff
path: root/functions.config
blob: a1a74926344d32949fe827bf0dcf0d7f90c1188b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
###########################
# BASIC WINDOW OPERATIONS #
###########################


DestroyFunc FvwmWindowAutoMaximize
AddToFunc FvwmWindowAutoMaximize
+ I ThisWindow ('nephilim.py|Navigator') FvwmWindowMaximizeNoClick

DestroyFunc FvwmWindowTitleClick
AddToFunc   FvwmWindowTitleClick
+ I Focus
+ I Raise
+ M FvwmWindowMove
+ D FvwmWindowMaximize

DestroyFunc FvwmWindowMaximize
AddToFunc   FvwmWindowMaximize
+ C ThisWindow (!shaded, !maximized) WindowStyle !Borders, ResizeHintOverride, !Title
+ C ThisWindow (maximized) DestroyWindowStyle
+ C UpdateStyles
+ C Maximize $0 $1

DestroyFunc FvwmWindowMaximizeNoClick
AddToFunc   FvwmWindowMaximizeNoClick
+ I ThisWindow (!shaded, !maximized) WindowStyle !Borders, ResizeHintOverride, !Title
+ I ThisWindow (maximized) DestroyWindowStyle
+ I UpdateStyles
+ I Maximize $0 $1 $2

DestroyFunc FvwmWindowResize
AddToFunc   FvwmWindowResize
+ C Resize

DestroyFunc FvwmWindowMove
AddToFunc   FvwmWindowMove
+ M ThisWindow (maximized) DestroyWindowStyle
+ M UpdateStyles
+ M Maximize False
+ M Raise
+ M Move

DestroyFunc FvwmWindowClose
AddToFunc   FvwmWindowClose
+ C Close
+ H Nop

DestroyFunc FvwmWindowDestroy
AddToFunc   FvwmWindowDestroy
+ C Destroy
+ H Nop

DestroyFunc jiggle
AddToFunc jiggle
+ I PipeRead "for y in `seq $0 -1 0`; do printf 'AnimatedMove w+%up w+%up\\nAnimatedMove w-%up w-%up\\n' ${y} ${y} ${y} ${y}; done"

DestroyFunc next_window_in_page
AddToFunc next_window_in_page
+ I Raise
+ I FlipFocus
+ I WarpToWindow 50 50
+ I ThisWindow (!maximized, !SDL_App) jiggle 2

###########################
# CONFIGURATION FUNCTIONS #
###########################

DestroyFunc SlideshowOff
AddToFunc   SlideshowOff
+ I SetEnv slideshow 0
+ I Deschedule 1

DestroyFunc SlideshowOn
AddToFunc   SlideshowOn
+ I SetEnv slideshow 1
+ I Deschedule 1
+ I Schedule Periodic 3600000 1 RandomWall

DestroyFunc RandomWall
AddToFunc   RandomWall
+ I Exec '$[FVWM_USERDIR]/scripts/random_wallpaper.py' '$[infostore.wallpaperdir]'

DestroyFunc MPDControl
AddToFunc MPDControl
+ I Exec mpc -q $*

# update desk_min/max for a given window
# this needs to be in a separate function from UpdateNumDesks,
# so that all the variables get updated on each invocation of the script
DestroyFunc UpdateNumDesksForWindow
AddToFunc UpdateNumDesksForWindow
+ I PipeRead '\
    if [ $[w.desk] -lt $[infostore.desk_min] ]; then \
        echo InfoStoreAdd desk_min $[w.desk];        \
    fi;                                              \
    if [ $[w.desk] -gt $[infostore.desk_max] ]; then \
        echo InfoStoreAdd desk_max $[w.desk];        \
    fi                                               \
'

DestroyFunc UpdateNumDesks
AddToFunc UpdateNumDesks
+ I InfoStoreAdd desk_min 0
+ I InfoStoreAdd desk_max 0
+ I NoWindow All (!StickyAcrossDesks) UpdateNumDesksForWindow

DestroyFunc UpdateCurDesk
AddToFunc UpdateCurDesk
+ I InfoStoreAdd last_page_$[desk.n] $[page.ny]

DestroyFunc WrapperGotoPage
AddToFunc WrapperGotoPage
+ I PipeRead '$[FVWM_USERDIR]/scripts/goto_desk_page.py $0 $[infostore.last_page_$0] $[page.ny]'

DestroyFunc DeskNext
AddToFunc DeskNext
+ I UpdateNumDesks
+ I UpdateCurDesk
+ I PipeRead '$[FVWM_USERDIR]/scripts/calc_desk.py $[desk.n] inc $[infostore.desk_min] $[infostore.desk_max]'
+ I WrapperGotoPage $[infostore.target_desk]

DestroyFunc DeskPrev
AddToFunc DeskPrev
+ I UpdateNumDesks
+ I UpdateCurDesk
+ I PipeRead '$[FVWM_USERDIR]/scripts/calc_desk.py $[desk.n] dec $[infostore.desk_min] $[infostore.desk_max]'
+ I WrapperGotoPage $[infostore.target_desk]

DestroyFunc FormDeskName
AddToFunc FormDeskName
+ I Module FvwmForm FormDeskName DESK=$[desk.n]

DestroyFunc DeskGoto
AddToFunc DeskGoto
+ I UpdateCurDesk
+ I WrapperGotoPage $0

############################
#Don't steal focus
DestroyFunc UrgencyFunc
AddToFunc UrgencyFunc
+ I Nop

DestroyFunc EWMHActivateWindowFunc
AddToFunc EWMHActivateWindowFunc
+ I Nop