Generate configs on first run automatically
This commit is contained in:
parent
81e1dadb71
commit
0eddc8920e
@ -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.
|
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
|
## 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
|
command -v i3
|
||||||
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.
|
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" ]
|
[ -z "$DISPLAY" ]
|
||||||
:
|
:
|
||||||
|
@ -266,7 +266,10 @@ step_execute() {
|
|||||||
fi
|
fi
|
||||||
for file in "$g_configdir"/*; do
|
for file in "$g_configdir"/*; do
|
||||||
if ! [ -f "$file" ]; then
|
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
|
fi
|
||||||
filename="$(basename -- "$file")"
|
filename="$(basename -- "$file")"
|
||||||
logfile="$g_logdir/$filename"
|
logfile="$g_logdir/$filename"
|
||||||
|
Loading…
Reference in New Issue
Block a user