Commits


README.md: Create file.


Makefile: Add rules for manual pages.


man/aestel.7, man/browsefiles.1, man/launchprogram.1, man/setbackground.1: Create manual pages.


bin/browsefiles.lua: Update heading comment for consistency across project scripts.


Makefile, bin/browsefiles.lua, bin/setbackground.lua: Refactor to reflect module renamed from navigate.lua to browse.lua.


aestel/browse.lua, aestel/navigate.lua: Rename module for clarity with purpose of module. - Refactor module - Update heading comment for consistency across project modules. - Remove redundant narrative comments and unused commented out code


aestel/display.lua: Refactor module for readabiity. - Update heading comment for consistency across project modules. - Remove redundant narrative comments. - Reorder functions.


aestel/opener.lua: Fix typo in heading comment.


aestel/input.lua: Update heading comment for consistency across project modules.


aestel/colors.lua: Update heading comment for consistency across project modules.


aestel/menu.lua: Refactor module for readability. - Update heading comment for consistency across project modules - Remove redundant narrative comments. - Apply consistent spacing and remove unnecessary blank lines. in functions.


aestel/menu.lua, aestel/navigate.lua: Add toggle for hidden files. - Modify menu.lua to return -1 when the '.' key is pressed. - Implement show_hidden state in navigate.browse loop. - Update build_list to filter hidden files based on state. - Fix logic in M.browse to correctly handle the '.' toggle signal without interrupting the navigation loop.


aestel/display.lua, aestel/menu.lua, aestel/navigate.lua, bin/browsefiles.lua, bin/setbackground.lua: Add status bar and unify error handling. - Add display.status_bar to render the (n/total) /path/to/dir footer in reverse video at the bottom of the terminal. - Pass cwd to menu.menu from navigate.browse so the status bar is drawn when navigating directories; pass nil from static menus like launchprogram.lua to suppress it. - Remove the hardcoded "Current Path" from display.write_header; the path is now shown in the status bar. - Remove the start_row parameter from M.browse and update browsefiles.lua and setbackground.lua to match. - Replace the per-render "... more items ..." indicator with the status bar's (n/total) count to avoid a redundant line that consumed a row in small windows. - Unify both error paths in M.browse (go up and select directory) on display.status_line, eliminating io.write calls that were leaking the error to stdout and getting captured by the shell wrapper for cd-on-exit. - Bump the error toast sleep from 1s to 2s so the message is readable.


navigate.lua, browsefiles.lua, setbackground.lua: Print final current working direcgtory on quit. - navigate.browse returns final cwd as second return value. - browsefiles.lua, setbackground.lua print cwd to stdout on quit.


aestel/display.lua, aestel/input.lua, aestel/menu.lua, bin/launchprogram.lua: Move user interface to stderr. - Route text user interface output (headers, menus, status lines, escapes) through io.stderr:write and io.stderr:flush. - Reserve stdout for the current working directory on exit feature in navigate.browse, browsefiles.lua, setbackground.lua.


bin/setbackground.lua: Implement TITLE constant, normalize sleep 2.


aestel/menu.lua, aestel/navigate.lua: Move empty-directory handling to menu.lua. - Add width-filling padding to menu.lua empty message. - Remove handle_empty_dir from navigate.lua. - Empty-directory "go up" now updates cwd and redraws header.


aestel/display.lua, aestel/menu.lua, aestel/navigate.lua: Move header rendering to display module. - Add display.write_header(title, cwd) returning lines written. - Add empty_message parameter to menu.menu. - Remove refresh_headers from navigate.lua and use display.write_header.


bin/browsefiles.lua: Refactor for consistency with scripts/modules. - Add colors, display, input, TITLE require and constant. - Replace hardcoded title string with TITLE constant. - Add opening, closing, and error status_line messages. - Replace mixed clear-and-position/io.read error handling with status_line/sleep pattern. - Replace loop state variable start_dir with current_dir. - Clean up commented-out and dead code. - Normalize whitespace in function definitions and comments.


bin/launchprogram.lua: Refactor and update launcher script. - Refactor the program launcher to align with the current aestel conventions (display, menu, colors modules) and remove no-longer-used logging machinery. - Remove dead lfs/log() plumbing. - Replace print() output with display.status_line() using colors.REVERSE, matching the pattern in setbackground.lua. Collapse the three "Launching / launched / exiting" status lines into two ("Launched X" / "Exiting <TITLE>") for parity with setbackground.lua's message rhythm. - Render the title in colors.BOLD + colors.RESET instead of the previous emoji-prefixed literal, matching the BOLD/title style in navigate.refresh_headers() and the rest of aestel's display conventions. - Convert the programs table to a typed schema: each entry is now { command = "...", type = "app" } instead of a bare string. The type field drives magenta coloring via display.color_for_type(), which is the same mechanism navigate.lua uses for directories (cyan) and files (white). This is the first use of type = "app" in the codebase; new types can be added by extending TYPE_COLORS in display.lua. - Add BINDIR constant into build_list(). - Use absolute paths for st -e commands (e.g., "$HOME/.local/bin/setbackground") rather than relying on PATH lookup. The launcher is invoked from interactive contexts where st's PATH may not include ~/.local/bin, causing user-installed scripts to silently fail to launch (exit status 1, no error visible). System binaries do not need this treatment. - Introduce a module-level TITLE constant so the launcher name lives in one place. Both the header and the "Exiting ..." status line read from TITLE, eliminating drift if the launcher is renamed. - Update requires to the renamed aestel.menu module (formerly aestel.ui) and add requires for aestel.colors and aestel.display, which the new status_line and color_for_type calls need. - Drop redundant comments that restated the code. - Add blank lines between logical sections inside build_list() and launch_program() to match the visual rhythm used in aestel/menu.lua and aestel/navigate.lua.


aestel/navigate.lua: Correct type ui.menu to menu.menu.


aestel/navigate.lua, bin/setbackground.lua: Fix typo in aestel.menu requires.


aestel/navigate.lua: Edit requires for new module name aestel.menu.


bin/setbackground.lua: Update module name, sleep call. - Update to module name change ui.lua to menu.lua. - Update sleep call from sleep 2 to sleep 3.


Makefile: Edit to reflect ui.lua renamed to menu.lua.