anufrievroman / waypaper

GUI wallpaper manager for Wayland and Xorg Linux systems
https://anufrievroman.gitbook.io/waypaper
GNU General Public License v3.0
277 stars 11 forks source link

Waypaper Issues & Features #41

Open F7YYY opened 2 months ago

F7YYY commented 2 months ago

First things first, I absolutely love the minimalistic approach of waypaper over waypaper-engine. However, I have found a few concerning issues to address while using [SWWW] as the wallpaper setter with waypaper. I have not bothered to reproduce these issues with another available setter, therefore, other setters may vary.

ISSUES & FEATURES

- [SWWW] Waypaper should only spawn swww-daemon, instead of an empty setter process (swww) by default.
- [SWWW] Waypaper should terminate all the previous wallpaper setter processes before spawning a new setter process upon selecting another wallpaper. Excluding diferent per-specified-output.
- Hidden wallpapers/directories (.wallpaper) are not excluded from the selectable wallpaper viewer.
- Subfolders (selected) should recursively index all folders in path.
- Resizing the GUI does not adjust the grid alignment of the viewable wallpapers (increment/decrement the column alignment).
- Ship waypaper as a binary, instead of requiring users to build each update/installation with 20 python packages.
- Stop overwriting $HOME/.config/waypaper/config.ini upon launching waypaper. Defeats the purpose of even hardcoding a config, since nothing is saved.
- [Feature] Minimize to tray (with icon) toggle (and --tray).
- [Feature] Selectable transitions/steps/angle/duration buttons in gui.
- [Feature] Either animate the GIFs in the GUI, or list two categories as GIFs and PICTURES by reading the file extension type.

💗 Hope to see new releases address and resolve these issues and features.

anufrievroman commented 2 months ago

Hello, thank you for your interest! I like your suggestions, I'll try to address them here to indicate possible directions. The problem is mainly that I currently lack time or knowledge to realize some of these features, namely:

- [SWWW] Waypaper should only spawn swww-daemon, instead of an empty setter process (swww) by default.
- [SWWW] Waypaper should terminate all the previous wallpaper setter processes before spawning a new setter process upon selecting another wallpaper. Excluding diferent per-specified-output.

The current logic it that we try to spawn a process, but if it's already there, then nothing happens. It shows an error, but to me, it's not a big deal. I am not sure how to accurately check if the daemon is already running to be honest. Plus recently swww changed this aspect, I'll need to rework this anyway...

- Hidden wallpapers/directories (.wallpaper) are not excluded from the selectable wallpaper viewer.

This is a new feature that is not released yet, but I thought that showing/hiding the hidden images works in the current version in main. Not directories though. So, maybe what you suggest is already done and will appear in the new release.

- Subfolders (selected) should recursively index all folders in path.

Now it's limited to 2 or 3 levels, if I recall. This limit is to prevent super-long indexing if home directory is selected for example (this may happen if the system has no Pictures directory set for example). I mean, how many subfolder levels people may have in their wallpaper folders?

- Resizing the GUI does not adjust the grid alignment of the viewable wallpapers (increment/decrement the column alignment).

True, but with my limited knowledge of GTK it's the best I could do. Would be happy to see the correct implementation if someone knows how to make it.

- Ship waypaper as a binary, instead of requiring users to build each update/installation with 20 python packages.

I agree, would be great, but I am not sure how to do it correctly. Would be awesome if someone showed/did it for this specific library.

- [Feature] Minimize to tray (with icon) toggle (and --tray).

Would be interesting, but since I personally don't even use tray, I am not sure how it is supposed to be done. Plus that would require additional setting probably. Also, it is not the kind of program that is expected to run continuously. Some people say that only certain kind of programs should go to tray. So I'd say this feature is not on the list.

- [Feature] Selectable transitions between selecting/switching wallpapers.

You can set it in the config file for swww backend. Maybe I'll make GUI selector, but just didn't want to clutter the interface for niche features.

- [Feature] Either animate the GIFs in the GUI, or list two categories as GIFs and PICTURES by reading the file extension type.

I tried for some time to mark gif images somehow, either by animation or at least with an icon but couldn't get a minimalistic enough code without involving additional libraries. Your suggestion to filter gifs actually makes sense, I didn't think about it. In future, I plan to make a little filter menu where all the show subfolders, show hidden, and show gifs will probably go.

In general, I'll be happy to consider PRs with some of these features.

anufrievroman commented 1 month ago

To update:

anufrievroman commented 1 month ago

Showing only gifs option is also added.