diff --git a/doc/known-bugs.md b/doc/known-bugs.md index 66cc2b6..63b3c6e 100755 --- a/doc/known-bugs.md +++ b/doc/known-bugs.md @@ -1,3 +1,4 @@ + # Known bugs This document tracks currently known issues and limitations. @@ -24,3 +25,12 @@ This document tracks currently known issues and limitations. Konsole, etc.) to recover the expected Enter→prompt timing behavior. - Use `/usr/bin/time -p ` (or `time `) when accurate timing is needed. - Treat prompt timing as an approximate indicator in this environment. + +--- + +## Rain/Matrix rendering is slow on Windows + +- **Description:** The rain and matrix terminal effects are significantly slower on Windows, especially with high density settings. +- **Cause:** This is due to the way Windows handles terminal display updates, which is inherently less efficient than on Unix-like systems. +- **Status:** Not fixable in Bash; this is a limitation of Windows terminal design. +- **Workaround:** Lower the density parameter for better performance, or use a Unix-like environment for optimal speed. diff --git a/profile.d/compress.sh b/profile.d/compress.sh index 48671a9..f8bd073 100644 --- a/profile.d/compress.sh +++ b/profile.d/compress.sh @@ -555,7 +555,7 @@ taz() printf "Options:\n" printf "\t-h, --help\tDisplay that help screen\n" printf "\t-d, --delete\tDelete source file or directory after success\n" - printf "\t-f, --format\tChose archive format in the given list. If several format are" + printf "\t-f, --format\tChose archive format in the given list. If several format are\n" printf "\t\t\tgiven, the smalest is kept\n" printf "\t-p, --parallel\tNumber of threads, or 'auto' for runtime CPU count\n" printf "\t-v, --verbose\tDisplay progress where possible\n" diff --git a/profile.d/git.sh b/profile.d/git.sh index 8cd6c06..c2685d9 100755 --- a/profile.d/git.sh +++ b/profile.d/git.sh @@ -71,7 +71,7 @@ _git_default_branch() head=$(git symbolic-ref --quiet --short "refs/remotes/${remote}/HEAD" 2>/dev/null) || true if [[ -n $head ]]; then - printf "%s\n" "${head#${remote}/}" + printf "%s\n" "${head#"${remote}"/}" return 0 fi diff --git a/profile.d/prompt.sh b/profile.d/prompt.sh index b9f5d05..789033f 100644 --- a/profile.d/prompt.sh +++ b/profile.d/prompt.sh @@ -185,16 +185,16 @@ set_theme() printf "set_theme: Switch the prompt colour theme for the current shell session.\n\n" printf "Usage: set_theme [options] [theme]\n\n" printf "Options:\n" - printf " -h, --help Display this help screen\n" - printf " -l, --list List available themes (default when no argument is given)\n\n" + printf "\t-h, --help\tDisplay this help screen\n" + printf "\t-l, --list\tList available themes (default when no argument is given)\n\n" printf "Arguments:\n" - printf " theme Bare theme name (e.g. 'dark') or an explicit path to a .theme file.\n" - printf " Themes are searched in: %s\n" "$theme_dir" - printf " Override with PROMPT_THEME_DIR in profile.conf [prompt].\n\n" + printf "\ttheme \tBare theme name (e.g. 'dark') or an explicit path to a .theme file.\n" + printf "\t \tThemes are searched in: %s\n" "$theme_dir" + printf "\t \tOverride with PROMPT_THEME_DIR in profile.conf [prompt].\n\n" printf "Examples:\n" - printf " set_theme — list available themes\n" - printf " set_theme dark — apply the dark theme\n" - printf " set_theme ~/my.theme — apply a theme by path\n" + printf "\tset_theme \t— list available themes\n" + printf "\tset_theme dark \t— apply the dark theme\n" + printf "\tset_theme ~/my.theme\t— apply a theme by path\n" return 0 fi @@ -303,7 +303,7 @@ set_prompt() fi local counts ahead behind - counts=$(git rev-list --left-right --count @{upstream}...HEAD 2>/dev/null) || counts="" + counts=$(git rev-list --left-right --count "@{upstream}...HEAD" 2>/dev/null) || counts="" if [[ "$counts" =~ ^([0-9]+)[[:space:]]+([0-9]+)$ ]]; then behind="${BASH_REMATCH[1]}" ahead="${BASH_REMATCH[2]}" diff --git a/profile.d/rain.sh b/profile.d/rain.sh index d29d7d9..7a3126b 100644 --- a/profile.d/rain.sh +++ b/profile.d/rain.sh @@ -297,12 +297,12 @@ rain() { printf "Usage: rain [OPTIONS]\n" printf "Options:\n" - printf "\t-s, --speed NUM Set speed value (default: 5 => 0.050s).\n" - printf "\t Values >=1 use a /100 scale (5 => 0.05s).\n" - printf "\t Values <1 are interpreted as raw seconds.\n" - printf "\t-d, --density NUM Maximum number of simultaneous falling elements.\n" - printf "\t-c, --color COLOR Set the color theme (default: white).\n" - printf "\t-h, --help Display this help message and exit.\n\n" + printf "\t-s, --speed NUM\tSet speed value (default: 5 => 0.050s).\n" + printf "\t\t\t\tValues >=1 use a /100 scale (5 => 0.05s).\n" + printf "\t\t\t\tValues <1 are interpreted as raw seconds.\n" + printf "\t-d, --density NUM\tMaximum number of simultaneous falling elements.\n" + printf "\t-c, --color COLOR\tSet the color theme (default: white).\n" + printf "\t-h, --help\t\tDisplay this help message and exit.\n\n" printf "Available Colors:\n" printf "\t\e[32mgreen\e[0m\t: Matrix-like green shades\n" printf "\t\e[34mblue\e[0m\t: Deep ocean blue gradients\n" @@ -393,13 +393,13 @@ matrix() { printf "Usage: matrix [OPTIONS]\n" printf "Options:\n" - printf "\t-s, --speed NUM Set speed value (default: 3.5 => 0.035s).\n" - printf "\t Values >=1 use a /100 scale (3.5 => 0.035s).\n" - printf "\t Values <1 are interpreted as raw seconds.\n" - printf "\t-d, --density NUM Maximum number of simultaneous falling elements.\n" - printf "\t-c, --color COLOR Set color theme (default: green).\n" - printf "\t-C, --charset SET Character set: binary, kana, ascii (default: binary).\n" - printf "\t-h, --help Display this help message and exit.\n\n" + printf "\t-s, --speed NUM\tSet speed value (default: 3.5 => 0.035s).\n" + printf "\t\t\t\tValues >=1 use a /100 scale (3.5 => 0.035s).\n" + printf "\t\t\t\tValues <1 are interpreted as raw seconds.\n" + printf "\t-d, --density NUM\tMaximum number of simultaneous falling elements.\n" + printf "\t-c, --color COLOR\tSet color theme (default: green).\n" + printf "\t-C, --charset SET\tCharacter set: binary, kana, ascii (default: binary).\n" + printf "\t-h, --help\t\tDisplay this help message and exit.\n\n" printf "Example: matrix -C kana -c green --speed 2\n" } @@ -492,7 +492,6 @@ matrix() _rain_engine "$step_duration" "$base_color" "matrix" "$charset" "$density_override" } export -f matrix - # ------------------------------------------------------------------------------ load_conf "rain" diff --git a/profile.sh b/profile.sh index 4a8e98a..8d8d12e 100644 --- a/profile.sh +++ b/profile.sh @@ -375,13 +375,13 @@ if [[ $INTERACTIVE ]]; then # Load custom bash completions shopt -s nullglob for _compl in "$MYPATH/profile.d/bash-completion/"*.sh; do + # shellcheck disable=SC1090 # Dynamic sourcing of completion scripts [[ -f "$_compl" && -r "$_compl" ]] && . "$_compl" done unset _compl shopt -u nullglob - # For compiling (as we often compile with LFS/0linux...) - #Aliases + # Aliases load_alias aliases # Define PS1