File: FvwmApplet-MpdAddSong

package info (click to toggle)
fvwm-crystal 3.3.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 19,748 kB
  • ctags: 793
  • sloc: sh: 2,815; cs: 880; python: 875; makefile: 212
file content (232 lines) | stat: -rw-r--r-- 4,371 bytes parent folder | download | duplicates (3)
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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
# Known bugs:
# - you can't immediately reenter a directory you've just left (first click another one and then try again)
# - some other random odness may occur...
WindowTitle {Add to playlist}
WindowSize 600 700
#WindowPosition 470 400
Colorset	1
Font	"xft:Verdana:size=16"

Init
 Begin
  #load the current playlist
  ChangeTitle 1 (GetOutput { mpc ls| tr '\n' '|' } 1 -1 )
End

Widget 1
Property
 Flags NoReliefString
 Position 0 40
 Size 300 620
 Type List
 Title { }
Main
 Case message of
  SingleClic :
  Begin
    Set $item = (GetValue 1)
    Set $clicks = (Add $clicks 1)
    If $olditem == $item Then
    Begin
      If $clicks==1 Then
      	#change to the doubleclicked directory

	#figure out which directory was selected
	Set $cmd={$FVWM_SYSTEMDIR/scripts/FvwmMPD/getdir.sh '} $currdir {' } (GetValue 1)
	# Do {Echo } $cmd
	Set $currdir=(GetOutput $cmd 1 -1)
	# Do {Echo } $currdir

	#change to that directory and list it's contents
	Set $cmd={$FVWM_SYSTEMDIR/scripts/FvwmMPD/listsongs.sh '} $currdir {' | tr '\n' '|'}
	# Do {Echo } $cmd
	ChangeTitle 1 (GetOutput $cmd 1 -1)
	Set $cmd={$FVWM_SYSTEMDIR/scripts/FvwmMPD/listsongs.sh '} $currdir {' 'files' | tr '\n' '|'}
	ChangeTitle 3 (GetOutput $cmd 1 -1)
    End
    Else
    Begin
      Set $olditem = $item
      Set $clicks=0
    End
  End
End

Widget 3
Property
 Flags NoReliefString
 Position 300 40
 Size 300 620
 Type List
 Title { }
Main
 Case message of
  SingleClic :
  Begin
    Set $item = (GetValue 3)
    Set $clicks = (Add $clicks 1)
    If $olditem == $item Then
    Begin
      If $clicks==1 Then
    	#figure out which song was selected
	Set $cmd={$FVWM_SYSTEMDIR/scripts/FvwmMPD/getdir.sh '} $currdir {' } (GetValue 3)
	# Do {Echo } $cmd
	Set $currfile=(GetOutput $cmd 1 -1)
	# Do {Echo } $currfile

	#add the song to the playlist
	Set $cmd={mpc add "} $currfile {" >/dev/null}
	# Do {Echo } $cmd
	Do {Exec } $cmd
    End
    Else
    Begin
      Set $olditem = $item
      Set $clicks=0
    End
  End
End

Widget 4
Property
 Flags NoReliefString
 Position 0 0
 Size 300 40
 Type ItemDraw
 Title { Folders }
Main
 Case message of
  SingleClic :
  Begin
  End
End

Widget 5
Property
 Flags NoReliefString
 Position 300 0
 Size 300 40
 Type ItemDraw
 Title { Songs }
Main
 Case message of
  SingleClic :
  Begin
  End
End

Widget 6
Property
 Flags NoReliefString
 Position 0 660
 Size 100 40
 Type PushButton
 Title { Close }
Main
 Case message of
  SingleClic :
  Begin
	Quit
  End
End

Widget 7
Property
 Flags NoReliefString
 Position 100 660
 Size 95 40
 Type ItemDraw
 Title { Dir: }
Main
 Case message of
  SingleClic :
  Begin
  End
End

Widget 8
Property
 Flags NoReliefString
 Position 195 660
 Size 85 40
 Type PushButton
 Title { Up }
Main
 Case message of
  SingleClic :
  Begin
	#return to the previous directory
	Set $cmd={$FVWM_SYSTEMDIR/scripts/FvwmMPD/getdir.sh '} $currdir {' ..}
	# Do {Echo } $cmd
	Set $currdir=(GetOutput $cmd 1 -1)
	# Do {Echo } $currdir

	#change to that directory and list it's contents
	Set $cmd={$FVWM_SYSTEMDIR/scripts/FvwmMPD/listsongs.sh '} $currdir {' | tr '\n' '|'}
	# Do {Echo } $cmd
	ChangeTitle 1 (GetOutput $cmd 1 -1)
	Set $cmd={$FVWM_SYSTEMDIR/scripts/FvwmMPD/listsongs.sh '} $currdir {' 'files' | tr '\n' '|'}
	ChangeTitle 3 (GetOutput $cmd 1 -1)
  End
End

Widget 9
Property
 Flags NoReliefString
 Position 280 660
 Size 100 40
 Type PushButton
 Title { Add dir }
Main
 Case message of
  SingleClic :
  Begin
	#figure out which directory was selected
	Set $cmd={$FVWM_SYSTEMDIR/scripts/FvwmMPD/getdir.sh '} $currdir {' } (GetValue 1)
	# Do {Echo } $cmd
	Set $seldir=(GetOutput $cmd 1 -1)
	# Do {Echo } $currfile

	Set $cmd={mpc add "} $seldir {" >/dev/null}
	# Do {Echo } $cmd
	Do {Exec } $cmd
  End
End

Widget 10
Property
 Flags NoReliefString
 Position 430 660
 Size 85 40
 Type ItemDraw
 Title { Song: }
Main
 Case message of
  SingleClic :
  Begin
  End
End

Widget 11
Property
 Flags NoReliefString
 Position 515 660
 Size 85 40
 Type PushButton
 Title { Add }
Main
 Case message of
  SingleClic :
  Begin
	#figure out which song was selected
	Set $cmd={$FVWM_SYSTEMDIR/scripts/FvwmMPD/getdir.sh '} $currdir {' } (GetValue 3)
	# Do {Echo } $cmd
	Set $currfile=(GetOutput $cmd 1 -1)
	# Do {Echo } $currfile

	#add the song to the playlist
	Set $cmd={mpc add "} $currfile {" >/dev/null}
	# Do {Echo } $cmd
	Do {Exec } $cmd
  End
End