abs3nt
779cb517c9
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [github.com/charmbracelet/bubbles](https://github.com/charmbracelet/bubbles) | require | minor | `v0.18.0` -> `v0.19.0` | --- ### Release Notes <details> <summary>charmbracelet/bubbles (github.com/charmbracelet/bubbles)</summary> ### [`v0.19.0`](https://github.com/charmbracelet/bubbles/releases/tag/v0.19.0) [Compare Source](https://github.com/charmbracelet/bubbles/compare/v0.18.0...v0.19.0) ### Bugs? Squashed (along with a few nice lil’ features). Community-Driven Development?! Yep, the majority of the changes in this release were done by the community. *Thank you* all for your contributions that made this release possible. #### Progress: custom chars You can now customize the filled and empty characters of the progress bar. ```go p := progress.New(progress.WithFillCharacters('>', '.')) ``` ![progress bar example](https://github.com/user-attachments/assets/ee1a1351-ebee-4f39-8543-af464e60b099) #### Table improvements ##### Help is on the way Table now includes a short and full help view so it's easier than ever to tell your users how to interact with the table. ```go // Render a table with its help. t := table.New() view := t.View() + "\n" + t.HelpView() ``` <img src="https://github.com/user-attachments/assets/22195043-5578-4201-982d-a8f9b7eefc5f" width="600"> ##### Accessing columns You can also now get the table's columns (this already existed for rows). ```go package table // Columns returns the current columns. func (m Model) Columns() []Column ``` #### List: page navigation is fixed! Previously, `list.NextPage()` and `list.PrevPage()` didn't work because the methods did not have pointer receivers. We've fixed this…by making them pointer receivers! ⚠️ Note that this is a minor API change and you *might* need to update your app to pass a pointer receiver to your model rather than a copy. Details in [#​458](https://github.com/charmbracelet/bubbles/issues/458). ```go package progress // NextPage moves to the next page, if available. func (m *Model) NextPage() // PrevPage moves to the previous page, if available. func (m *Model) PrevPage() ``` *** #### What’s Changed ##### Changed - Textarea: Improve setting width by [@​mikelorant](https://github.com/mikelorant) in https://github.com/charmbracelet/bubbles/pull/496 - Textinput: fix out of range panic if no matched suggestions by [@​rdnt](https://github.com/rdnt) in https://github.com/charmbracelet/bubbles/pull/473 - List: Fix no-op list pagination functions by [@​nekopy](https://github.com/nekopy) in https://github.com/charmbracelet/bubbles/pull/458 - Table: Clarify position constant in JoinHorizontal by [@​aditipatelpro](https://github.com/aditipatelpro) in https://github.com/charmbracelet/bubbles/pull/577 - Progress: make full/empty fill characters configurable by [@​rwinkhart](https://github.com/rwinkhart) in https://github.com/charmbracelet/bubbles/pull/409 - Dependencies: switch to x/ansi for text manipulation by [@​aymanbagabas](https://github.com/aymanbagabas) in https://github.com/charmbracelet/bubbles/pull/505 ##### Added - Textarea: add help to textarea key bindings by [@​TravisYeah](https://github.com/TravisYeah) in https://github.com/charmbracelet/bubbles/pull/418 - Textarea: Add multiline placeholder by [@​mikelorant](https://github.com/mikelorant) in https://github.com/charmbracelet/bubbles/pull/302 - Table: Add column return function by [@​abeleinin](https://github.com/abeleinin) in https://github.com/charmbracelet/bubbles/pull/369 - Table: Implement help.Keymap interface and add quit mapping by [@​prgres](https://github.com/prgres) in https://github.com/charmbracelet/bubbles/pull/440 - Ctrl+Left/Right for WordForward/Backward by [@​maaslalani](https://github.com/maaslalani) in https://github.com/charmbracelet/bubbles/pull/387 - Use goreleaser for releases by [@​aymanbagabas](https://github.com/aymanbagabas) in https://github.com/charmbracelet/bubbles/pull/526 ##### Fixed - Table: Render Row Tests by [@​maaslalani](https://github.com/maaslalani) in https://github.com/charmbracelet/bubbles/pull/487 - Table: Only render columns with a positive width by [@​fabio42](https://github.com/fabio42) in https://github.com/charmbracelet/bubbles/pull/465 - Table: Fix inheritence of SelectedStyle in StyleFunc by [@​gabrielfu](https://github.com/gabrielfu) in https://github.com/charmbracelet/bubbles/pull/539 - Table: Don't include header height in the total table size by [@​prgres](https://github.com/prgres) in https://github.com/charmbracelet/bubbles/pull/434 - Table: Fix premature viewport scroll by [@​dzeleniak](https://github.com/dzeleniak) in https://github.com/charmbracelet/bubbles/pull/429 - Textarea: Fix end of buffer character by [@​mikelorant](https://github.com/mikelorant) in https://github.com/charmbracelet/bubbles/pull/491 - Textarea: Set textarea default EndOfBufferCharacter to ' ' by [@​blvrd](https://github.com/blvrd) in https://github.com/charmbracelet/bubbles/pull/510 - Textarea: End of Buffer alignment by [@​maaslalani](https://github.com/maaslalani) in https://github.com/charmbracelet/bubbles/pull/486 - Textinput: don't block input on validation by [@​GabrielNagy](https://github.com/GabrielNagy) in https://github.com/charmbracelet/bubbles/pull/185 - Viewport: Fix division by zero in scrollpercentage by [@​zMoooooritz](https://github.com/zMoooooritz) in https://github.com/charmbracelet/bubbles/pull/494 - Help: Fix centering by [@​gabe565](https://github.com/gabe565) in https://github.com/charmbracelet/bubbles/pull/516 - Progress: Stop spring defaults from overriding WithStringOptions by [@​nervo](https://github.com/nervo) in https://github.com/charmbracelet/bubbles/pull/540 - Cursor: Make SetMode method in cursor library handle invalid mode values correctly by [@​anirudhaCodes](https://github.com/anirudhaCodes) in https://github.com/charmbracelet/bubbles/pull/477 ##### Test coverage ✅ - Add tests for textarea view by [@​mikelorant](https://github.com/mikelorant) in https://github.com/charmbracelet/bubbles/pull/485 - Add tests for paginator by [@​anirudhaCodes](https://github.com/anirudhaCodes) in https://github.com/charmbracelet/bubbles/pull/480 - Add tests for textInput Tests by [@​KevM](https://github.com/KevM) in https://github.com/charmbracelet/bubbles/pull/500 - Improve textarea tests by [@​mikelorant](https://github.com/mikelorant) in https://github.com/charmbracelet/bubbles/pull/490 #### New Contributors - [@​rdnt](https://github.com/rdnt) made their first contribution in https://github.com/charmbracelet/bubbles/pull/473 - [@​rwinkhart](https://github.com/rwinkhart) made their first contribution in https://github.com/charmbracelet/bubbles/pull/409 - [@​mikelorant](https://github.com/mikelorant) made their first contribution in https://github.com/charmbracelet/bubbles/pull/485 - [@​anirudhaCodes](https://github.com/anirudhaCodes) made their first contribution in https://github.com/charmbracelet/bubbles/pull/480 - [@​nekopy](https://github.com/nekopy) made their first contribution in https://github.com/charmbracelet/bubbles/pull/458 - [@​TravisYeah](https://github.com/TravisYeah) made their first contribution in https://github.com/charmbracelet/bubbles/pull/418 - [@​abeleinin](https://github.com/abeleinin) made their first contribution in https://github.com/charmbracelet/bubbles/pull/369 - [@​fabio42](https://github.com/fabio42) made their first contribution in https://github.com/charmbracelet/bubbles/pull/465 - [@​prgres](https://github.com/prgres) made their first contribution in https://github.com/charmbracelet/bubbles/pull/440 - [@​zMoooooritz](https://github.com/zMoooooritz) made their first contribution in https://github.com/charmbracelet/bubbles/pull/494 - [@​dzeleniak](https://github.com/dzeleniak) made their first contribution in https://github.com/charmbracelet/bubbles/pull/429 - [@​KevM](https://github.com/KevM) made their first contribution in https://github.com/charmbracelet/bubbles/pull/500 - [@​gabe565](https://github.com/gabe565) made their first contribution in https://github.com/charmbracelet/bubbles/pull/516 - [@​blvrd](https://github.com/blvrd) made their first contribution in https://github.com/charmbracelet/bubbles/pull/510 - [@​nervo](https://github.com/nervo) made their first contribution in https://github.com/charmbracelet/bubbles/pull/540 - [@​gabrielfu](https://github.com/gabrielfu) made their first contribution in https://github.com/charmbracelet/bubbles/pull/539 - [@​aditipatelpro](https://github.com/aditipatelpro) made their first contribution in https://github.com/charmbracelet/bubbles/pull/577 **Full Changelog**: https://github.com/charmbracelet/bubbles/compare/v0.18.0...v0.19.0 *** <a href="https://charm.sh/"><img alt="The Charm logo" src="https://stuff.charm.sh/charm-badge.jpg?1" width="400"></a> Thoughts? Questions? We love hearing from you. Feel free to reach out on [Twitter](https://twitter.com/charmcli), [The Fediverse](https://mastodon.social/@​charm), or on [Discord](https://charm.sh/chat). </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC40NC4zIiwidXBkYXRlZEluVmVyIjoiMzguNDQuMyIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119--> Co-authored-by: Renovate Bot <renovate-bot@gitea.com> Reviewed-on: abs3nt/gspot#33 |
||
---|---|---|
.gitea/workflows | ||
completions | ||
src | ||
.gitignore | ||
.golangci.yml | ||
.goreleaser.yaml | ||
go.mod | ||
go.sum | ||
LICENSE | ||
main.go | ||
Makefile | ||
README.md | ||
renovate.json |
IF YOU ARE ON GITHUB.COM GO HERE INSTEAD: https://git.asdf.cafe/abs3nt/gspot :)
If you open an issue or PR on github I won't see it please use git.asdf.cafe. Register on asdf and open your PRs there
This project is still under heavy development and some things might not work or not work as intended. Don't hesitate to open an issue to let me know.
To install (with a package manager):
Archlinux (AUR)
yay -S gspot-git
To build from source by pulling and building the binary
git clone https://git.asdf.cafe/abs3nt/gspot
cd gspot
make build && sudo make install
Configuration
go here https://developer.spotify.com/dashboard/applications to make a spotify application. you will need a client ID and a client secret. Set your redirect uri like this:
http://localhost:8888/callback
add your information to ~/.config/gspot/gspot.yml like this
client_id: "idgoeshere"
client_secret: "secretgoeshere"
port: "8888"
if you dont want to store your secret in the file in plaintext you can use a command to retreive it:
client_secret_cmd: "secret spotify_secret"
you should have either client_secret or client_secret_cmd
you can enable debug logging by adding
log_level: "debug"
log_output: "file"
it will log to ~/.config/gspot/gspot.log
RUNNING
gspot
you will be asked to login, you will only have to do this the first time. After login you will be asked to select your default device.
helpful keybinds are shown in the bottom of the screen, hit ? to see all of them
To use the custom radio feature:
gspot radio
or hit ctrl+r on any track in the TUI. This will start an extended radio. To replenish the current radio run gspot refillradio
and all the songs already listened will be removed and that number of new recomendations will be added.
This radio uses slightly different logic than the standard spotify radio to give a longer playlist and more recomendation. With a cronjob you can schedule refill to run to have an infinite and morphing radio station.
To view help:
gspot --help
Very open to contributations feel free to open a PR