theme updates

This commit is contained in:
2025-10-08 15:47:18 +02:00
parent 2e919d6702
commit dcc50fa9f2
6 changed files with 319 additions and 281 deletions

View File

@@ -1,117 +0,0 @@
# Simple black-and-white theme
# Pointers
# ========
# Sign that indicates the existence of audio files
FORMAT_LOCAL="|>"
# Pointer to the track currently playing (playlist)
FORMAT_CURRENT="->"
# Input prompt
# =============
# Search prompt
SEARCH_PROMPT="search> "
# Headers
# =======
# Header that displays artist's name
HEADER_ARTIST="%s > "
# Header that displays the release-group name after artist's
HEADER_ARTIST_RELEASEGROUP="%s > %s > "
# Header that in addition to `HEADER_ARTIST_RELEASEGROUP` also shows some
# release information
HEADER_RELEASE="%s > %s > %s"
# The release information is formatted as follows (placeholders implicit):
HEADER_RELEASE_FORMAT="<<tracks>> tx <<media>> | <<label>> <<country>> <<year>>"
# Artist view
# ===========
# Artist string for persons
AV_PERSON="<<name>>"
# Artist string for groups
AV_GROUP="<<name>>"
# Artist disambiguation string
AV_DISAMBIGUATION=" (<<disambiguation>>)"
# Release-group view
# ==================
# Default release group string
RGV_RELEASE="<<title>>"
# Release group string if the artist name differs from the current artist
RGV_RELEASE_W_ARTIST="<<title>> by <<artist>>"
# Year of the release group
RGV_YEAR="[<<year>>]"
# Release-group types
# ===================
# Album
FORMAT_TYPE_ALBUM="[LP]"
# EP
FORMAT_TYPE_EP="[EP]"
# Single
FORMAT_TYPE_SINGLE="[single]"
# Broadcast
FORMAT_TYPE_BROADCAST="[broadcast]"
# Other
FORMAT_TYPE_OTHER="[other]"
# Flag to indicate that the given release group has associated secondary types.
FORMAT_TYPE_HAS_SECONDARY="%s xx"
# Style to represent secondary types (takes one %s placeholder)
FORMAT_TYPE_SECONDARY="(%s)"
# Secondary types
FORMAT_TYPE_SECONDARY_COMPILATION="compilation"
FORMAT_TYPE_SECONDARY_SOUNDTRACK="OST"
FORMAT_TYPE_SECONDARY_SPOKENWORD="spokenword"
FORMAT_TYPE_SECONDARY_INTERVIEW="interview"
FORMAT_TYPE_SECONDARY_AUDIOBOOK="book"
FORMAT_TYPE_SECONDARY_AUDIODRAMA="drama"
FORMAT_TYPE_SECONDARY_LIVE="live"
FORMAT_TYPE_SECONDARY_REMIX="remix"
FORMAT_TYPE_SECONDARY_DJMIX="DJ"
FORMAT_TYPE_SECONDARY_MIXTAPE="mixtape"
FORMAT_TYPE_SECONDARY_DEMO="demo"
FORMAT_TYPE_SECONDARY_FIELDREC="field rec"
# Artist Preview
# ==============
# Main preview format. Takes two %s placeholder. The first is for the artist
# biography. The second for the life span.
APV_FORMAT="\n\n%s\n\n%s"
# Specification of a date
APV_DATE="%s"
# Specification of a place
APV_PLACE="%s"
# Specification of a date and a place (in that order)
APV_DATEPLACE="%s in %s"
# String to represent when/where a person is born
APV_BORN="Born: %s"
# String to represent when/where a person died
APV_DIED="Died: %s"
# Release view
# ============
# Format of a string that represents a release.
RV_FORMAT="<<status>>\t<<tracks>> tracks\t<<media>>\t<<year>>\t<<country>>\t<<label>>"
# Additional string to display the release title and artist name
RV_TITLE_ARTIST="<<artist>> - <<title>>"
# Additional string to display the release title
RV_TITLE="<<title>>"
# Additional string to display the artist
RV_ARTIST="<<artist>>"
# Release Status
# ==============
FORMAT_STATUS_OFFICIAL="official"
FORMAT_STATUS_PROMO="promo"
FORMAT_STATUS_BOOTLEG="bootleg"
FORMAT_STATUS_PSEUDO="psuedo"
FORMAT_STATUS_WITHDRAWN="withdrawn"
FORMAT_STATUS_EXPUNGED="expunged"
FORMAT_STATUS_CANCELLED="cancelled"
# Recording view
# ==============
# Format of a track in a release
REC_FORMAT="<<med>>\t<<nr>>\t<<title>>\t<<artist>>\t<<duration>>"
# Format of a track in the playlist
REC_FORMAT_NO_NUMBER="<<title>>\t<<artist>>\t<<duration>>"

90
share/theme/lite.sh Normal file
View File

@@ -0,0 +1,90 @@
# Colors (internal only)
ESC=$(printf '\033')
CARTIST="${ESC}[38;5;209m"
CYEAR="${ESC}[38;5;179m"
RED="${ESC}[31m"
GREEN="${ESC}[32m"
YELLOW="${ESC}[33m"
OFF="${ESC}[m"
# Pointers
# ========
# Sign that indicates the existence of audio files
FORMAT_LOCAL="${YELLOW}|>${OFF}"
# Input prompt
# =============
# General search prompt (for now only used when choosing one-of-many artist)
SEARCH_PROMPT="search> "
# General workings of format strings
#
# A format string (_FMT) contains placeholders, e.g., <<name>>. These
# placeholders are filled with the relevant information. A placeholder may
# occur zero times, once, or more than once. There are two types of
# placeholders: strings and items. A placeholder of type string comes with a
# variable containing a `printf` expression (_FMT_placeholder). This `printf`
# expression may be used to additionally modify the string passed. If the
# string passed is empty, then each corresponding placeholder is replaced
# with the empty string, i.e., the `printf` expression is bypassed. A
# placeholder of the alternative type (item) comes with a series of variables
# that encode constants to be used (_FMT_placeholder_XYZ).
#
# The items in the format string may be separated with "\t". This will induce
# a proper representation (using `column`). By default, all fields but the
# first are left aligned, and the first field is right aligned. This can be
# changed by setting the appropriate FMT_RIGHTALIGN variable. If that
# variable is empty, then the first field is right aligned. This means that
# at least one field must be right aligned.
#
# Artist view
# ===========
# <<flag>> item Indication for locally available audio files
# <<type>> item Indicator for single-person artist or group
# <<name>> string Artist name
# <<disambiguation>> string Disambiguation string
#
AV_FMT_TYPE_PERSON="${RED}P${OFF}"
AV_FMT_TYPE_GROUP="${RED}G${OFF}"
AV_FMT_NAME="${GREEN}%s${OFF}"
AV_FMT_DISAMBIGUATION="(%s)"
# Release-group view
# ==================
# <<flag>> item Indication for locally available audio files
# <<type>> item Indicates the type
# <<hassecondary>> item Indicates if there is some secondary type or none
# <<secondary>> string List of secondary types
# <<title>> string Title of album
# <<artist>> string Artist of album
# <<year>> string Year of initial release
# Note: The above <<secondary>> is of a joint item-string type. See code for
# details.
RGV_FMT="<<flag>>\t<<year>>\t<<title>>\t<<artist>>"
RGV_FMT_ARTIST="${CARTIST}%s${OFF}"
RGV_FMT_YEAR="${CYEAR}%s${OFF}"
# Release view
# ============
# <<flag>> item Indication for locally available audio files
# <<status>> item Release status
# <<tracks>> string Total number of track
# <<media>> string Media description
# <<year>> string Release year
# <<country>> string Release country
# <<label>> string Release label
# <<title>> string Optional titel string
# <<artist>> string Optional artist string
RV_FMT="<<flag>>\t<<year>>\t<<tracks>>\t<<media>>\t<<country>>\t<<label>>"
# Headers
# =======
# These header strings are based on the respective view and its fields
# defined above.
#
# Header that displays artist's name (based on artist view)
HEADER_ARTIST_FMT="\t<<name>>"
# Header that displays the release-group (based on release-group view)
HEADER_RG_FMT="\t<<artist>> / <<title>>"
# Header that displays the release (based on release view)
HEADER_R_FMT="\t<<artist>> / <<title>> / <<tracks>> tx <<media>>"

186
share/theme/plain.sh Normal file
View File

