GabMus / HydraPaper

A Gtk utility to set two different backgrounds for each monitor on GNOME (which lacks this feature)
GNU General Public License v3.0
169 stars 18 forks source link

[Feature Request] Filter by Color and Size #17

Open alex285 opened 6 years ago

alex285 commented 6 years ago

Mockup is a bit futuristic, but it illustrates the feature

bug

GabMus commented 6 years ago

holy smokes. alright, first, nice job with the mockup, but there are some basic issues with it.

this app I'm building for gnome, and this doesn't look like a gnome app, but rather an electron app!

the toast is not appropriate imo, since it belongs to android and besides even there it's pretty bad. an infobar is more suited for this kind of thing, but still, I don't know how useful it would be. Maybe a little label on the headerbar would work better.

the "don't you see your monitor" link thing is another thing that is not necessary. first, if you don't see your monitor, it would be turned off, since hydrapaper parses monitors.xml, and this file is the one gnome uses to setup monitors on login. if that's not there, hydrapaper won't start and will give you a dialog explaining the problem (try (re)moving ~/.config/monitors.xml to see it), otherwise it WILL show your monitors. there is no middle ground. about the design, a "link" is not something you want in a desktop app: I'd rather prefer a button or an icon with a question mark on it that summons a popover. also, for the place you put it, it would not allow you to resize the window down to "phone size" (something I'm trying to avoid on my apps, in hope of a future with gnome on phones! and even without this, you could want to make your windows smaller regardless).

as for the size filtering, that's doable... kinda. Image sizes are not always standard, what I could do is give some options like "bigger than 1920x1080" or something like that. but even so that'd be partially correct since some people do use vertical monitors, so the amount of options I should give would be so great to make this feature unusable. another option is to give the user the option to filter by a custom resolution.

for color filtering, that's pretty diffucult. I could extract a "dominant color" from the picture, and that's perfectly fine, but how should I give the option to the user? I could try to approximate the colors to say 10 or 15 or 20 even, but that'd be confusing, and I have no idea on how to reliably determine the "similarity" between two colors (there probably is some math formula that does that, but how efficient would it be to 1. scan all images for their dominant color and 2. apply that supposed math function to determine the similarity with the given color? I think that it could take a while).

as for the sidebar, again, doesn't belong to gnome. corebird tried to roll with a sidebar, but it doesn't really work that well. a top notebookbar or stack switcher fits more imo.

sorry for the big comment, and sorry if it's mostly a critic. thanks anyway for it and for the time and effort you put into it. this is not all wasted tho. it gave me some ideas and showed me some cool options I could think of adding to hydrapaper in the future!

alex285 commented 6 years ago

@GabMus haha! dont freak out with the design! it is not supposed to be mockup, but something i can test ideas for features, like the color selection

about Size you dont need exact size dimensions, but something like 4k, HD, and possibly something for the wide screens, or even picking according to the installed screens. i think i could work on design on it

about Colors you can have a palette of 12 colors the most, and compare with 2 dominate colors per image. even if that wont work exactly as expected, it is a very good feature to have, and perhaps someone can tune it in the future if it is there

about Sidebar. while this wasn't supposed to be a design to follow, the sidebar has some benefits here. for now there are four items

  1. Wallpapers View
  2. Favorites View
  3. Add Locations
  4. Settings

one more could be a Collections view, where you can add wallpapers on collections (like Albums on Photos app), so you can change them over time. initially i thought to add all those on stack view on headerbar. however here are two reasons i didnt do that way

  1. because you will end up with 5 items on headerbar, which are too many (and possibly ugly) for a stack view
  2. and most importantly because HydraPaper could be an nice app to have on phones, like the Librem Mobile, so i tried to make it fit there. plus i dont think you will have any appMenus there, so you need an Options item on app
alex285 commented 6 years ago

@GabMus

sorry for the big comment, and sorry if it's mostly a critic. thanks anyway for it and for the time and effort you put into it. this is not all wasted tho.

dont worry not a single bit about it! if you dont like it, you just dont like it! also it isn't any effort for me! i enjoyed doing it!