Move initial ruby code out of line
This commit is contained in:
+5
-51
@@ -1,62 +1,16 @@
|
||||
let () =
|
||||
let startup_script =
|
||||
if Array.length Sys.argv <> 2 then (
|
||||
Printf.eprintf "usage: kutu <startup.rb>\n";
|
||||
exit 1)
|
||||
else Sys.argv.(1)
|
||||
if Array.length Sys.argv <> 2 then None else Some Sys.argv.(1)
|
||||
in
|
||||
let state = Kutu.State.new_state in
|
||||
|
||||
print_endline "Started Kutu WM";
|
||||
|
||||
Bindings.Core.register_callbacks state;
|
||||
Mruby.Core.mrb_load_string state.mrb
|
||||
{|#ruby
|
||||
MOD_MAP = {
|
||||
none: 0,
|
||||
alt: 8,
|
||||
super: 64
|
||||
}
|
||||
KEY_MAP = {
|
||||
"tab" => 23,
|
||||
"q" => 24,
|
||||
"w" => 25,
|
||||
"e" => 26,
|
||||
"r" => 27,
|
||||
"f" => 41,
|
||||
"n" => 57,
|
||||
"b" => 56,
|
||||
"m" => 58,
|
||||
"v" => 55,
|
||||
"]" => 35,
|
||||
"[" => 34,
|
||||
"1" => 10,
|
||||
"2" => 11,
|
||||
"3" => 12,
|
||||
"4" => 13,
|
||||
"5" => 14,
|
||||
"6" => 15,
|
||||
"7" => 16,
|
||||
"8" => 17,
|
||||
"9" => 18,
|
||||
"0" => 19
|
||||
}
|
||||
def bind(key, mod = :alt, &block)
|
||||
key_ = key.is_a?(String) ? KEY_MAP[key] : key
|
||||
mod = MOD_MAP[mod]
|
||||
raise "unknown key #{key.to_s}" unless key_
|
||||
raise "unknown modifier" unless mod
|
||||
_bind key_, mod, &block
|
||||
end
|
||||
def unbind(key, mod = :alt)
|
||||
key_ = key.is_a?(String) ? KEY_MAP[key] : key
|
||||
mod = MOD_MAP[mod]
|
||||
raise "unknown key #{key.to_s}" unless key_
|
||||
raise "unknown modifier" unless mod
|
||||
_unbind key_, mod
|
||||
end
|
||||
|};
|
||||
Mruby.Core.mrb_load_file state.mrb startup_script;
|
||||
Mruby.Core.mrb_load_string state.mrb Mruby.Initial.initial_code;
|
||||
(match startup_script with
|
||||
| None -> ()
|
||||
| Some s -> Mruby.Core.mrb_load_file state.mrb s);
|
||||
Mruby.Core.error_check state.mrb;
|
||||
|
||||
if Xcb.Connection.flush state.conn <= 0 then exit 1;
|
||||
|
||||
Reference in New Issue
Block a user