File: notify.ml

package info (click to toggle)
obus 1.2.5-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,480 kB
  • sloc: ml: 14,675; lisp: 52; makefile: 11; xml: 8
file content (32 lines) | stat: -rw-r--r-- 906 bytes parent folder | download | duplicates (3)
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
(*
 * notify.ml
 * ---------
 * Copyright : (c) 2008, Jeremie Dimino <jeremie@dimino.org>
 * Licence   : BSD3
 *
 * This file is a part of obus, an ocaml implementation of D-Bus.
 *)

open Lwt
open Lwt_io

let () = Lwt_main.run begin
  (* Open a first notification: *)
  let%lwt _ = Notification.notify ~summary:"Hello, world!" ~body:"ocaml is fun!" ~icon:"info" () in

  let%lwt () = Lwt_unix.sleep 0.5 in

  (* Open another one, with buttons on it: *)
  let%lwt handle =
    Notification.notify ~summary:"Actions test" ~body:"click on something!"
      ~category:"network"
      ~actions:[("coucou", `Coucou); ("plop", `Plop)] ()
  in

  (* Then wait for the result: *)
  Notification.result handle >>= function
    | `Coucou -> eprintl "You pressed coucou!"
    | `Plop -> eprintl "You pressed plop!"
    | `Default -> eprintl "default action invoked"
    | `Closed -> eprintl "notification closed"
end