-
-
Notifications
You must be signed in to change notification settings - Fork 110
Expand file tree
/
Copy pathconfig.example.yml
More file actions
117 lines (109 loc) · 4.43 KB
/
Copy pathconfig.example.yml
File metadata and controls
117 lines (109 loc) · 4.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# Example spotatui config.yml. Every field is optional — omit anything to keep
# the built-in default. A typo in any of these fields logs a warning and falls
# back to the default; it never prevents the app from starting.
# Full reference: docs/configuration.md
behavior:
# --- Timing / behavior constants ---
status_message_ttl_percent: 100 # 10..=1000; 200 = status messages last twice as long
playback_poll_seconds: 5 # min 1; playback-state poll interval
table_scroll_padding: 5 # rows kept visible below the selection while scrolling
like_animation_frames: 10 # min 1; length of the heart burst when liking a track
# --- Startup ---
# home | recently_played | podcasts | discover | artists | album_list
startup_route: home
# --- Default sorting ("<field>" or "<field>:desc") ---
# playlist_tracks: default | name | date_added | artist | album | duration
# saved_albums: default | name | date_added | artist
# saved_artists: default | name
# recently_played: default | name | artist | album
default_sort_playlist_tracks: default
default_sort_saved_albums: default
default_sort_saved_artists: default
default_sort_recently_played: default
# --- Layout ---
sidebar_position: left # left | right | hidden (auto-reveals when focused)
playbar_position: bottom # bottom | top
small_terminal_width: 150 # wide-layout breakpoint (columns)
small_terminal_height: 45 # margin breakpoint (rows)
# --- Icons ---
# Fixed-cell icons (playing/gauge/episode/sort) must be exactly one terminal
# column wide; invalid glyphs fall back to the defaults with a warning.
# Note: some glyphs below (e.g. ↑ ↓ ● ▶) are Unicode "East Asian Ambiguous"
# width — terminals configured to render ambiguous-width characters as wide
# (common with CJK locales) draw them 2 cells wide, which shifts column
# alignment. If that happens, set your terminal's ambiguous width to
# "narrow" or pick unambiguous glyphs.
liked_icon: "♥"
shuffle_icon: "🔀"
playing_icon: "▶"
paused_icon: "⏸"
gauge_filled_icon: "⣿"
gauge_unfilled_icon: "⣉"
active_source_icon: "●"
episode_played_icon: "✔"
sort_ascending_icon: "↑"
sort_descending_icon: "↓"
list_highlight_icon: "▶"
# --- Playbar button labels (config-only) ---
# All keys optional; omit (or set "") to keep a button's built-in label.
# Mouse hitboxes resize to fit automatically.
# playbar_control_labels:
# prev: "⏮"
# play_pause: "[PLAY/PAUSE]"
# next: "⏭"
# shuffle: "shfl"
# repeat: "rpt"
# like: "♥+"
# vol_down: "vol-"
# vol_up: "vol+"
# --- Status line & window title templates (config-only) ---
# {key} placeholders, {{ / }} for literal braces. Unknown keys fall back to
# the default template with a warning listing the valid keys.
# playbar keys: state, device, source, queue, shuffle, repeat, volume, party
# window_title keys: title, artist ({artist} includes its own " — " separator
# and renders empty when unknown)
# In playbar_status_source only, {shuffle} and {repeat} carry their own
# " | Label: value" prefix and render empty for sources without those controls
# (internet radio, native queue slots), so their labels never show up blank.
format:
playbar_status: "{state} ({device} | Shuffle: {shuffle} | Repeat: {repeat} | Volume: {volume}%){party}"
playbar_status_source: "{state} ({source}{queue}{shuffle}{repeat} | Volume: {volume}%)"
window_title: "{title}{artist}"
# --- Table columns (config-only) ---
# Reorder, remove, rename (header:) and resize (width_percent: or width:, not
# both, no zeros, percents may not sum past 100). Omit a table for defaults.
# Valid ids:
# songs / album_tracks / recently_played: liked, index, title, artist, album, length
# albums: title, artist, date, liked
# podcasts: title, publisher
# episodes: played, date, title, duration
tables:
songs:
- { id: liked }
- { id: title, width_percent: 40 }
- { id: artist, header: "Band", width_percent: 30 }
- { id: album }
- { id: length }
album_tracks:
- { id: liked }
- { id: index }
- { id: title }
- { id: artist }
- { id: length }
albums:
- { id: title }
- { id: artist }
- { id: date }
podcasts:
- { id: title }
- { id: publisher }
episodes:
- { id: played }
- { id: date }
- { id: title }
- { id: duration }
recently_played:
- { id: liked }
- { id: title }
- { id: artist }
- { id: length }