Current section
Files
Jump to
Current section
Files
src/pane@window.erl
-module(pane@window).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/pane/window.gleam").
-export([prepare_window/1, load_window/1]).
-export_type([window_config/0]).
-type window_config() :: {window_config,
binary(),
binary(),
integer(),
integer(),
binary(),
gleam@option:option(boolean()),
gleam@option:option(boolean()),
gleam@option:option(boolean()),
gleam@option:option(boolean()),
gleam@option:option(boolean()),
gleam@option:option(integer()),
gleam@option:option(integer()),
gleam@option:option(integer()),
gleam@option:option(integer())}.
-file("src/pane/window.gleam", 26).
-spec prepare_window(window_config()) -> binary().
prepare_window(Config) ->
_ = begin
_pipe = gleam@json:object(
[{<<"input"/utf8>>, gleam@json:string(erlang:element(2, Config))},
{<<"title"/utf8>>, gleam@json:string(erlang:element(3, Config))},
{<<"width"/utf8>>, gleam@json:int(erlang:element(4, Config))},
{<<"height"/utf8>>, gleam@json:int(erlang:element(5, Config))},
{<<"icon"/utf8>>, gleam@json:string(erlang:element(6, Config))},
{<<"resizable"/utf8>>,
gleam@json:nullable(
erlang:element(7, Config),
fun gleam@json:bool/1
)},
{<<"decorations"/utf8>>,
gleam@json:nullable(
erlang:element(8, Config),
fun gleam@json:bool/1
)},
{<<"transparent"/utf8>>,
gleam@json:nullable(
erlang:element(9, Config),
fun gleam@json:bool/1
)},
{<<"always_on_top"/utf8>>,
gleam@json:nullable(
erlang:element(10, Config),
fun gleam@json:bool/1
)},
{<<"maximized"/utf8>>,
gleam@json:nullable(
erlang:element(11, Config),
fun gleam@json:bool/1
)},
{<<"min_width"/utf8>>,
gleam@json:nullable(
erlang:element(12, Config),
fun gleam@json:int/1
)},
{<<"min_height"/utf8>>,
gleam@json:nullable(
erlang:element(13, Config),
fun gleam@json:int/1
)},
{<<"max_width"/utf8>>,
gleam@json:nullable(
erlang:element(14, Config),
fun gleam@json:int/1
)},
{<<"max_height"/utf8>>,
gleam@json:nullable(
erlang:element(15, Config),
fun gleam@json:int/1
)}]
),
gleam@json:to_string(_pipe)
end.
-file("src/pane/window.gleam", 48).
-spec load_window(binary()) -> nil.
load_window(Config) ->
ffi:cmd(<<"./pane-webview "/utf8, Config/binary>>).