Skip to content

Commit 2d4a3ce

Browse files
committed
Update progress bar gradient and add dynamic terminal tab title
1 parent 92e712c commit 2d4a3ce

File tree

2 files changed

+20
-6
lines changed

2 files changed

+20
-6
lines changed

src/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ func main() {
6666
m := model{
6767
queue: queue,
6868
client: &client,
69-
progress: progress.New(progress.WithGradient("#7300ab", "#0087ff")),
69+
progress: progress.New(progress.WithGradient("#EE9480", "#0B132B")),
7070
streamer: streamer,
7171
ctrl: ctrl,
7272
volume: volume,

src/ui.go

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,19 @@ func (m *model) updateVolume() {
209209
speaker.Unlock()
210210
}
211211

212+
func (m *model) updateTitle() tea.Cmd {
213+
if m.video == nil {
214+
return tea.SetWindowTitle("YAP - Loading...")
215+
}
216+
status := "PLAYING"
217+
if m.loading {
218+
status = "BUFFERING"
219+
} else if m.paused {
220+
status = "PAUSED"
221+
}
222+
return tea.SetWindowTitle(fmt.Sprintf("YAP - %s [%s]", status, m.video.Title))
223+
}
224+
212225
func (m *model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
213226
switch msg := msg.(type) {
214227
case videoLoadedMsg:
@@ -223,12 +236,13 @@ func (m *model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
223236
return m, tea.Batch(
224237
m.startPlayback(0),
225238
m.fetchLyricsCmd(msg.video, msg.url),
239+
m.updateTitle(),
226240
)
227241

228242
case playbackStartedMsg:
229243
m.currTime = msg.startTime
230244
m.loading = false
231-
return m, nil
245+
return m, m.updateTitle()
232246

233247
case lyricsMsg:
234248
if msg.url != m.queue[m.currentIndex].URL {
@@ -258,7 +272,7 @@ func (m *model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
258272
speaker.Lock()
259273
m.ctrl.Paused = m.paused
260274
speaker.Unlock()
261-
return m, nil
275+
return m, m.updateTitle()
262276
case "n":
263277
return m, m.nextVideo()
264278
case "p":
@@ -285,7 +299,7 @@ func (m *model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
285299
rand.Shuffle(len(m.queue), func(i, j int) {
286300
m.queue[i], m.queue[j] = m.queue[j], m.queue[i]
287301
})
288-
return m, m.gotoTrack(0)
302+
return m, tea.Batch(m.gotoTrack(0), m.updateTitle())
289303
case "v":
290304
m.showPlaylist = !m.showPlaylist
291305
if m.showPlaylist {
@@ -310,7 +324,7 @@ func (m *model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
310324
}
311325
case "enter":
312326
if m.showPlaylist {
313-
return m, m.gotoTrack(m.playlistCursor)
327+
return m, tea.Batch(m.gotoTrack(m.playlistCursor), m.updateTitle())
314328
}
315329
case "m":
316330
if m.volLevel > 0 {
@@ -558,4 +572,4 @@ func formatDuration(d time.Duration) string {
558572
return fmt.Sprintf("%02d:%02d:%02d", h, m, s)
559573
}
560574
return fmt.Sprintf("%02d:%02d", m, s)
561-
}
575+
}

0 commit comments

Comments
 (0)