Thomas Frans
c36d3cf272
refactor: move and add functions
2023-06-02 23:20:24 +02:00
Thomas Frans
04cbe8ac20
refactor: move base path config + documentation
2023-06-02 23:20:24 +02:00
Thomas Frans
6be45ece90
chore: document items in the config module
...
Sometimes the use of an item wasn't clear without reading the code. This
should help with that.
2023-06-02 23:20:24 +02:00
Thomas Frans
3b8de6600f
refactor: move panic hook into module
2023-06-02 23:20:24 +02:00
Thomas Frans
abffb3c2a9
refactor: move cli argument parsing to main
...
Command line arguments are part of the OS process and should be under
main.
2023-06-02 23:20:24 +02:00
Thomas Frans
ae090b6073
refactor: move async runtime to application module
...
To have a clear distinction between code dealing with OS process
characteristics and code of ncspot itself, it makes sense to move the
async runtime together with ncspot as it doesn't have anything to do
with the OS process.
2023-06-02 23:20:24 +02:00
Thomas Frans
6d32f3d1f8
refactor: move 'global' data into Application
...
Some applications move their 'global' data into a struct called `App` or
`Application`. This makes it very clear what data belongs to the
'global' scope or in other words, to the application itself.
2023-06-02 23:20:24 +02:00
Henrik Friedrichsen
b6e5495128
Update dependencies
2023-06-01 21:17:52 +02:00
Henrik Friedrichsen
e6ed4ea024
Support multiple IPC sockets ( #1171 )
...
For instance for when multiple ncspot instances are running. In that case the
PID will be appended to the path, i.e. `~/.cache/ncspot/ncspot.20707.sock`.
Also ncspot will now delete the socket on shutdown.
Fixes #1158
2023-05-22 22:14:59 +02:00
cyqsimon
d8faa87431
Fix incorrect notification ID reuse on XDG ( #1150 )
...
* Fix incorrect notification ID reuse on XDG
* Remove `notification_id` persistence
---------
Co-authored-by: Henrik Friedrichsen <henrik@affekt.org >
2023-05-22 17:51:29 +00:00
Henrik Friedrichsen
f18454082e
Update dependencies
2023-05-22 19:37:05 +02:00
Thomas Frans
e9f34873b4
fix(ui): ListView decrement selected on remove
...
When removing an element, it is important to check whether it was the
last element in the list and decrement the selected index if so.
2023-05-12 21:07:53 +02:00
Henrik Friedrichsen
aeff120e67
Revert "Use native TLS only, don't mix it with rustls"
...
This reverts commit 80da5a877a .
Fixes #1159
2023-05-10 23:08:29 +02:00
Henrik Friedrichsen
2040620b42
Dependency updates
2023-05-09 21:07:20 +02:00
Jakub Jirutka
80da5a877a
Use native TLS only, don't mix it with rustls
...
reqwest uses native TLS by default, but rspotify with ureq currently
uses rustls.
2023-05-09 10:36:04 +02:00
Jakub Jirutka
ba60fbddd0
Fix: breaking changes in rpostify 0.11.7
2023-05-09 10:36:04 +02:00
Jakub Jirutka
22badc9038
Bump rspotify from 0.11.6 to 0.11.7
2023-05-09 10:36:04 +02:00
Henrik Friedrichsen
41b3243df0
Update dependencies
...
Keep `rspotify` at v0.11.6 until ramsayleung/rspotify#407 is fixed
2023-05-05 10:17:19 +02:00
Henrik Friedrichsen
d3a27e2c15
Bump version to 0.13.2
2023-05-04 23:48:25 +02:00
Callum Wishart
43a4883bd3
Update Nerdfont glyphs ( #1141 )
2023-05-04 23:43:50 +02:00
dependabot[bot]
b742bec22e
Bump clap from 4.2.1 to 4.2.7
...
Bumps [clap](https://github.com/clap-rs/clap ) from 4.2.1 to 4.2.7.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.2.1...v4.2.7 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-05-04 23:43:06 +02:00
dependabot[bot]
9186ebc565
Bump tokio-stream from 0.1.12 to 0.1.14
...
Bumps [tokio-stream](https://github.com/tokio-rs/tokio ) from 0.1.12 to 0.1.14.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Changelog](https://github.com/tokio-rs/tokio/blob/tokio-0.1.14/CHANGELOG.md )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-stream-0.1.12...tokio-0.1.14 )
---
updated-dependencies:
- dependency-name: tokio-stream
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-05-04 23:40:45 +02:00
dependabot[bot]
fe2b108c69
Bump clap_complete from 4.2.0 to 4.2.1
...
Bumps [clap_complete](https://github.com/clap-rs/clap ) from 4.2.0 to 4.2.1.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.2.0...clap_complete-v4.2.1 )
---
updated-dependencies:
- dependency-name: clap_complete
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-05-04 23:40:38 +02:00
dependabot[bot]
a62c9b5c05
Bump libc from 0.2.141 to 0.2.142
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.141 to 0.2.142.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.141...0.2.142 )
---
updated-dependencies:
- dependency-name: libc
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-05-04 23:40:30 +02:00
dependabot[bot]
3b51dc35ba
Bump tokio-util from 0.7.7 to 0.7.8
...
Bumps [tokio-util](https://github.com/tokio-rs/tokio ) from 0.7.7 to 0.7.8.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-util-0.7.7...tokio-util-0.7.8 )
---
updated-dependencies:
- dependency-name: tokio-util
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-05-03 10:30:15 +02:00
dependabot[bot]
2d91d13001
Bump tokio from 1.27.0 to 1.28.0
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.27.0 to 1.28.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.27.0...tokio-1.28.0 )
---
updated-dependencies:
- dependency-name: tokio
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-05-03 10:30:07 +02:00
dependabot[bot]
bd169955eb
Bump regex from 1.7.3 to 1.8.1
...
Bumps [regex](https://github.com/rust-lang/regex ) from 1.7.3 to 1.8.1.
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/1.7.3...1.8.1 )
---
updated-dependencies:
- dependency-name: regex
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-05-03 10:29:59 +02:00
dependabot[bot]
d3cf765f00
Bump reqwest from 0.11.16 to 0.11.17
...
Bumps [reqwest](https://github.com/seanmonstar/reqwest ) from 0.11.16 to 0.11.17.
- [Release notes](https://github.com/seanmonstar/reqwest/releases )
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md )
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.16...v0.11.17 )
---
updated-dependencies:
- dependency-name: reqwest
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-05-03 10:29:53 +02:00
Henrik Friedrichsen
2771c319d6
Fix: gracefully handle invalid DBus setups
...
Some systems may have an ncspot binary with enabled MPRIS/DBus support, even
though DBus is not actually running on the system or the session is broken.
ncspot should not panic in such a situation, but handle gracefully instead.
Should help with #1139
2023-05-02 22:54:47 +02:00
Jakub Jirutka
cb9d9e7a93
Add ncurses_backend feature flag to enable cursive/ncurses-backend
...
Similar to existing crossterm_backend and pancurses_backend.
2023-04-23 22:49:42 +02:00
Jakub Jirutka
30903ef78e
Use notify-rust with zbus instead of dbus
...
zbus is already used for MPRIS since
b0db0da3ef .
This saves ~0.5 MiB in release build with LTO.
2023-04-23 22:49:42 +02:00
Henrik Friedrichsen
97b31df575
Bump version to 0.13.1
2023-04-05 13:36:57 +02:00
Henrik Friedrichsen
e9f630e6e5
Update dependencies
2023-04-05 13:35:54 +02:00
Henrik Friedrichsen
d19d897e75
Fix: Restore previous Previous behavior ( #1111 )
...
* Fix: Restore previous `Previous` behavior
Fixes #1110
2023-04-04 14:54:32 +02:00
Henrik Friedrichsen
b0db0da3ef
Rewrite MPRIS implementation using zbus ( #1107 )
...
* Rewrite MPRIS implementation using zbus
The initial DBus implementation was getting harder to maintain and `zbus` offers
some nice convenience features that should make our MPRIS implementation
cleaner.
For now this only implements the `org.mpris.MediaPlayer2` interface which does
not do much.
Should help with #1103
* Implement MPRIS properties
- `PlaybackStatus`
- `PlaybackRate`
- `Volume` (get/set)
* Implement remaining player properties/functions
* Emit signal for changed properties on track change
2023-04-01 21:53:37 +02:00
Henrik Friedrichsen
bcc2791116
Update dependencies
2023-04-01 21:51:24 +02:00
Thomas Frans
8fe30e34d0
Emulate double click to play items
...
Change the behavior of `ListView` to treat a click on an item that is
already selected as a double click. It allows the user to play songs
(not episodes since currently it's not possible to determine if a
`ListItem` is an episode) by "double clicking" them. It is a bit of a
hack, but it works pretty well. A possible downside is that when people
that don't like mouse integration in a TUI click to focus the terminal
window, it could jump to the song they clicked if that happened to be
the selected one.
2023-03-25 23:53:19 +01:00
Henrik Friedrichsen
ecaec1a494
Dependency updates
2023-03-25 23:49:15 +01:00
David Pedersen
ff01074666
Add 'browse' to 'library_tabs' docs ( #1096 )
2023-03-24 09:14:34 +01:00
Thomas Frans
5179859538
Update README ( #1089 )
...
* Update README.
* Update README version 2.
2023-03-20 23:00:19 +01:00
Collin Lefeber
dcfb820c13
statusbar: update nerdfont glyphs
...
As of https://github.com/ryanoasis/nerd-fonts/issues/1096
nf-mdi* glyphs are marked obsolete in nerd-fonts upstream
Update the glyphs to non-deprecated nf-fa* counterparts
2023-03-19 00:21:29 +01:00
Henrik Friedrichsen
7dce6b988d
Fix: disable ncspot default features for xtask
...
Pulling in ncspot without disabling default features includes a lot of
unnecessary dependencies, i.e. audio backends including dynamic linkage to
`libpulse`. As it's not required for `xtask` we should disable default features,
resulting in a much smaller binary.
2023-03-12 16:35:18 +01:00
BlakeJC94
1a0258f197
Add vim-like page scrolling
...
* feat: added match fallback for handle_command SelectViewExt
* feat: HalfPage and FullPage MoveAmount variants
* feat: Display for MoveAmount variants
* feat: fallback for MoveAmount variants in TabView
* feat: ListView FullPage/HalfPage MoveAmount
* feat: default keybinds for page scrolling
* feat: HalfPage/FullPage MoveAmount for HelpView
* feat: removed new defaul keybinds for pagescroll
* style: "upwards" -> "halfpageup" etc.
* feat: toml parse "move pageup" / "move halfpageup"
* chore: cargo fmt
* feat: simplified page scroll command interface
* docs: added `move` to readme
* feat: replace FullPage and HalfPage with Float variant
* fix: remove stray variant
* dosc: update move command
* chore: fmt
* feat: implement MoveAmount::Float for selectview
* chore: fmt
2023-03-12 13:26:00 +01:00
Henrik Friedrichsen
dc2f42fd07
Revert "Update CD workflow"
...
This reverts commit e369994b06705c9c520266feebd89422b5be90c3.
`cross-rs/cross` has already updated to a newer Ubuntu version but not released
their images yet, thus cross-compilation builds fail. Revert for now to get out
the release. Hopefully we can reapply this change for the next release.
2023-03-09 19:49:41 +01:00
Henrik Friedrichsen
758e8d74ce
Bump version to 0.13.0
2023-03-09 19:35:41 +01:00
Henrik Friedrichsen
95b256b400
Update dependencies
2023-03-09 19:34:16 +01:00
Henrik Friedrichsen
3a460ea4ad
Revert "Display shuffle order"
...
This reverts commit e68f50ddff .
Will be reintroduced with #1075
2023-03-09 19:34:13 +01:00
dependabot[bot]
45cca123bc
Bump serde from 1.0.152 to 1.0.154
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.152 to 1.0.154.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.152...v1.0.154 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-03-09 19:04:37 +01:00
Thomas Frans
e8adff444c
Automatic shell completion generation
...
* Add automatic shell completion generation.
Add automatic generation of shell completion scripts for various shells
(the ones supported by `clap_complete`). The scripts can be generated
using the `generate-shell-completion` xtask, which outputs the shell
script to stdout.
* Improve shell completion generation xtask.
General improvements to both the shell completion generation as well as
the xtask package itself. Update the README to match the new additions.
2023-03-09 19:02:11 +01:00
Henrik Friedrichsen
c457efc6fc
Dependency updates
2023-03-06 22:02:57 +01:00