From 8fb35efbfd14e38ed1f6b369b4ef879f2d8de73c Mon Sep 17 00:00:00 2001 From: dianshi Date: Sat, 18 Jul 2020 22:18:41 +0100 Subject: working backlight setter --- obacklight/obacklight.ml | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/obacklight/obacklight.ml b/obacklight/obacklight.ml index f5eb296..8edb381 100644 --- a/obacklight/obacklight.ml +++ b/obacklight/obacklight.ml @@ -30,6 +30,39 @@ begin set_backlight_brightness_path () end +let read_data filename = + let ic = open_in filename in + try + let line = input_line ic in + close_in ic; + (line) + with e -> + close_in_noerr ic; + raise e + +let show_brightness () = + let b = read_data !default_backlight_brightness_path in + let mb = read_data !default_backlight_maxbrightness_path in + let _ = Printf.printf "Brightness: %s\n" b in + Printf.printf "Max Brightness: %s\n" mb + +(* Set brightness from 0-100% *) +let write_data filename a = + let oc = open_out filename in + output_string oc a; + close_out oc;; + +let set_brightness brightness_path nv = + let mb = read_data !default_backlight_maxbrightness_path in + let i_mb = int_of_string mb in + let nv_percent =((float_of_int nv) /. 100.0) *. (float_of_int i_mb) in + let _ = Printf.printf "%f\n" nv_percent in + write_data brightness_path (string_of_int (int_of_float nv_percent)) + + + +let arg_num = Array.length Sys.argv + let main = begin @@ -40,7 +73,11 @@ begin let usage_msg = "set backlight value" in let _ = Arg.parse speclist print_endline usage_msg in (* If there is not argument print value of default path *) + if arg_num == 1 then + show_brightness(); (* If there is 1 argument set value to brigthness *) + if arg_num == 2 then + set_brightness !default_backlight_brightness_path (int_of_string Sys.argv.(1)); print_debug (); end -- cgit v1.2.3