forked from paul/rubberin
Clean up cruft on quit.
This commit is contained in:
parent
654a04f401
commit
2d4227a362
21
rubberin
21
rubberin
|
@ -71,7 +71,7 @@ def compile(infile, mode)
|
||||||
ret = system "rubber --inplace #{mode_opt} #{params} #{infile} 2> #{err_file}"
|
ret = system "rubber --inplace #{mode_opt} #{params} #{infile} 2> #{err_file}"
|
||||||
File.open(err_file) { |file| puts file.read }
|
File.open(err_file) { |file| puts file.read }
|
||||||
# Remove the output save file if compile was succesful.
|
# Remove the output save file if compile was succesful.
|
||||||
File.unlink(err_file) if ret
|
clean(infile) if ret
|
||||||
end
|
end
|
||||||
|
|
||||||
# Start the right viewer based on the mode.
|
# Start the right viewer based on the mode.
|
||||||
|
@ -87,6 +87,13 @@ def view(infile, mode)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Clean up cruft related to compilation of the input file.
|
||||||
|
def clean(infile)
|
||||||
|
err_file = infile.with_extname('err')
|
||||||
|
File.unlink(err_file) if err_file.exist?
|
||||||
|
system "rubber --clean --inplace #{infile}"
|
||||||
|
end
|
||||||
|
|
||||||
# Reload the right viewer based on the mode.
|
# Reload the right viewer based on the mode.
|
||||||
def reload(infile, mode)
|
def reload(infile, mode)
|
||||||
case mode
|
case mode
|
||||||
|
@ -159,10 +166,18 @@ view(infile, mode) if not viewer_pid
|
||||||
|
|
||||||
# Handle signals.
|
# Handle signals.
|
||||||
["INT", "TERM", "QUIT"].each do |sig|
|
["INT", "TERM", "QUIT"].each do |sig|
|
||||||
Signal.trap(sig) { Process.kill(sig, viewer_pid); exit }
|
Signal.trap(sig) do
|
||||||
|
Process.kill(sig, viewer_pid)
|
||||||
|
clean(infile)
|
||||||
|
exit
|
||||||
|
end
|
||||||
end
|
end
|
||||||
# If xdvi exits, this program should exit too.
|
# If xdvi exits, this program should exit too.
|
||||||
Signal.trap("CLD") { puts "#{Program}: viewer exited, so will I!"; exit }
|
Signal.trap("CLD") do
|
||||||
|
puts "#{Program}: viewer exited, so will I!"
|
||||||
|
clean(infile)
|
||||||
|
exit
|
||||||
|
end
|
||||||
|
|
||||||
## Main event loop
|
## Main event loop
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue