@c -*- texinfo -*-

@chapter Style Options

In this category you'll find various options regarding the prompt style and colors.

@float Figure,fig:screenshot_style_1
@center @image{screenshots/bashstyle-ng_style_1,,, BashStyle-NG Style Settings part 1, png}
@caption{Style Settings}
@end float

@float Figure,fig:screenshot_style_2
@center @image{screenshots/bashstyle-ng_style_2,,, BashStyle-NG Style Settings part 2, png}
@caption{Style Settings (continuation)}
@end float

@heading Basic

@defvr {Setting} use_bashstyle Use @b{BashStyle-NG}
This is the master switch that will let @b{BashStyle-NG} modify your prompts
according to your choices in the Style and Advanced Options. Other categories
have their own master switches and work independently.
@end defvr

@defvr {Setting} enable_colors Colored Prompts
If active the user will be presented with fancy colorful prompts, else the they
will be monochrome. For terminals that can handle 256 (or more) colors a variety
of different shades of blue, green, red and more are pre-defined and used. If on
a terminal that can't handle those (eg. the Linux console) those shades are set
to their base color (so all shades of blue become the default blue and so on),
thus ensuring full compatibility with all terminals.
@end defvr

@defvr {Setting} Colors
BashStyle-NG provides the following color definitons

    @itemize @bullet
    @item black
    @item red
    @item green
    @item yellow
    @item blue
    @item magenta
    @item cyan
    @item white
    @end itemize

for all terminals. The following color definitions are only available on
terminals that support 256 (or more) colors, else they are definied to the
closest match from the above list.

    @itemize @bullet
    @item coldblue
    @item smoothblue
    @item iceblue
    @item turqoise
    @item smoothgreen
    @item winered
    @item brown
    @item silver
    @item ocher
    @item orange
    @item purple
    @item pink
    @item cream
    @end itemize

For prompt parts the following variables are declared that contain one of the
color definitions for easier re-coloring of the prompts

    @itemize @bullet
    @item color_user
    @item color_host
    @item color_date
    @item color_time
    @item color_wdir
    @item color_font
    @item color_separator
    @item color_uptime
    @item color_ps
    @item color_ps2
    @item color_ps3
    @item color_ps4
    @end itemize

All of the above definitions are available in @code{echo -e} friendly varaints
with a prepended @code{e}, for example @var{ewhite} or @var{eiceblue}. For
@var{LS_COLORS} compatibility they are prepended with a @code{l}, for example
@var{lred} or @var{lorange}.
@end defvr

@defvr {Setting} dark_terminal Dark Terminal Background
If this is enabled @code{black}/@code{eblack} will turn white, so the text stays
visible, if this is disabled then @code{white}/@code{ewhite} will black instead.
@end defvr

@heading Colors

@defvr {Setting} colorshell Randomly colored text
The user input at the prompt will be colored with a random color after every
prompt reload.
@end defvr

@defvr {Setting} colorshell_reset Normal text color for output
The @code{Randomly colored text} option will not reset the color before any
command's output is display. This can be achieved by activating this option.
@end defvr

@defvr {Setting} color_style Choose Color Style
Bash is capable of drawing the colors in different ways

    @itemize @bullet
    @item Normal
    @item Bright (equals to bold)
    @item Dimmed
    @item Inverted
    @item Underlined
    @end itemize

Your choice here effects a all prompt styles and most scripts provided by
BashStyle-NG.
@end defvr

@defvr {Setting} color_font Color for Text
This sets the color for the for text (ignored if random colored text is enabled)
@end defvr

@defvr {Setting} color_date Color for Date
This sets the color for the date in prompts.
@end defvr

@defvr {Setting} color_time Color for Time
This sets the color for the time in prompts.
@end defvr

@defvr {Setting} color_user Color for Username
This sets the color for the username in prompts.
@end defvr

@defvr {Setting} color_host Color for Hostname
This sets the color for the hostname in prompts.
@end defvr

@defvr {Setting} color_wdir Color for Workdir
This sets the color for the current directory in prompts.
@end defvr

@defvr {Setting} color_uptime Color for Uptime
This sets the color for the machine's uptime in prompts.
@end defvr

@defvr {Setting} color_separator Color for Separators
This sets the color for prompt parts that separate the other prompt parts from
each other.
@end defvr

@defvr {Setting} color_ps Color for Misc. Elements
This sets the color for misc. prompt parts, like external command output.
@end defvr

