[GH-ISSUE #538] Display Freezes after Copying #1248

Closed
opened 2026-03-14 14:06:38 +03:00 by kerem · 1 comment
Owner

Originally created by @masroof-maindak on GitHub (Aug 8, 2024).
Original GitHub issue: https://github.com/aome510/spotify-player/issues/538

Describe the bug
I am using spotify-player on Wayland with the latest Git build. Whenever I copy, my display freezes and no other inputs are registered. Music remains playing as is however.

To Reproduce
Select the copy link option.

Expected behaviour
App doesn't freeze.

Log and backtrace
The backtrace file was empty. Here is the log file:

2024-08-08T16:58:49.045694Z  INFO spotify_player: Configurations: Configs { app_config: AppConfig { theme: "swamp light", client_id: "b60844fa1c1b48e3bc1b77f530ba02a1", client_port: 8080, player_event_hook_command: None, playback_format: "{track} • {artists}\n{album}\n{metadata}", notify_format: NotifyFormat { summary: "{track}", body: "{artists}" }, notify_timeout_in_secs: 0, tracks_playback_limit: 50, proxy: None, ap_port: None, app_refresh_duration_in_ms: 50, playback_refresh_duration_in_ms: 0, page_size_in_rows: 20, play_icon: "▶", pause_icon: "⏸", liked_icon: "♥", border_type: Plain, progress_bar_type: Rectangle, layout: LayoutConfig { library: LibraryLayoutConfig { playlist_percent: 40, album_percent: 40 }, playback_window_position: Bottom, playback_window_height: 4 }, cover_img_length: 10, cover_img_width: 5, cover_img_scale: 2.2, enable_media_control: true, enable_streaming: Always, enable_notify: true, enable_cover_image_cache: true, default_device: "sharktooth", device: DeviceConfig { name: "sharktooth", device_type: "computer", volume: 75, bitrate: 320, audio_cache: false, normalization: false, autoplay: false }, notify_streaming_only: false, seek_duration_secs: 5 }, keymap_config: KeymapConfig { keymaps: [Keymap { key_sequence: KeySequence { keys: [None(Char('n'))] }, command: NextTrack }, Keymap { key_sequence: KeySequence { keys: [None(Char('p'))] }, command: PreviousTrack }, Keymap { key_sequence: KeySequence { keys: [None(Char('.'))] }, command: PlayRandom }, Keymap { key_sequence: KeySequence { keys: [None(Char(' '))] }, command: ResumePause }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('r'))] }, command: Repeat }, Keymap { key_sequence: KeySequence { keys: [Alt(Char('r'))] }, command: ToggleFakeTrackRepeatMode }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('s'))] }, command: Shuffle }, Keymap { key_sequence: KeySequence { keys: [None(Char('+'))] }, command: VolumeUp }, Keymap { key_sequence: KeySequence { keys: [None(Char('-'))] }, command: VolumeDown }, Keymap { key_sequence: KeySequence { keys: [None(Char('_'))] }, command: Mute }, Keymap { key_sequence: KeySequence { keys: [None(Char('>'))] }, command: SeekForward }, Keymap { key_sequence: KeySequence { keys: [None(Char('<'))] }, command: SeekBackward }, Keymap { key_sequence: KeySequence { keys: [None(Enter)] }, command: ChooseSelected }, Keymap { key_sequence: KeySequence { keys: [None(Char('r'))] }, command: RefreshPlayback }, Keymap { key_sequence: KeySequence { keys: [None(Char('/'))] }, command: Search }, Keymap { key_sequence: KeySequence { keys: [None(Char('z'))] }, command: Queue }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('z'))] }, command: AddSelectedItemToQueue }, Keymap { key_sequence: KeySequence { keys: [None(Char('Z'))] }, command: AddSelectedItemToQueue }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char(' '))] }, command: ShowActionsOnSelectedItem }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('a'))] }, command: ShowActionsOnSelectedItem }, Keymap { key_sequence: KeySequence { keys: [None(Char('a'))] }, command: ShowActionsOnCurrentTrack }, Keymap { key_sequence: KeySequence { keys: [None(Char('R'))] }, command: RestartIntegratedClient }, Keymap { key_sequence: KeySequence { keys: [None(Tab)] }, command: FocusNextWindow }, Keymap { key_sequence: KeySequence { keys: [None(BackTab)] }, command: FocusPreviousWindow }, Keymap { key_sequence: KeySequence { keys: [None(Char('T'))] }, command: SwitchTheme }, Keymap { key_sequence: KeySequence { keys: [None(Char('D'))] }, command: SwitchDevice }, Keymap { key_sequence: KeySequence { keys: [None(Char('u')), None(Char('p'))] }, command: BrowseUserPlaylists }, Keymap { key_sequence: KeySequence { keys: [None(Char('u')), None(Char('a'))] }, command: BrowseUserFollowedArtists }, Keymap { key_sequence: KeySequence { keys: [None(Char('u')), None(Char('A'))] }, command: BrowseUserSavedAlbums }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char(' '))] }, command: CurrentlyPlayingContextPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('t'))] }, command: TopTrackPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('r'))] }, command: RecentlyPlayedTrackPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('y'))] }, command: LikedTrackPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('L'))] }, command: LyricPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('l'))] }, command: LyricPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('l'))] }, command: LibraryPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('s'))] }, command: SearchPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('b'))] }, command: BrowsePage }, Keymap { key_sequence: KeySequence { keys: [None(Backspace)] }, command: PreviousPage }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('q'))] }, command: PreviousPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('O'))] }, command: OpenSpotifyLinkFromClipboard }, Keymap { key_sequence: KeySequence { keys: [None(Char('?'))] }, command: OpenCommandHelp }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('h'))] }, command: OpenCommandHelp }, Keymap { key_sequence: KeySequence { keys: [None(Char('q'))] }, command: Quit }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('c'))] }, command: Quit }, Keymap { key_sequence: KeySequence { keys: [None(Esc)] }, command: ClosePopup }, Keymap { key_sequence: KeySequence { keys: [None(Char('j'))] }, command: SelectNextOrScrollDown }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('n'))] }, command: SelectNextOrScrollDown }, Keymap { key_sequence: KeySequence { keys: [None(Down)] }, command: SelectNextOrScrollDown }, Keymap { key_sequence: KeySequence { keys: [None(Char('k'))] }, command: SelectPreviousOrScrollUp }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('p'))] }, command: SelectPreviousOrScrollUp }, Keymap { key_sequence: KeySequence { keys: [None(Up)] }, command: SelectPreviousOrScrollUp }, Keymap { key_sequence: KeySequence { keys: [None(PageUp)] }, command: PageSelectPreviousOrScrollUp }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('b'))] }, command: PageSelectPreviousOrScrollUp }, Keymap { key_sequence: KeySequence { keys: [None(PageDown)] }, command: PageSelectNextOrScrollDown }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('f'))] }, command: PageSelectNextOrScrollDown }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('g'))] }, command: SelectFirstOrScrollToTop }, Keymap { key_sequence: KeySequence { keys: [None(Home)] }, command: SelectFirstOrScrollToTop }, Keymap { key_sequence: KeySequence { keys: [None(Char('G'))] }, command: SelectLastOrScrollToBottom }, Keymap { key_sequence: KeySequence { keys: [None(End)] }, command: SelectLastOrScrollToBottom }, Keymap { key_sequence: KeySequence { keys: [None(Char('s')), None(Char('t'))] }, command: SortTrackByTitle }, Keymap { key_sequence: KeySequence { keys: [None(Char('s')), None(Char('a'))] }, command: SortTrackByArtists }, Keymap { key_sequence: KeySequence { keys: [None(Char('s')), None(Char('A'))] }, command: SortTrackByAlbum }, Keymap { key_sequence: KeySequence { keys: [None(Char('s')), None(Char('d'))] }, command: SortTrackByDuration }, Keymap { key_sequence: KeySequence { keys: [None(Char('s')), None(Char('D'))] }, command: SortTrackByAddedDate }, Keymap { key_sequence: KeySequence { keys: [None(Char('s')), None(Char('r'))] }, command: ReverseTrackOrder }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('k'))] }, command: MovePlaylistItemUp }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('j'))] }, command: MovePlaylistItemDown }, Keymap { key_sequence: KeySequence { keys: [None(Char('N'))] }, command: CreatePlaylist }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('c'))] }, command: JumpToCurrentTrackInContext }], actions: [] }, theme_config: ThemeConfig { themes: [Theme { name: "default", palette: Palette { background: None, foreground: None, black: Color { color: Black }, blue: Color { color: Blue }, cyan: Color { color: Cyan }, green: Color { color: Green }, magenta: Color { color: Magenta }, red: Color { color: Red }, white: Color { color: Gray }, yellow: Color { color: Yellow }, bright_black: Color { color: DarkGray }, bright_white: Color { color: White }, bright_red: Color { color: LightRed }, bright_magenta: Color { color: LightMagenta }, bright_green: Color { color: LightGreen }, bright_cyan: Color { color: LightCyan }, bright_blue: Color { color: LightBlue }, bright_yellow: Color { color: LightYellow } }, component_style: ComponentStyle { block_title: None, border: None, playback_status: None, playback_track: None, playback_artists: None, playback_album: None, playback_metadata: None, playback_progress_bar: None, playback_progress_bar_unfilled: None, current_playing: None, page_desc: None, playlist_desc: None, table_header: None, selection: None, secondary_row: None, like: None } }, Theme { name: "swamp", palette: Palette { background: Some(Color { color: Rgb(36, 32, 21) }), foreground: Some(Color { color: Rgb(235, 224, 187) }), black: Color { color: Rgb(39, 35, 22) }, blue: Color { color: Rgb(145, 80, 108) }, cyan: Color { color: Rgb(80, 137, 145) }, green: Color { color: Rgb(122, 118, 83) }, magenta: Color { color: Rgb(193, 102, 107) }, red: Color { color: Rgb(150, 41, 77) }, white: Color { color: Rgb(159, 136, 117) }, yellow: Color { color: Rgb(219, 147, 13) }, bright_black: Color { color: Rgb(58, 49, 36) }, bright_white: Color { color: Rgb(235, 224, 187) }, bright_red: Color { color: Rgb(168, 45, 86) }, bright_magenta: Color { color: Rgb(176, 93, 97) }, bright_green: Color { color: Rgb(116, 111, 78) }, bright_cyan: Color { color: Rgb(97, 160, 168) }, bright_blue: Color { color: Rgb(128, 70, 95) }, bright_yellow: Color { color: Rgb(176, 103, 51) } }, component_style: ComponentStyle { block_title: Some(Style { fg: Some(BrightYellow), bg: None, modifiers: [] }), border: Some(Style { fg: None, bg: None, modifiers: [] }), playback_status: None, playback_track: Some(Style { fg: Some(Yellow), bg: None, modifiers: [] }), playback_artists: Some(Style { fg: Some(Yellow), bg: None, modifiers: [] }), playback_album: Some(Style { fg: Some(Magenta), bg: None, modifiers: [] }), playback_metadata: Some(Style { fg: Some(White), bg: None, modifiers: [] }), playback_progress_bar: Some(Style { fg: Some(Green), bg: Some(BrightBlack), modifiers: [] }), playback_progress_bar_unfilled: None, current_playing: Some(Style { fg: Some(Green), bg: None, modifiers: [] }), page_desc: Some(Style { fg: Some(BrightRed), bg: None, modifiers: [] }), playlist_desc: None, table_header: Some(Style { fg: Some(Blue), bg: None, modifiers: [] }), selection: Some(Style { fg: None, bg: None, modifiers: [Reversed] }), secondary_row: None, like: None } }, Theme { name: "swamp light", palette: Palette { background: Some(Color { color: Rgb(241, 227, 209) }), foreground: Some(Color { color: Rgb(100, 81, 62) }), black: Color { color: Rgb(100, 81, 62) }, blue: Color { color: Rgb(163, 105, 122) }, cyan: Color { color: Rgb(117, 133, 140) }, green: Color { color: Rgb(144, 141, 106) }, magenta: Color { color: Rgb(191, 121, 121) }, red: Color { color: Rgb(153, 51, 51) }, white: Color { color: Rgb(241, 227, 209) }, yellow: Color { color: Rgb(218, 158, 1) }, bright_black: Color { color: Rgb(140, 123, 104) }, bright_white: Color { color: Rgb(201, 185, 167) }, bright_red: Color { color: Rgb(153, 51, 51) }, bright_magenta: Color { color: Rgb(191, 121, 121) }, bright_green: Color { color: Rgb(144, 141, 106) }, bright_cyan: Color { color: Rgb(117, 133, 140) }, bright_blue: Color { color: Rgb(163, 105, 122) }, bright_yellow: Color { color: Rgb(218, 158, 1) } }, component_style: ComponentStyle { block_title: Some(Style { fg: Some(BrightYellow), bg: None, modifiers: [] }), border: Some(Style { fg: None, bg: None, modifiers: [] }), playback_status: None, playback_track: Some(Style { fg: Some(Cyan), bg: None, modifiers: [] }), playback_artists: Some(Style { fg: Some(Cyan), bg: None, modifiers: [] }), playback_album: Some(Style { fg: Some(Yellow), bg: None, modifiers: [] }), playback_metadata: Some(Style { fg: Some(BrightBlack), bg: None, modifiers: [] }), playback_progress_bar: Some(Style { fg: Some(Green), bg: Some(BrightWhite), modifiers: [] }), playback_progress_bar_unfilled: None, current_playing: Some(Style { fg: Some(Yellow), bg: None, modifiers: [] }), page_desc: Some(Style { fg: Some(BrightRed), bg: None, modifiers: [] }), playlist_desc: None, table_header: Some(Style { fg: Some(Magenta), bg: None, modifiers: [] }), selection: Some(Style { fg: None, bg: None, modifiers: [Reversed] }), secondary_row: None, like: None } }] }, cache_folder: "/home/maindak/.cache/spotify-player" }
2024-08-08T16:58:49.045797Z  INFO spotify_player::state::data: Loading Playlists data from /home/maindak/.cache/spotify-player/Playlists_cache.json...
2024-08-08T16:58:49.045877Z  INFO spotify_player::state::data: Successfully loaded Playlists data!
2024-08-08T16:58:49.045883Z  INFO spotify_player::state::data: Loading FollowedArtists data from /home/maindak/.cache/spotify-player/FollowedArtists_cache.json...
2024-08-08T16:58:49.046093Z  INFO spotify_player::state::data: Successfully loaded FollowedArtists data!
2024-08-08T16:58:49.046100Z  INFO spotify_player::state::data: Loading SavedAlbums data from /home/maindak/.cache/spotify-player/SavedAlbums_cache.json...
2024-08-08T16:58:49.047746Z  INFO spotify_player::state::data: Successfully loaded SavedAlbums data!
2024-08-08T16:58:49.047758Z  INFO spotify_player::state::data: Loading SavedTracks data from /home/maindak/.cache/spotify-player/SavedTracks_cache.json...
2024-08-08T16:58:49.083898Z  INFO spotify_player::state::data: Successfully loaded SavedTracks data!
2024-08-08T16:58:50.082016Z  INFO spotify_player::auth: Successfully used the cached credentials to create a new session!
2024-08-08T16:58:50.107697Z  INFO spotify_player::token: Getting new authentication token...
2024-08-08T16:58:50.357775Z  INFO spotify_player::token: Got new token: Token { access_token: "BQBDsRPKRiyE0A-kFwH7So98t5UZm5VRE6cTb0hll-QaKMwfO7xdxtsHc-frQ5wOJLrZx9hnYqcVK_lW1XI6t6_9Fmo8my_-es_vF2DiyzAtVmLILqBHStVBNfysWgjOOEmjsfnQu_6McBAUMYmkxNGXFHMtl8lI17ECewyIE4OW6Rb29_r9MLpCF8TAXssD5jg2NTzHqlSuX6wFxCeeN_mkGmhXAylGcEM0gf6tutKfzUc2G91pPbA7NdP4xxeaI1UHW5qIw0Ad4tpP1uq1K67pFBWjtLRAg11b79EyHb9HSBy9bL_Je6XzpGljrnSimVk", expires_in: TimeDelta { secs: 3600, nanos: 0 }, expires_at: Some(2024-08-08T17:58:50.357767503Z), refresh_token: None, scopes: {} }
2024-08-08T16:58:50.357868Z  INFO spotify_player::streaming: Application's connect configurations: ConnectConfig { name: "sharktooth", device_type: Computer, initial_volume: Some(49151), has_volume_ctrl: true, autoplay: false }
2024-08-08T16:58:50.357913Z  INFO spotify_player::streaming: Initializing a new integrated player with device_id=27684bd2-e874-4c91-986f-8518ba557638
2024-08-08T16:58:50.358108Z  INFO spotify_player::streaming: Starting an integrated Spotify player using librespot's spirc protocol
2024-08-08T16:58:50.888357Z  INFO spotify_player::client: No playback found, trying to connect to an available device...
2024-08-08T16:58:50.888611Z  INFO spotify_player: Starting a client socket at 127.0.0.1:8080
2024-08-08T16:58:50.889498Z  INFO spotify_player::media_control: Initializing application's media control event watcher...
2024-08-08T16:58:51.389791Z  INFO client_request{request=GetCurrentUser}: spotify_player::client: Successfully handled the client request, took: 501ms
2024-08-08T16:58:52.137853Z  INFO spotify_player::client: Available devices: [Device { id: Some("27684bd2-e874-4c91-986f-8518ba557638"), is_active: false, is_private_session: false, is_restricted: false, name: "sharktooth", _type: Computer, volume_percent: Some(74) }]
2024-08-08T16:58:52.137909Z  INFO spotify_player::client: Trying to connect to device (id=27684bd2-e874-4c91-986f-8518ba557638)
2024-08-08T16:58:52.146397Z  INFO client_request{request=GetUserPlaylists}: spotify_player::client: Successfully handled the client request, took: 1257ms
2024-08-08T16:58:52.451929Z  INFO spotify_player::client: Connection succeeded (device_id=27684bd2-e874-4c91-986f-8518ba557638)!
2024-08-08T16:58:54.262225Z  INFO client_request{request=GetCurrentUserQueue}: spotify_player::client: Successfully handled the client request, took: 370ms
2024-08-08T16:58:54.847633Z  INFO spotify_player::streaming: Got a new player event: Paused { track_id: TrackId("7uhINGViZPygI2AljxO8KN"), position_ms: 138881, duration_ms: 281218 }