@@ -0,0 +1,186 @@
# Pointers
# ========
# Sign that indicates the existence of audio files
FORMAT_LOCAL="|>"
# Input prompt
# =============
# General search prompt (for now only used when choosing one-of-many artist)
SEARCH_PROMPT="search> "
# General workings of format strings
#
# A format string (_FMT) contains placeholders, e.g., <<name>>. These
# placeholders are filled with the relevant information. A placeholder may
# occur zero times, once, or more than once. There are two types of
# placeholders: strings and items. A placeholder of type string comes with a
# variable containing a `printf` expression (_FMT_placeholder). This `printf`
# expression may be used to additionally modify the string passed. If the
# string passed is empty, then each corresponding placeholder is replaced
# with the empty string, i.e., the `printf` expression is bypassed. A
# placeholder of the alternative type (item) comes with a series of variables
# that encode constants to be used (_FMT_placeholder_XYZ).
#
# The items in the format string may be separated with "\t". This will induce
# a proper representation (using `column`). By default, all fields but the
# first are left aligned, and the first field is right aligned. This can be
# changed by setting the appropriate FMT_RIGHTALIGN variable. If that
# variable is empty, then the first field is right aligned. This means that
# at least one field must be right aligned.
#
# Artist view
# ===========
# <<flag>> item Indication for locally available audio files
# <<type>> item Indicator for single-person artist or group
# <<name>> string Artist name
# <<disambiguation>> string Disambiguation string
#
AV_FMT_TYPE_PERSON="P"
AV_FMT_TYPE_GROUP="G"
AV_FMT_NAME="%s"
AV_FMT_DISAMBIGUATION="(%s)"
# Release-group view
# ==================
# <<flag>> item Indication for locally available audio files
# <<type>> item Indicates the type
# <<hassecondary>> item Indicates if there is some secondary type or none
# <<secondary>> string List of secondary types
# <<title>> string Title of album
# <<artist>> string Artist of album
# <<year>> string Year of initial release
# Note: The above <<secondary>> is of a joint item-string type. See code for
# details.
RGV_FMT_TYPE_SINGLE="single"
RGV_FMT_TYPE_ALBUM="LP"
RGV_FMT_TYPE_EP="EP"
RGV_FMT_TYPE_BROADCAST="broadcast"
RGV_FMT_TYPE_OTHER="other"
RGV_FMT_HASSECONDARY_YES="xx"
RGV_FMT_SECONDARY="[xx: %s]"
RGV_FMT_SECONDARY_SOUNDTRACK="soundtrack"
RGV_FMT_SECONDARY_SPOKENWORD="spokenword"
RGV_FMT_SECONDARY_INTERVIEW="interview"
RGV_FMT_SECONDARY_AUDIOBOOK="audiobook"
RGV_FMT_SECONDARY_AUDIODRAMA="audio drama"
RGV_FMT_SECONDARY_LIVE="live"
RGV_FMT_SECONDARY_REMIX="remix"
RGV_FMT_SECONDARY_DJMIX="DJ-mix"
RGV_FMT_SECONDARY_MIXTAPE="mixtape"
RGV_FMT_SECONDARY_DEMO="demo"
RGV_FMT_SECONDARY_FIELDREC="field recording"
RGV_FMT_TITLE="%s"
RGV_FMT_ARTIST=" - %s"
RGV_FMT_YEAR="(%s)"
# Release view
# ============
# <<flag>> item Indication for locally available audio files
# <<status>> item Release status
# <<tracks>> string Total number of track
# <<media>> string Media description
# <<year>> string Release year
# <<country>> string Release country
# <<label>> string Release label
# <<title>> string Optional titel string
# <<artist>> string Optional artist string
RV_FMT="${RV_FMT:-"<<flag>>\t<<status>> >> \t<<tracks>>\t<<media>>\t<<year>>\t<<country>>\t<<label>>\t<<title>> <<artist>>"}"
RV_FMT_STATUS_OFFICIAL="official"
RV_FMT_STATUS_PROMO="promo"
RV_FMT_STATUS_BOOTLEG="bootleg"
RV_FMT_STATUS_PSEUDO="pseudo"
RV_FMT_STATUS_WITHDRAWN="withdrawn"
RV_FMT_STATUS_EXPUNGED="expunged"
RV_FMT_STATUS_CANCELLED="cancelled"
RV_FMT_TRACKS="%s tracks"
RV_FMT_MEDIA="%s"
RV_FMT_YEAR="%s"
RV_FMT_COUNTRY="%s"
RV_FMT_LABEL="%s"
RV_FMT_TITLE="as %s"
RV_FMT_ARTIST="by %s"
# Recording view
# ==============
# <<flag>> item Indication for locally available audio files
# <<media>> string Media identifier
# <<nr>> string Track number within media
# <<title>> string Track title
# <<artist>> string Track artist
# <<duration>> string Track duration
REC_FMT_MEDIA="%s"
REC_FMT_NR="%s"
REC_FMT_TITLE="%s"
REC_FMT_ARTIST="%s"
REC_FMT_DURATION="%s"
# Recording view (playlist)
# =========================
# <<playing>> item Mark for currently playing track
# <<title>> string Track title
# <<artist>> string Track artist
# <<duration>> string Track duration
PLYLST_FMT_PLAYING_YES="-->"
PLYLST_FMT_TITLE="%s"
PLYLST_FMT_ARTIST="%s"
PLYLST_FMT_DURATION="%s"
# Headers
# =======
# These header strings are based on the respective view and its fields
# defined above.
#
# Header that displays artist's name (based on artist view)
HEADER_ARTIST_FMT=":::\t<<name>> >"
# Header that displays the release-group (based on release-group view)
HEADER_RG_FMT=":::\t<<artist>> >> <<title>> >"
HEADER_RG_FMT_ARTIST="%s"
# Header that displays the release (based on release view)
#HEADER_RELEASE="${HEADER_RELEASE:-" ${CARTIST}%s$OFF 》${CTITLE}%s$OFF 〉%s"}"
#HEADER_RELEASE_FORMAT="${HEADER_RELEASE_FORMAT:-"${CRELINFO}<<tracks>> tx <<media>> $OFF|$CRELINFO <<label>> <<country>> <<year>>$OFF"}"
HEADER_R_FMT=":::\t<<artist>> >> <<title>> > <<tracks>> tx <<media>> | <<label>> <<country>> <<year>>"
HEADER_R_FMT_TRACKS="%s"
HEADER_R_FMT_MEDIA="%s"
HEADER_R_FMT_YEAR="%s"
HEADER_R_FMT_COUNTRY="%s"
HEADER_R_FMT_LABEL="%s"
HEADER_R_FMT_TITLE="%s"
HEADER_R_FMT_ARTIST="%s"
# Artist Preview
# ==============
# Lines that contain the pattern defined in PREVIEW_NO_WRAP (see
# `src/sh/preview.sh`) will not be wrapped.
#
# We distinguish between single-person and group artists.
#
# <<name>> | string | Artist name
# <<sortname>> | string | Artist sort name
# <<bio>> | string | Artist biography
# <<disambiguation>> | string | Artist disambiguation string
# <<alias>> | higher-order placeholder | Placeholder for aliases
# <<start> | higher-order placeholder | Placeholder for start string
# <<end>> | higher-order placeholder | Placeholder for end string
# <<url>> | higher-order placeholder | Placeholder for links
PREVIEW_ARTIST_PERSON_BIO="%s\n\n"
PREVIEW_ARTIST_PERSON_ALIAS="Also known as %s\n\n"
PREVIEW_ARTIST_PERSON_START="Born: %s\n"
PREVIEW_ARTIST_PERSON_END="Died: %s\n"
PREVIEW_ARTIST_PERSON_URL="\nLinks:\n%s\n"
PREVIEW_ARTIST_PERSON_URL_URLINDEX="%3d"
PREVIEW_ARTIST_PERSON_URL_URLNAME="%s"
PREVIEW_ARTIST_PERSON_URL_URLLINK="%s"
PREVIEW_ARTIST_GROUP_START="Founded: %s\n"
PREVIEW_ARTIST_GROUP_END="Dissolved: %s\n"
# Keybinding themes
# =================
# Format keybinding group
KBF_GROUP="%s"
# Format key
KBF_KEY="%s"
# Format description
KBF_DESC="%s"

