about summary refs log tree commit diff stats
path: root/playflash.sh
Commit message (Expand)AuthorAgeFilesLines
* make script quiet in order not to fail on launchMarco Peereboom2012-02-211-1/+1
* add -y and remove some quotesMarco Peereboom2012-02-141-3/+1
* remove doubled text from playflash.shMichal Mazurek2011-07-271-14/+0
* add a method for running scripts on a page. the example usesMarco Peereboom2011-07-251-0/+28
8a00193e7cfca773f007'>15b76d0d ^
a0de7f95 ^


2887ca25 ^
a0de7f95 ^

15b76d0d ^
a0de7f95 ^


2887ca25 ^


a0de7f95 ^
9f55a155 ^
bd627dc4 ^
2887ca25 ^
a0de7f95 ^
bd627dc4 ^
a0de7f95 ^
bd627dc4 ^
a0de7f95 ^


2887ca25 ^


a0de7f95 ^


bd627dc4 ^
a0de7f95 ^
bd627dc4 ^
a0de7f95 ^



bd627dc4 ^

a0de7f95 ^







bd627dc4 ^

a0de7f95 ^
bd627dc4 ^

2887ca25 ^




a0de7f95 ^


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
             










                             

                                                        
                                                


                   
                             

                                                        
                                                


                   


                                                  
 
                                          
                                   
                                       
 
                                                          
 
                                 


                                           


                                               


                           
                                                 
                    
                                               



                           

                                  







                                                                                          

                                                 
                             

                                                 




                                                    


           
module Action
	extend self

	def close_interface
		closei
	end

	def start_interface
		starti
	end

	def copy(files, path)
		files = [files] unless files.is_a? Array
		unless files.empty?
			CopyBar.new(files, path)
		end
	end

	def move(files, path)
		files = [files] unless files.is_a? Array
		unless files.empty?
			MoveBar.new(files, path)
		end
	end

	def run(rc = nil)
		rc ||= RunContext.new(Fm.getfiles)
		assert rc, RunContext

		all      = rc.all.or false
		files    = rc.files
		mode     = rc.mode.or 0

		return false if files.nil? or files.empty?

		handler = rc.exec

		return false unless handler

		wait     = rc.wait.or wait
		new_term = rc.new_term.or false
		detach   = rc.detach.or false

		log handler
		if detach
			run_detached(handler, rc)
		else
			run_inside(handler, rc)
		end
		return true
	end

	def run_detached(what, rc)
		if rc.new_term
			p = fork { exec('x-terminal-emulator', '-e', 'bash', '-c', what) }
#			Process.detach(p)
		else
			p = fork { exec "#{what} 2>> /dev/null >> /dev/null" }
			Process.detach(p)
		end
	end

	def run_inside(what, rc)
		close_interface unless rc.console
		system(*what)
		wait_for_enter if rc.wait
		start_interface unless rc.console
	end

	def wait_for_enter
		print "Press [ENTER] to continue..."
		gets
	end
end