aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristopher R. Nelson <christopher.nelson@languidnights.com>2026-07-20 22:39:26 -0400
committerChristopher R. Nelson <christopher.nelson@languidnights.com>2026-07-20 22:39:26 -0400
commit810cb6fdd86452b75e520fc17daec40ba36eba13 (patch)
treeec16094768c947d92273bccf8e6d520e9bb248a8 /src
Initial OTP application skeleton
rebar3-generated er_xdg_pipe_menu app/supervisor scaffold, to be filled in with XDG .desktop file discovery/parsing and openbox pipemenu generation. MIT licensed. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Diffstat (limited to 'src')
-rw-r--r--src/er_xdg_pipe_menu.app.src14
-rw-r--r--src/er_xdg_pipe_menu_app.erl18
-rw-r--r--src/er_xdg_pipe_menu_sup.erl37
3 files changed, 69 insertions, 0 deletions
diff --git a/src/er_xdg_pipe_menu.app.src b/src/er_xdg_pipe_menu.app.src
new file mode 100644
index 0000000..7013bc7
--- /dev/null
+++ b/src/er_xdg_pipe_menu.app.src
@@ -0,0 +1,14 @@
+{application, er_xdg_pipe_menu, [
+ {description, "Openbox pipemenu generator from XDG .desktop files"},
+ {vsn, "0.1.0"},
+ {registered, []},
+ {mod, {er_xdg_pipe_menu_app, []}},
+ {applications, [
+ kernel,
+ stdlib
+ ]},
+ {env, []},
+ {modules, []},
+ {licenses, ["MIT"]},
+ {links, []}
+ ]}.
diff --git a/src/er_xdg_pipe_menu_app.erl b/src/er_xdg_pipe_menu_app.erl
new file mode 100644
index 0000000..1880de8
--- /dev/null
+++ b/src/er_xdg_pipe_menu_app.erl
@@ -0,0 +1,18 @@
+%%%-------------------------------------------------------------------
+%% @doc er_xdg_pipe_menu public API
+%% @end
+%%%-------------------------------------------------------------------
+
+-module(er_xdg_pipe_menu_app).
+
+-behaviour(application).
+
+-export([start/2, stop/1]).
+
+start(_StartType, _StartArgs) ->
+ er_xdg_pipe_menu_sup:start_link().
+
+stop(_State) ->
+ ok.
+
+%% internal functions
diff --git a/src/er_xdg_pipe_menu_sup.erl b/src/er_xdg_pipe_menu_sup.erl
new file mode 100644
index 0000000..2e42081
--- /dev/null
+++ b/src/er_xdg_pipe_menu_sup.erl
@@ -0,0 +1,37 @@
+%%%-------------------------------------------------------------------
+%% @doc er_xdg_pipe_menu top level supervisor.
+%% @end
+%%%-------------------------------------------------------------------
+
+-module(er_xdg_pipe_menu_sup).
+
+-behaviour(supervisor).
+
+-export([start_link/0]).
+
+-export([init/1]).
+
+-define(SERVER, ?MODULE).
+
+start_link() ->
+ supervisor:start_link({local, ?SERVER}, ?MODULE, []).
+
+%% sup_flags() = #{strategy => strategy(), % optional
+%% intensity => non_neg_integer(), % optional
+%% period => pos_integer()} % optional
+%% child_spec() = #{id => child_id(), % mandatory
+%% start => mfargs(), % mandatory
+%% restart => restart(), % optional
+%% shutdown => shutdown(), % optional
+%% type => worker(), % optional
+%% modules => modules()} % optional
+init([]) ->
+ SupFlags = #{
+ strategy => one_for_all,
+ intensity => 0,
+ period => 1
+ },
+ ChildSpecs = [],
+ {ok, {SupFlags, ChildSpecs}}.
+
+%% internal functions