Thomas Frans
8d00ca74fc
fix: MPRIS loop tokio::select!() panic on exit
...
This fixes a bug that would cause a panic when quiting the process
normally. `tokio::select!()` was used to await a single branch, which is
useless as it can be replaced by a normal await.
2023-10-14 12:42:24 +02:00
Thomas Frans
51d1b34ccc
fix: prevent IPC socket cleanup panic
...
Prevent a panic when the IPC socket isn't available when the user quits
`ncspot`.
2023-10-14 12:15:38 +02:00
Thomas Frans
a69e2d763b
fix: disable cursive_buffered_backend tracing
...
Disable the useless trace logs from the `cursive_buffered_backend`
crate.
2023-10-12 11:14:51 +02:00
Thomas Frans
a067ab2ae2
feat: move to async POSIX signal handler
...
Instead of trying to handle signals for every step of the `cursive`
event loop, move the signal handling into its own asynchronous task and
send callbacks to `cursive` when a signal arrives.
2023-10-08 10:47:43 +02:00
Thomas Frans
209d8e260b
refactor: remove lazy_static crate
...
The `lazy_static` crate was superseded by the `once_cell` crate which
has been included in Rust's standard library since version `1.70`.
Remove the `lazy_static` dependency and refactor all use cases to use
`std::sync::OnceLock` instead.
Co-authored-by: Henrik Friedrichsen <henrik@affekt.org >
2023-10-07 17:33:48 +02:00
Thomas Frans
2f365c1551
chore: remove placeholder code
...
Remove the placeholder entries from the command aliases.
2023-10-07 17:27:00 +02:00
Thomas Frans
b27b067a47
fix: prevent MPRIS D-Bus duplicate name
...
Append `instance<pid>` to the MPRIS bus name to prevent two instances
from fighting over the same bus name.
2023-10-03 17:29:37 +02:00
Henrik Friedrichsen
edee66aeed
Update dependencies
2023-10-01 12:34:14 +02:00
Henrik Friedrichsen
57538e2650
Switch to Crossterm backend by default
...
- Is capable of 256 colors
- Can handle Shift+Up/Shift+Down/etc. (#1283 )
2023-09-29 22:05:12 +02:00
Thomas Frans
fe8f8e78ee
style(clippy): enforce clippy use_self lint
...
Clippy's `use_self` line ensures that `Self` is used instead of the real
name whenever possible. This makes searching easier and cleans up the
code a bit.
2023-09-27 22:06:54 +02:00
Arthur McLain
01e01b59e4
docs: update users.md ( #1274 )
...
* Update users.md
* Reformat table
---------
Co-authored-by: Henrik Friedrichsen <henrik@affekt.org >
2023-09-10 22:41:37 +02:00
Henrik Friedrichsen
fcf8223e00
Update dependencies
...
Adapt to rspotify 0.12 breaking changes
2023-09-10 20:32:07 +02:00
Henrik Friedrichsen
c0c7ea8828
Make worker command delivery more resilient
...
This may discard commands during reauthentication, but at least it doesn't crash
the application.
May help with #993 and #1257
2023-08-29 21:47:07 +02:00
Henrik Friedrichsen
b4a397c84d
Use Rc for UserData as it's !Sync
2023-08-26 15:06:23 +02:00
Henrik Friedrichsen
055a82cb77
Update dependencies
2023-08-26 14:37:46 +02:00
cyqsimon
4942647e1c
Improve how we indicate that a command arg is optional
2023-08-21 21:26:17 +02:00
Henrik Friedrichsen
bd80670345
Use step output environment file
...
See also:
https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
2023-07-24 01:58:13 +02:00
Henrik Friedrichsen
7d9faa7b59
Document add current and save current
2023-07-24 01:32:49 +02:00
Henrik Friedrichsen
17413fbad4
Update GitHub actions for CD pipeline
2023-07-24 01:27:24 +02:00
Henrik Friedrichsen
8e31ff10a8
Bump version to 0.13.4
...
+ update dependencies
2023-07-23 23:51:38 +02:00
Henrik Friedrichsen
0c13afb46f
Fix: fetch album only once
...
Should speed up display of the context menu
Fixes #1225
2023-07-23 14:49:21 +02:00
Henrik Friedrichsen
bef4742cec
Remove duplicate album query
2023-07-23 14:49:21 +02:00
Flynn Duniho
924296ac52
Add add command for adding song to playlist ( #1232 )
...
* Add command for adding song to playlist
* edits for code style
* Return playlist dialog via `CommandResult::Modal`
---------
Co-authored-by: Henrik Friedrichsen <henrik@affekt.org >
2023-07-22 16:03:21 +02:00
Henrik Friedrichsen
92cd4f1c8b
Handle local tracks in playlist
...
- Show error on deletion, as we currently do not have a Uri we can pass to the
Spotify API to delete local files in playlists
- Mark local files in `ListView`
fixes #1213
2023-07-22 15:42:14 +02:00
Henrik Friedrichsen
90b4560a2d
Gracefully handle tracks without IDs
...
As reported in #1231 :
Local files in playlists have no IDs. When trying to delete them ncspot crashes
as it tries to extract a track ID.
2023-07-22 15:42:14 +02:00
bentheklutz
2786c6ba34
Sort Artists Ignoring "The" ( #1238 )
...
* Sorting QoL
Ignore leading "The" when sorting albums and artists by artist name
in the library.
* Simplify stripping of `The ` prefix in artist
---------
Co-authored-by: Henrik Friedrichsen <henrik@affekt.org >
2023-07-22 13:05:03 +02:00
Henrik Friedrichsen
66bb0746b6
Update to strum 0.25.0
2023-07-22 12:44:50 +02:00
cyqsimon
9709c73324
Recommend Ueberzug++
2023-07-22 12:34:14 +02:00
Henrik Friedrichsen
83f9e8d224
Update dependencies
2023-07-22 12:31:26 +02:00
hrdl
f74661a15d
feat: add save current command
2023-07-07 11:23:47 +02:00
Henrik Friedrichsen
2c61a965f1
Update dependencies
2023-07-02 15:00:17 +02:00
Thomas Frans
0c93cafccf
refactor: remove unused screenchange variable
...
The `screenchange` member variable on `Layout` didn't seem to be used
for anything except for debugging. A comment in `on_layout` makes it
seem like it wasn't meant to be used for debugging purposes but for
actual functionality that wasn't implemented.
2023-06-18 17:04:43 +02:00
Thomas Frans
d644397180
fix: forward mouse events inside layout
...
After refactoring layout, the if statements were removed in favor of a
single match. This changed the control flow a bit, breaking mouse event
propagation.
2023-06-14 23:03:25 +02:00
Thomas Frans
03cfd4da5f
chore: improve release build options
2023-06-13 20:41:37 +02:00
Henrik Friedrichsen
9b0cd76fc5
Bump version to 0.13.3
2023-06-11 22:41:29 +02:00
Henrik Friedrichsen
07c2245bd6
Update dependencies
2023-06-11 22:39:28 +02:00
Thomas Frans
21c26abaa3
docs: add cargo installation method
...
Since people were having problems when installing from crates.io, it
would be nice to document it to prevent further problems.
2023-06-07 21:06:55 +02:00
Thomas Frans
3587aa1441
docs: remove Snapcraft installation source
...
The Snapcraft package seems to have been removed. Therefore the links in
the documentation should also be removed.
2023-06-07 21:06:31 +02:00
Thomas Frans
6c990b5bda
fix: config option command_key not working
2023-06-06 20:44:14 +02:00
Thomas Frans
ac0bcb4420
fix: prevent tab switching from command line
2023-06-04 22:21:10 +02:00
Thomas Frans
bbd7bcf4aa
fix: command line multi-byte prefix panic
...
Don't index into the command line command as the prefix can be altered
by the user and therefore be a multi-byte unicode character.
2023-06-04 17:30:06 +02:00
Thomas Frans
96bb2ea06b
fix: '/' character not working in search view
2023-06-02 23:20:24 +02:00
Thomas Frans
6d2a0552bf
refactor: move layout functionality under layout
2023-06-02 23:20:24 +02:00
Thomas Frans
d0efc0868f
chore: fix Application::new documentation
2023-06-02 23:20:24 +02:00
Thomas Frans
0c97bd36c3
fix: remove ipc import on non-unix systems
2023-06-02 23:20:24 +02:00
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