@defvr {Setting} color_ps0 Color for PS0
This sets the color for the PS0 sub prompt.
@end defvr

@defvr {Setting} color_ps2 Color for PS2
This sets the color for the PS2 sub prompt.
@end defvr

@defvr {Setting} color_ps3 Color for PS3
This sets the color for the PS3 sub prompt.
@end defvr

@defvr {Setting} color_ps4 Color for PS4
This sets the color for the PS4 sub prompt.
@end defvr

@heading Style

@defvr {Setting} prompt_style Choose Promptstyle
This sets the prompt style for @code{PS1}, one of
    @itemize @bullet

    @item Separator
    @item Vector
    @item Floating Clock
    @item Equinox
    @item Elite
    @item Poweruser
    @item Dirks
    @item Dot.Prompt
    @item Sepa-NG
    @item Quirk
    @item Sputnik
    @item Ayoli
    @item None
    @end itemize

Use @code{None} if you want to leave @code{PROMPT_COMMAND} and @code{PS1} unset,
eg.: when using something else, like Liquid Prompt to create the prompt.
@end defvr

@defvr {Setting} random_style Use random style
This sets a random prompt style for @code{PS1} from the list of available styles
on each new Bash session.
@end defvr

@defvr {Setting} colored_ls Colored ls output
The @code{ls} command allows for colored output according to the @var{LS_COLORS}
environment variable. Activating this will colorify ls output, respectively
enforcing it to be monochrome. Overrides operating system default.
@end defvr

@defvr {Setting} ps0 PS0
The character(s) to use to indicate @code{PS0} (displayed by interactive shells
after reading a command and before the command is executed).
@end defvr

@defvr {Setting} ps2 PS2
The character(s) to use to indicate @code{PS2} (continuation prompt).
@end defvr

@defvr {Setting} ps3 PS3
The character(s) to use to indicate @code{PS3} (prompt for @code{select} command).
@end defvr

@defvr {Setting} ps4 PS4
The character(s) to use to indicate @code{PS4} (execution trace prompt).
@end defvr

@defvr {Setting} separator Separator
The character(s) used in several prompt styles to separate different prompt parts.
@end defvr

@defvr {Setting} pwdcut PWD cut char
The character(s) used to indicate that the current working directory has been
truncated due it's length in the @code{PS1} prompt.
@end defvr

@defvr {Setting} pwd_len Maximum PWD length
The maximum length of the current working directory before it gets truncated to
it's length in the @code{PS1} prompt. Applies to both prompt styles and the
@code{truncpwd} Bash script.
@end defvr

@heading Separator

The following settings only apply to the @var{Separator} prompt style.

@defvr {Setting} files_amount Display number of files
Display number of visible files in the current working directory in the prompt.
@end defvr

@defvr {Setting} uptime Display uptime
Display the machine's uptime in the prompt.
@end defvr

@defvr {Setting} files_size Display size of files
Display the size of visible files in the current working directory in the prompt.
@end defvr

@defvr {Setting} tty Display number of the tty
Display the terminal device in the prompt (prettified).
@end defvr

@defvr {Setting} processes Display number of running jobs
Display the number of running jobs in the prompt.
@end defvr

@defvr {Setting} load Display system load
Display load average for the last five minutes in the prompt.
@end defvr

@defvr {Setting} battery_load Display battery load
Display the battery load status using @code{ACPI} in the prompt.
@end defvr

@defvr {Setting} mem Display Memory
Display the RAM status, either
    @itemize @bullet

    @item Free Memory
    @item Used Memory
    @item Both
    @end itemize

in the prompt.
@end defvr

@heading Equinox

The following settings only apply to the @var{Equinox} prompt style.

@defvr {Setting} equinox_systemload Display system load
Display load average for the last five minutes in the prompt.
@end defvr

@defvr {Setting} equinox_cpuload Display CPU load
Display current CPU load in the prompt.
@end defvr

@defvr {Setting} equinox_proc Display number of running jobs
Display the number of running jobs in the prompt.
@end defvr

@defvr {Setting} equinox_ram Display Memory
Display the RAM status (free and used) in the prompt.
@end defvr

@defvr {Setting} equinox_lastcmd Display last command
Display last run command and whether it was executed succesful or not in the prompt.
@end defvr

@defvr {Setting} equinox_uptime Display uptime
Display the machine's uptime i
@end defvr

@defvr {Setting} equinox_git Display git repo information uptime
Displays the branch, revision and action of a git repository, if the current
directory is the root directory of a git repositor.
@end defvr
