Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Waypaper Issues & Features #41

Open
F7YYY opened this issue Apr 17, 2024 · 3 comments
Open

Waypaper Issues & Features #41

F7YYY opened this issue Apr 17, 2024 · 3 comments
Labels
enhancement New feature or request

Comments

@F7YYY
Copy link

F7YYY commented Apr 17, 2024

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
Copy link
Owner

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
Copy link
Owner

To update:

  • swww demeon story is fixed
  • hidden wallpapers story is fixed
  • resizing implemented as adjustable number of columns

@anufrievroman anufrievroman added the enhancement New feature or request label May 17, 2024
anufrievroman added a commit that referenced this issue May 19, 2024
This creates a more compact menu, and also addresse partly issue #41
@anufrievroman
Copy link
Owner

Showing only gifs option is also added.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants