lib/fusuma.rb in fusuma-0.7.0 vs lib/fusuma.rb in fusuma-0.7.1

- old
+ new

@@ -15,26 +15,42 @@ module Fusuma # main class class Runner class << self def run(option = {}) - Signal.trap('INT') { exit } # Trap ^C - Signal.trap('TERM') { exit } # Trap `Kill ` - + set_trap read_options(option) instance = new instance.read_libinput end + private + + def set_trap + Signal.trap('INT') { puts exit } # Trap ^C + Signal.trap('TERM') { puts exit } # Trap `Kill ` + end + + def print_version + puts "---------------------------------------------" + puts "Fusuma: #{Fusuma::VERSION}" + puts "OS: #{`uname -rsv`}" + puts "Distribution: #{`cat /etc/issue`}" + puts "Desktop session: #{`echo $DESKTOP_SESSION`}" + puts "---------------------------------------------" + end + + def reload_custom_config(config_path) + MultiLogger.info "use custom path: #{config_path}" + Config.instance.custom_path = config_path + Config.reload + end + def read_options(option) - option.fetch(:version, nil) - config_path = option.fetch(:config, nil) - if config_path - Config.instance.custom_path = config_path - Config.reload - end - MultiLogger.instance.debug_mode = true if option.fetch(:verbose, nil) - Process.daemon if option.fetch(:daemon, nil) + print_version if option[:version] || option[:verbose] + reload_custom_config(option[:config_path]) if option[:config_path] + MultiLogger.instance.debug_mode = true if option[:verbose] + Process.daemon if option[:daemon] end end def read_libinput Open3.popen3(libinput_command) do |_i, o, _e, _w|