View File

@@ -1,118 +0,0 @@
# Simple theme without emojis
# Colors (internal only)
ESC=$(printf '\033')
RED="${ESC}[31m"
GREEN="${ESC}[32m"
YELLOW="${ESC}[33m"
BLUE="${ESC}[34m"
PURPLE="${ESC}[35m"
CYAN="${ESC}[36m"
WHITE="${ESC}[37m"
OFF="${ESC}[m"
# Pointers
# ========
# Sign that indicates the existence of audio files
FORMAT_LOCAL="${BLUE}|>$OFF"
# Pointer to the track currently playing (playlist)
FORMAT_CURRENT="${WHITE}-->$OFF"
# Input prompt
# =============
# Search prompt
SEARCH_PROMPT="search: "
# Headers
# =======
# Header that displays artist's name
HEADER_ARTIST="artist: %s"
# Header that displays the release-group name after artist's
HEADER_ARTIST_RELEASEGROUP="artist: %s / album: %s"
# Header that in addition to `HEADER_ARTIST_RELEASEGROUP` also shows some
# release information
HEADER_RELEASE="artist: %s / album: %s (%s)"
# The release information is formatted as follows (placeholders implicit):
HEADER_RELEASE_FORMAT="<<label>> <<year>>"
# Artist view
# ===========
# Artist string for persons
AV_PERSON="(P) ${CYAN}<<name>>$OFF"
# Artist string for groups
AV_GROUP="(G) ${CYAN}<<name>>$OFF"
# Artist disambiguation string
AV_DISAMBIGUATION="// <<disambiguation>>"
# Release-group view
# ==================
# Default release group string
RGV_RELEASE="${PURPLE}<<title>>$OFF"
# Release group string if the artist name differs from the current artist
RGV_RELEASE_W_ARTIST="${PURPLE}<<title>>$OFF by ${CYAN}<<artist>>$OFF"
# Year of the release group
RGV_YEAR="[<<year>>]"
# Release-group types
# ===================
# Album
FORMAT_TYPE_ALBUM="${YELLOW}LP$OFF"
# EP
FORMAT_TYPE_EP="${YELLOW}EP$OFF"
# Single
FORMAT_TYPE_SINGLE="${YELLOW}Single$OFF"
# Broadcast
FORMAT_TYPE_BROADCAST="${YELLOW}Broadcast$OFF"
# Other
FORMAT_TYPE_OTHER=""
# Flag to indicate that the given release group has associated secondary types.
FORMAT_TYPE_HAS_SECONDARY="%s ${RED}xx${OFF}"
# Style to represent secondary types (takes one %s placeholder)
FORMAT_TYPE_SECONDARY="${RED}(${OFF}%s${RED})${OFF}"
# Secondary types
FORMAT_TYPE_SECONDARY_COMPILATION="${YELLOW}compilation$OFF"
FORMAT_TYPE_SECONDARY_SOUNDTRACK="${YELLOW}soundtrack$OFF"
FORMAT_TYPE_SECONDARY_SPOKENWORD="${YELLOW}spokenword$OFF"
FORMAT_TYPE_SECONDARY_INTERVIEW="${YELLOW}interview$OFF"
FORMAT_TYPE_SECONDARY_AUDIOBOOK="${YELLOW}audiobook$OFF"
FORMAT_TYPE_SECONDARY_AUDIODRAMA="${YELLOW}audio drama$OFF"
FORMAT_TYPE_SECONDARY_LIVE="${YELLOW}live$OFF"
FORMAT_TYPE_SECONDARY_REMIX="${YELLOW}remix$OFF"
FORMAT_TYPE_SECONDARY_DJMIX="${YELLOW}DJ-mix$OFF"
FORMAT_TYPE_SECONDARY_MIXTAPE="${YELLOW}mixtape$OFF"
FORMAT_TYPE_SECONDARY_DEMO="${YELLOW}demo$OFF"
FORMAT_TYPE_SECONDARY_FIELDREC="${YELLOW}field recording$OFF"
# Artist Preview
# ==============
# Main preview format. Takes two %s placeholder. The first is for the artist
# biography. The second for the life span.
APV_FORMAT="\n\nBio:\n%s\n\n${WHITE}%s${OFF}"
# Specification of a date
APV_DATE="%s"
# Specification of a place
APV_PLACE="%s"
# Specification of a date and a place (in that order)
APV_DATEPLACE="%s in %s"
# String to represent when/where a person is born
APV_BORN="Born: %s"
# String to represent when/where a person died
APV_DIED="Died: %s"
# Release view
# ============
# Format of a string that represents a release.
RV_FORMAT="<<media>> (<<tracks>>, yr: <<year>>)\t<<label>>"
# Additional string to display the release title and artist name
RV_TITLE_ARTIST="${CYAN}<<artist>>$OFF - ${PURPLE}<<title>>$OFF"
# Additional string to display the release title
RV_TITLE="${PURPLE}<<title>>$OFF"
# Additional string to display the artist
RV_ARTIST="${CYAN}<<artist>>$OFF"
# Recording view
# ==============
# Format of a track in a release
REC_FORMAT="<<med>>\t${RED}<<nr>>$OFF\t${GREEN}<<title>>$OFF\t${CYAN}<<artist>>$OFF\t${WHITE}<<duration>>$OFF"
# Format of a track in the playlist
REC_FORMAT_NO_NUMBER="${GREEN}<<title>>$OFF\t${CYAN}<<artist>>$OFF\t${WHITE}<<duration>>$OFF"