From 5ff1fbe175af17fbb808c5ea942f465a932da3af Mon Sep 17 00:00:00 2001 From: "Christopher R. Nelson" Date: Tue, 21 Jul 2026 11:44:41 -0400 Subject: Rename app from er_xdg_pipe_menu to xdg_pipe_menu Drop the "er-" prefix throughout: module/atom names, filenames, socket paths, and docs. It was an implementation detail, not part of the app's identity. Co-Authored-By: Claude Sonnet 5 --- src/er_xdg_pipe_menu_cache.erl | 56 ------------------------------------------ 1 file changed, 56 deletions(-) delete mode 100644 src/er_xdg_pipe_menu_cache.erl (limited to 'src/er_xdg_pipe_menu_cache.erl') diff --git a/src/er_xdg_pipe_menu_cache.erl b/src/er_xdg_pipe_menu_cache.erl deleted file mode 100644 index a71526e..0000000 --- a/src/er_xdg_pipe_menu_cache.erl +++ /dev/null @@ -1,56 +0,0 @@ -%%%------------------------------------------------------------------- -%% @doc Caches the rendered Openbox pipe menu in memory. -%% -%% Holds the last-rendered menu binary so socket clients get an -%% instant response. `invalidate/0' synchronously rescans the XDG -%% application directories, reparses every `.desktop' file and -%% re-renders the menu, replacing the cached binary. -%% @end -%%%------------------------------------------------------------------- - --module(er_xdg_pipe_menu_cache). - --behaviour(gen_server). - --export([start_link/0, get_menu/0, invalidate/0, build/1]). --export([init/1, handle_call/3, handle_cast/2, handle_info/2]). - --spec start_link() -> {ok, pid()}. -start_link() -> - gen_server:start_link({local, ?MODULE}, ?MODULE, [], []). - --spec get_menu() -> binary(). -get_menu() -> - gen_server:call(?MODULE, get_menu). - --spec invalidate() -> ok. -invalidate() -> - gen_server:cast(?MODULE, invalidate). - -%% Pure pipeline: explicit dirs in, rendered menu binary out. Kept -%% side-effect-free (besides reading the filesystem) and exported so -%% it can be unit tested directly and reused by the CLI client's -%% no-daemon fallback, without going through the gen_server at all. --spec build([file:filename_all()]) -> binary(). -build(Dirs) -> - Files = er_xdg_pipe_menu_scanner:find_desktop_files(Dirs), - Entries = lists:filtermap(fun parse/1, Files), - er_xdg_pipe_menu_renderer:render(Entries). - -parse(File) -> - case er_xdg_pipe_menu_desktop_entry:parse_file(File) of - {ok, Entry} -> {true, Entry}; - {error, _} -> false - end. - -init([]) -> - {ok, build(er_xdg_pipe_menu_scanner:data_dirs())}. - -handle_call(get_menu, _From, Menu) -> - {reply, Menu, Menu}. - -handle_cast(invalidate, _Menu) -> - {noreply, build(er_xdg_pipe_menu_scanner:data_dirs())}. - -handle_info(_Info, State) -> - {noreply, State}. -- cgit v1.2.3