42 lines
1.6 KiB
Bash
42 lines
1.6 KiB
Bash
#
|
|
# GNU Screen
|
|
#
|
|
# GNU Screen is a full-screen window manager that multiplexes a physical terminal
|
|
# between several processes, typically interactive shells.
|
|
# Link: https://www.gnu.org/software/screen/
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# Configuration
|
|
# ------------------------------------------------------------------------------
|
|
|
|
SPACESHIP_GNU_SCREEN_SHOW="${SPACESHIP_GNU_SCREEN_SHOW=true}"
|
|
SPACESHIP_GNU_SCREEN_ASYNC="${SPACESHIP_GNU_SCREEN_SHOW=false}"
|
|
SPACESHIP_GNU_SCREEN_PREFIX="${SPACESHIP_GNU_SCREEN_PREFIX="$SPACESHIP_PROMPT_DEFAULT_PREFIX"}"
|
|
SPACESHIP_GNU_SCREEN_SUFFIX="${SPACESHIP_GNU_SCREEN_SUFFIX="$SPACESHIP_PROMPT_DEFAULT_SUFFIX"}"
|
|
SPACESHIP_GNU_SCREEN_SYMBOL="${SPACESHIP_GNU_SCREEN_SYMBOL="💻 "}"
|
|
SPACESHIP_GNU_SCREEN_COLOR="${SPACESHIP_GNU_SCREEN_COLOR="yellow"}"
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# Section
|
|
# ------------------------------------------------------------------------------
|
|
|
|
# Show screen name if is in an attached session
|
|
spaceship_gnu_screen() {
|
|
[[ $SPACESHIP_GNU_SCREEN_SHOW == false ]] && return
|
|
|
|
spaceship::exists screen || return
|
|
|
|
# Show screen section only when it is attached in a session
|
|
[[ "$STY" =~ ^"[0-9]+\." ]] || return
|
|
|
|
# STY could not be empty because regex match
|
|
local screen_session="$STY"
|
|
|
|
spaceship::section \
|
|
--color "$SPACESHIP_GNU_SCREEN_COLOR" \
|
|
--prefix "$SPACESHIP_GNU_SCREEN_PREFIX" \
|
|
--suffix "$SPACESHIP_GNU_SCREEN_SUFFIX" \
|
|
--symbol "$SPACESHIP_GNU_SCREEN_SYMBOL" \
|
|
"$screen_session"
|
|
}
|