Generate configs on first run automatically

This commit is contained in:
Salt 2019-05-21 18:42:21 -05:00
parent 81e1dadb71
commit 0eddc8920e
2 changed files with 6 additions and 7 deletions

View File

@ -8,20 +8,16 @@
Execute `firestarter` as your `.xinitrc`, either by replacing the file or by `exec`ing it after performing your own basic setup.
## Quickstart
Install as instructed per [Installation](#installation). Then, before starting the session, run Firestarter with the `-g` flag to produce default configs in `~/.config/firestarter`. These default configuration files can start most sessions, but can be edited to contain alternatives if desired.
## Configuration
When invoked with `firestarter -g`, Firestarter will generate a series of configuration files in `~/.config/firestarter`. These files consist of several lines that look like the following:
On first run and when invoked with `firestarter -g`, Firestarter will generate a series of configuration files in `~/.config/firestarter`. These files consist of several lines that look somewhat like the following:
command -v i3
i3
Every odd line is a command that must succeed in order for the following even line to be executed. Once an even command is executed, parsing stops. When Firestarter is invoked with no arguments, every configuration file is parsed this way.
If you would like to prevent all later alternatives from being parsed, simply set `:` or similar as an execution line. As an example, the following configuration file will only attempt to start a bar in an X environment:
By setting a dummy execution line, one can effectively prevent an entire configuration file from being parsed in certain environments. As an example, the following configuration file will only attempt to start an X infobar in an X environment:
[ -z "$DISPLAY" ]
:

View File

@ -266,7 +266,10 @@ step_execute() {
fi
for file in "$g_configdir"/*; do
if ! [ -f "$file" ]; then
err "No configuration files found; please run \"$0 -g\"" 54
log "No configuration files found; generating defaults"
step_generate
step_execute
break
fi
filename="$(basename -- "$file")"
logfile="$g_logdir/$filename"