From 1d6a5fef2b419a324ce6d1e7d19bff024bcb5987 Mon Sep 17 00:00:00 2001 From: Mihai Fufezan Date: Sun, 23 Oct 2022 17:36:33 +0300 Subject: [PATCH] App clients: add Spotify workarounds Co-authored-by: NotAShelf Co-authored-by: Antonino Scordino Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com> --- pages/Useful Utilities/App-Clients.md | 32 ++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/pages/Useful Utilities/App-Clients.md b/pages/Useful Utilities/App-Clients.md index 209c917..69362a8 100644 --- a/pages/Useful Utilities/App-Clients.md +++ b/pages/Useful Utilities/App-Clients.md @@ -11,9 +11,39 @@ on the Discord ToS. - [gtkcord4](https://github.com/diamondburned/gtkcord4) is a Discord client written in GTK4. While it does infringe on Discord's ToS, it's relatively safe and doesn't rely on any webview technologies. +## Spotify + +Spotify does not follow window rules. This is because the client sets is class _after_ +the window has opened, thus making it "immune" to windowrules. An alternative to +Spotify's GUI client is [spotify-tui](https://github.com/Rigellute/spotify-tui) which can be +launched in a terminal with a custom class. While limited in functionality, it is quite +powerful and could be preferred over the GUI client. + +Some users have also reported [installing spotifywm](https://github.com/amurzeau/spotifywm) has resolved +the issue. The original repository by [`dasJ`](https://github.com/dasJ/spotifywm) is no longer working because of some changes made in the newer +Spotify version, and until the pull request gets merged, [`amurzeau's fork`](https://github.com/amurzeau/spotifywm) does the job. + +After following the installation paragraph on the README, start Spotify with: + +```bash +LD_PRELOAD=/path/to/spotifywm.so spotify +``` + +The path **MUST** be the absolute one. If it's not, the hack will not work. + +Now you can freely manage your Spotify client. Always use `class` to manage the +window. For example: + +```ini +windowrulev2 = tile, class:^(Spotify)$ +windowrulev2 = workspace 9, class:^(Spotify)$ +``` + +Pick your poison. + ## Matrix/Element -- [Fractal](https://wiki.gnome.org/Apps/Fractal) is a Matrix client written in GTK4. +[Fractal](https://wiki.gnome.org/Apps/Fractal) is a Matrix client written in GTK4. Much like Discord, Element is known to have a lot of problems as a result of being based on Electron. Fractal currently doesn't support VoIP calling, but all other features are supported, including E2EE and cross-device verification.