Screenshots
N/A.

Environment

  • OS: Arch Linux 6.10.3
  • Application version: 0.19.1
  • Application features:
cargo build -r --no-default-features --features lyric-finder,notify,sixel,pulseaudio-backend,streaming,media-control

Additional Context
I shifted from X11 to Wayland recently and noticed that my copy_command wasn't working. I replaced xclip with wl-copy and noticed it still wasn't working. Searching the issues led me to #393 and I ultimately removed the [copy_command] section.

Originally created by @masroof-maindak on GitHub (Aug 8, 2024). Original GitHub issue: https://github.com/aome510/spotify-player/issues/538 **Describe the bug** I am using spotify-player on Wayland with the latest Git build. Whenever I copy, my display freezes and no other inputs are registered. Music remains playing as is however. **To Reproduce** Select the `copy link` option. **Expected behaviour** App doesn't freeze. **Log and backtrace** The backtrace file was empty. Here is the log file: ``` 2024-08-08T16:58:49.045694Z INFO spotify_player: Configurations: Configs { app_config: AppConfig { theme: "swamp light", client_id: "b60844fa1c1b48e3bc1b77f530ba02a1", client_port: 8080, player_event_hook_command: None, playback_format: "{track} • {artists}\n{album}\n{metadata}", notify_format: NotifyFormat { summary: "{track}", body: "{artists}" }, notify_timeout_in_secs: 0, tracks_playback_limit: 50, proxy: None, ap_port: None, app_refresh_duration_in_ms: 50, playback_refresh_duration_in_ms: 0, page_size_in_rows: 20, play_icon: "▶", pause_icon: "⏸", liked_icon: "♥", border_type: Plain, progress_bar_type: Rectangle, layout: LayoutConfig { library: LibraryLayoutConfig { playlist_percent: 40, album_percent: 40 }, playback_window_position: Bottom, playback_window_height: 4 }, cover_img_length: 10, cover_img_width: 5, cover_img_scale: 2.2, enable_media_control: true, enable_streaming: Always, enable_notify: true, enable_cover_image_cache: true, default_device: "sharktooth", device: DeviceConfig { name: "sharktooth", device_type: "computer", volume: 75, bitrate: 320, audio_cache: false, normalization: false, autoplay: false }, notify_streaming_only: false, seek_duration_secs: 5 }, keymap_config: KeymapConfig { keymaps: [Keymap { key_sequence: KeySequence { keys: [None(Char('n'))] }, command: NextTrack }, Keymap { key_sequence: KeySequence { keys: [None(Char('p'))] }, command: PreviousTrack }, Keymap { key_sequence: KeySequence { keys: [None(Char('.'))] }, command: PlayRandom }, Keymap { key_sequence: KeySequence { keys: [None(Char(' '))] }, command: ResumePause }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('r'))] }, command: Repeat }, Keymap { key_sequence: KeySequence { keys: [Alt(Char('r'))] }, command: ToggleFakeTrackRepeatMode }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('s'))] }, command: Shuffle }, Keymap { key_sequence: KeySequence { keys: [None(Char('+'))] }, command: VolumeUp }, Keymap { key_sequence: KeySequence { keys: [None(Char('-'))] }, command: VolumeDown }, Keymap { key_sequence: KeySequence { keys: [None(Char('_'))] }, command: Mute }, Keymap { key_sequence: KeySequence { keys: [None(Char('>'))] }, command: SeekForward }, Keymap { key_sequence: KeySequence { keys: [None(Char('<'))] }, command: SeekBackward }, Keymap { key_sequence: KeySequence { keys: [None(Enter)] }, command: ChooseSelected }, Keymap { key_sequence: KeySequence { keys: [None(Char('r'))] }, command: RefreshPlayback }, Keymap { key_sequence: KeySequence { keys: [None(Char('/'))] }, command: Search }, Keymap { key_sequence: KeySequence { keys: [None(Char('z'))] }, command: Queue }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('z'))] }, command: AddSelectedItemToQueue }, Keymap { key_sequence: KeySequence { keys: [None(Char('Z'))] }, command: AddSelectedItemToQueue }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char(' '))] }, command: ShowActionsOnSelectedItem }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('a'))] }, command: ShowActionsOnSelectedItem }, Keymap { key_sequence: KeySequence { keys: [None(Char('a'))] }, command: ShowActionsOnCurrentTrack }, Keymap { key_sequence: KeySequence { keys: [None(Char('R'))] }, command: RestartIntegratedClient }, Keymap { key_sequence: KeySequence { keys: [None(Tab)] }, command: FocusNextWindow }, Keymap { key_sequence: KeySequence { keys: [None(BackTab)] }, command: FocusPreviousWindow }, Keymap { key_sequence: KeySequence { keys: [None(Char('T'))] }, command: SwitchTheme }, Keymap { key_sequence: KeySequence { keys: [None(Char('D'))] }, command: SwitchDevice }, Keymap { key_sequence: KeySequence { keys: [None(Char('u')), None(Char('p'))] }, command: BrowseUserPlaylists }, Keymap { key_sequence: KeySequence { keys: [None(Char('u')), None(Char('a'))] }, command: BrowseUserFollowedArtists }, Keymap { key_sequence: KeySequence { keys: [None(Char('u')), None(Char('A'))] }, command: BrowseUserSavedAlbums }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char(' '))] }, command: CurrentlyPlayingContextPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('t'))] }, command: TopTrackPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('r'))] }, command: RecentlyPlayedTrackPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('y'))] }, command: LikedTrackPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('L'))] }, command: LyricPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('l'))] }, command: LyricPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('l'))] }, command: LibraryPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('s'))] }, command: SearchPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('b'))] }, command: BrowsePage }, Keymap { key_sequence: KeySequence { keys: [None(Backspace)] }, command: PreviousPage }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('q'))] }, command: PreviousPage }, Keymap { key_sequence: KeySequence { keys: [None(Char('O'))] }, command: OpenSpotifyLinkFromClipboard }, Keymap { key_sequence: KeySequence { keys: [None(Char('?'))] }, command: OpenCommandHelp }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('h'))] }, command: OpenCommandHelp }, Keymap { key_sequence: KeySequence { keys: [None(Char('q'))] }, command: Quit }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('c'))] }, command: Quit }, Keymap { key_sequence: KeySequence { keys: [None(Esc)] }, command: ClosePopup }, Keymap { key_sequence: KeySequence { keys: [None(Char('j'))] }, command: SelectNextOrScrollDown }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('n'))] }, command: SelectNextOrScrollDown }, Keymap { key_sequence: KeySequence { keys: [None(Down)] }, command: SelectNextOrScrollDown }, Keymap { key_sequence: KeySequence { keys: [None(Char('k'))] }, command: SelectPreviousOrScrollUp }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('p'))] }, command: SelectPreviousOrScrollUp }, Keymap { key_sequence: KeySequence { keys: [None(Up)] }, command: SelectPreviousOrScrollUp }, Keymap { key_sequence: KeySequence { keys: [None(PageUp)] }, command: PageSelectPreviousOrScrollUp }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('b'))] }, command: PageSelectPreviousOrScrollUp }, Keymap { key_sequence: KeySequence { keys: [None(PageDown)] }, command: PageSelectNextOrScrollDown }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('f'))] }, command: PageSelectNextOrScrollDown }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('g'))] }, command: SelectFirstOrScrollToTop }, Keymap { key_sequence: KeySequence { keys: [None(Home)] }, command: SelectFirstOrScrollToTop }, Keymap { key_sequence: KeySequence { keys: [None(Char('G'))] }, command: SelectLastOrScrollToBottom }, Keymap { key_sequence: KeySequence { keys: [None(End)] }, command: SelectLastOrScrollToBottom }, Keymap { key_sequence: KeySequence { keys: [None(Char('s')), None(Char('t'))] }, command: SortTrackByTitle }, Keymap { key_sequence: KeySequence { keys: [None(Char('s')), None(Char('a'))] }, command: SortTrackByArtists }, Keymap { key_sequence: KeySequence { keys: [None(Char('s')), None(Char('A'))] }, command: SortTrackByAlbum }, Keymap { key_sequence: KeySequence { keys: [None(Char('s')), None(Char('d'))] }, command: SortTrackByDuration }, Keymap { key_sequence: KeySequence { keys: [None(Char('s')), None(Char('D'))] }, command: SortTrackByAddedDate }, Keymap { key_sequence: KeySequence { keys: [None(Char('s')), None(Char('r'))] }, command: ReverseTrackOrder }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('k'))] }, command: MovePlaylistItemUp }, Keymap { key_sequence: KeySequence { keys: [Ctrl(Char('j'))] }, command: MovePlaylistItemDown }, Keymap { key_sequence: KeySequence { keys: [None(Char('N'))] }, command: CreatePlaylist }, Keymap { key_sequence: KeySequence { keys: [None(Char('g')), None(Char('c'))] }, command: JumpToCurrentTrackInContext }], actions: [] }, theme_config: ThemeConfig { themes: [Theme { name: "default", palette: Palette { background: None, foreground: None, black: Color { color: Black }, blue: Color { color: Blue }, cyan: Color { color: Cyan }, green: Color { color: Green }, magenta: Color { color: Magenta }, red: Color { color: Red }, white: Color { color: Gray }, yellow: Color { color: Yellow }, bright_black: Color { color: DarkGray }, bright_white: Color { color: White }, bright_red: Color { color: LightRed }, bright_magenta: Color { color: LightMagenta }, bright_green: Color { color: LightGreen }, bright_cyan: Color { color: LightCyan }, bright_blue: Color { color: LightBlue }, bright_yellow: Color { color: LightYellow } }, component_style: ComponentStyle { block_title: None, border: None, playback_status: None, playback_track: None, playback_artists: None, playback_album: None, playback_metadata: None, playback_progress_bar: None, playback_progress_bar_unfilled: None, current_playing: None, page_desc: None, playlist_desc: None, table_header: None, selection: None, secondary_row: None, like: None } }, Theme { name: "swamp", palette: Palette { background: Some(Color { color: Rgb(36, 32, 21) }), foreground: Some(Color { color: Rgb(235, 224, 187) }), black: Color { color: Rgb(39, 35, 22) }, blue: Color { color: Rgb(145, 80, 108) }, cyan: Color { color: Rgb(80, 137, 145) }, green: Color { color: Rgb(122, 118, 83) }, magenta: Color { color: Rgb(193, 102, 107) }, red: Color { color: Rgb(150, 41, 77) }, white: Color { color: Rgb(159, 136, 117) }, yellow: Color { color: Rgb(219, 147, 13) }, bright_black: Color { color: Rgb(58, 49, 36) }, bright_white: Color { color: Rgb(235, 224, 187) }, bright_red: Color { color: Rgb(168, 45, 86) }, bright_magenta: Color { color: Rgb(176, 93, 97) }, bright_green: Color { color: Rgb(116, 111, 78) }, bright_cyan: Color { color: Rgb(97, 160, 168) }, bright_blue: Color { color: Rgb(128, 70, 95) }, bright_yellow: Color { color: Rgb(176, 103, 51) } }, component_style: ComponentStyle { block_title: Some(Style { fg: Some(BrightYellow), bg: None, modifiers: [] }), border: Some(Style { fg: None, bg: None, modifiers: [] }), playback_status: None, playback_track: Some(Style { fg: Some(Yellow), bg: None, modifiers: [] }), playback_artists: Some(Style { fg: Some(Yellow), bg: None, modifiers: [] }), playback_album: Some(Style { fg: Some(Magenta), bg: None, modifiers: [] }), playback_metadata: Some(Style { fg: Some(White), bg: None, modifiers: [] }), playback_progress_bar: Some(Style { fg: Some(Green), bg: Some(BrightBlack), modifiers: [] }), playback_progress_bar_unfilled: None, current_playing: Some(Style { fg: Some(Green), bg: None, modifiers: [] }), page_desc: Some(Style { fg: Some(BrightRed), bg: None, modifiers: [] }), playlist_desc: None, table_header: Some(Style { fg: Some(Blue), bg: None, modifiers: [] }), selection: Some(Style { fg: None, bg: None, modifiers: [Reversed] }), secondary_row: None, like: None } }, Theme { name: "swamp light", palette: Palette { background: Some(Color { color: Rgb(241, 227, 209) }), foreground: Some(Color { color: Rgb(100, 81, 62) }), black: Color { color: Rgb(100, 81, 62) }, blue: Color { color: Rgb(163, 105, 122) }, cyan: Color { color: Rgb(117, 133, 140) }, green: Color { color: Rgb(144, 141, 106) }, magenta: Color { color: Rgb(191, 121, 121) }, red: Color { color: Rgb(153, 51, 51) }, white: Color { color: Rgb(241, 227, 209) }, yellow: Color { color: Rgb(218, 158, 1) }, bright_black: Color { color: Rgb(140, 123, 104) }, bright_white: Color { color: Rgb(201, 185, 167) }, bright_red: Color { color: Rgb(153, 51, 51) }, bright_magenta: Color { color: Rgb(191, 121, 121) }, bright_green: Color { color: Rgb(144, 141, 106) }, bright_cyan: Color { color: Rgb(117, 133, 140) }, bright_blue: Color { color: Rgb(163, 105, 122) }, bright_yellow: Color { color: Rgb(218, 158, 1) } }, component_style: ComponentStyle { block_title: Some(Style { fg: Some(BrightYellow), bg: None, modifiers: [] }), border: Some(Style { fg: None, bg: None, modifiers: [] }), playback_status: None, playback_track: Some(Style { fg: Some(Cyan), bg: None, modifiers: [] }), playback_artists: Some(Style { fg: Some(Cyan), bg: None, modifiers: [] }), playback_album: Some(Style { fg: Some(Yellow), bg: None, modifiers: [] }), playback_metadata: Some(Style { fg: Some(BrightBlack), bg: None, modifiers: [] }), playback_progress_bar: Some(Style { fg: Some(Green), bg: Some(BrightWhite), modifiers: [] }), playback_progress_bar_unfilled: None, current_playing: Some(Style { fg: Some(Yellow), bg: None, modifiers: [] }), page_desc: Some(Style { fg: Some(BrightRed), bg: None, modifiers: [] }), playlist_desc: None, table_header: Some(Style { fg: Some(Magenta), bg: None, modifiers: [] }), selection: Some(Style { fg: None, bg: None, modifiers: [Reversed] }), secondary_row: None, like: None } }] }, cache_folder: "/home/maindak/.cache/spotify-player" } 2024-08-08T16:58:49.045797Z INFO spotify_player::state::data: Loading Playlists data from /home/maindak/.cache/spotify-player/Playlists_cache.json... 2024-08-08T16:58:49.045877Z INFO spotify_player::state::data: Successfully loaded Playlists data! 2024-08-08T16:58:49.045883Z INFO spotify_player::state::data: Loading FollowedArtists data from /home/maindak/.cache/spotify-player/FollowedArtists_cache.json... 2024-08-08T16:58:49.046093Z INFO spotify_player::state::data: Successfully loaded FollowedArtists data! 2024-08-08T16:58:49.046100Z INFO spotify_player::state::data: Loading SavedAlbums data from /home/maindak/.cache/spotify-player/SavedAlbums_cache.json... 2024-08-08T16:58:49.047746Z INFO spotify_player::state::data: Successfully loaded SavedAlbums data! 2024-08-08T16:58:49.047758Z INFO spotify_player::state::data: Loading SavedTracks data from /home/maindak/.cache/spotify-player/SavedTracks_cache.json... 2024-08-08T16:58:49.083898Z INFO spotify_player::state::data: Successfully loaded SavedTracks data! 2024-08-08T16:58:50.082016Z INFO spotify_player::auth: Successfully used the cached credentials to create a new session! 2024-08-08T16:58:50.107697Z INFO spotify_player::token: Getting new authentication token... 2024-08-08T16:58:50.357775Z INFO spotify_player::token: Got new token: Token { access_token: "BQBDsRPKRiyE0A-kFwH7So98t5UZm5VRE6cTb0hll-QaKMwfO7xdxtsHc-frQ5wOJLrZx9hnYqcVK_lW1XI6t6_9Fmo8my_-es_vF2DiyzAtVmLILqBHStVBNfysWgjOOEmjsfnQu_6McBAUMYmkxNGXFHMtl8lI17ECewyIE4OW6Rb29_r9MLpCF8TAXssD5jg2NTzHqlSuX6wFxCeeN_mkGmhXAylGcEM0gf6tutKfzUc2G91pPbA7NdP4xxeaI1UHW5qIw0Ad4tpP1uq1K67pFBWjtLRAg11b79EyHb9HSBy9bL_Je6XzpGljrnSimVk", expires_in: TimeDelta { secs: 3600, nanos: 0 }, expires_at: Some(2024-08-08T17:58:50.357767503Z), refresh_token: None, scopes: {} } 2024-08-08T16:58:50.357868Z INFO spotify_player::streaming: Application's connect configurations: ConnectConfig { name: "sharktooth", device_type: Computer, initial_volume: Some(49151), has_volume_ctrl: true, autoplay: false } 2024-08-08T16:58:50.357913Z INFO spotify_player::streaming: Initializing a new integrated player with device_id=27684bd2-e874-4c91-986f-8518ba557638 2024-08-08T16:58:50.358108Z INFO spotify_player::streaming: Starting an integrated Spotify player using librespot's spirc protocol 2024-08-08T16:58:50.888357Z INFO spotify_player::client: No playback found, trying to connect to an available device... 2024-08-08T16:58:50.888611Z INFO spotify_player: Starting a client socket at 127.0.0.1:8080 2024-08-08T16:58:50.889498Z INFO spotify_player::media_control: Initializing application's media control event watcher... 2024-08-08T16:58:51.389791Z INFO client_request{request=GetCurrentUser}: spotify_player::client: Successfully handled the client request, took: 501ms 2024-08-08T16:58:52.137853Z INFO spotify_player::client: Available devices: [Device { id: Some("27684bd2-e874-4c91-986f-8518ba557638"), is_active: false, is_private_session: false, is_restricted: false, name: "sharktooth", _type: Computer, volume_percent: Some(74) }] 2024-08-08T16:58:52.137909Z INFO spotify_player::client: Trying to connect to device (id=27684bd2-e874-4c91-986f-8518ba557638) 2024-08-08T16:58:52.146397Z INFO client_request{request=GetUserPlaylists}: spotify_player::client: Successfully handled the client request, took: 1257ms 2024-08-08T16:58:52.451929Z INFO spotify_player::client: Connection succeeded (device_id=27684bd2-e874-4c91-986f-8518ba557638)! 2024-08-08T16:58:54.262225Z INFO client_request{request=GetCurrentUserQueue}: spotify_player::client: Successfully handled the client request, took: 370ms 2024-08-08T16:58:54.847633Z INFO spotify_player::streaming: Got a new player event: Paused { track_id: TrackId("7uhINGViZPygI2AljxO8KN"), position_ms: 138881, duration_ms: 281218 } ``` **Screenshots** N/A. **Environment** - OS: Arch Linux 6.10.3 - Application version: 0.19.1 - Application features: ```bash cargo build -r --no-default-features --features lyric-finder,notify,sixel,pulseaudio-backend,streaming,media-control ``` **Additional Context** I shifted from X11 to Wayland recently and noticed that my copy_command wasn't working. I replaced `xclip` with `wl-copy` and noticed it still wasn't working. Searching the issues led me to #393 and I ultimately removed the [copy_command] section.
kerem 2026-03-14 14:06:38 +03:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@juliamertz commented on GitHub (Aug 9, 2024):

I experienced the same behavior a while ago, for me this happens no matter what clipboard provider i use (xclip, xsel, pbcopy). I'm on X11 myself so i don't believe this is a wayland problem.

While debugging this i noticed that it does actually continue to run after a while, this takes anywhere between 30 seconds to 5 minutes for me. Before freezing it does successfully copy to the clipboard.

Some print statements revealed it gets stuck on this line, I haven't dug much further though since this isn't a feature i use much.

<!-- gh-comment-id:2277652967 --> @juliamertz commented on GitHub (Aug 9, 2024): I experienced the same behavior a while ago, for me this happens no matter what clipboard provider i use (xclip, xsel, pbcopy). I'm on X11 myself so i don't believe this is a wayland problem. While debugging this i noticed that it does actually continue to run after a while, this takes anywhere between 30 seconds to 5 minutes for me. Before freezing it does successfully copy to the clipboard. Some print statements revealed it gets stuck on [this line](https://github.com/aome510/spotify-player/blob/c3e9a4e8b30e00240fb262c89c25de43eb195bdc/spotify_player/src/event/clipboard.rs#L45C9-L45C48), I haven't dug much further though since this isn't a feature i use much.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/spotify-player#1248
No description provided.