micheleg / dash-to-dock

A dock for the Gnome Shell. This extension moves the dash out of the overview transforming it in a dock for an easier launching of applications and a faster switching between windows and desktops.
https://micheleg.github.io/dash-to-dock/
GNU General Public License v2.0
3.87k stars 461 forks source link

[Feat. Req.] 'Auto Color dash to Wallpaper #429

Open momoe opened 7 years ago

momoe commented 7 years ago

As the title states, I'd like to see a function to enable auto coloring of the dash to match the general color scheme of the current wallpaper. I believe this can be done with ImageMagic.

this should sample the current wallpaper semi frequently, since there are auto cycling wallpapers such as Variety, that cycle through wallpapers at set times.

Fingers crossed and god speed!

micheleg commented 7 years ago

Thanks for your suggestion. I think relying on imageMagic from inside the shell is not probably the right route. I think the feature is feasible, yet it is of very low priority for me.

Somehow related: #224

corebots commented 7 years ago

i can confirm that having a 'responsive' background for the dock, calculated from the color beneath it, helps quite a bit with usability - it doesn't get so much in the way. The OS X dock, as an example, adapts to whatever gets beneath it; schermafbeelding 2017-01-17 om 14 08 15 schermafbeelding 2017-01-17 om 14 09 03 schermafbeelding 2017-01-17 om 14 08 54 schermafbeelding 2017-01-17 om 14 08 36 schermafbeelding 2017-01-17 om 14 08 25

spacekookie commented 6 years ago

Any progress on this feature? I cloned the repo the other day to look into how to do this but didn't really make any progress :smirk:

micheleg commented 6 years ago

@spacekookie I don't think anybody is working on this (I'm not).

spacekookie commented 6 years ago

@micheleg I tried to work on this a few weeks ago but never really made any progress because I'm not experienced enough with GNOME plugins. And documentation is kinda lacking :smirk:

If anyone could give me some mentoring I'd be happy to work on this again

mathe30 commented 6 years ago

why no one is working on this btw ? where is the monster in adding some fancy stuff to the foss ? I still don't understand why no one even working on this and all of linux devs just ignoring the fact that the most of the linux GUI sucks and its like thats just fine for them , why ? why no one even want to make this part better ? when I just mention macOS as a beautiful OS which have really interesting features and UX .. they say , we have the god tools , "emacs , vim and etc of console applications .. "

I just want someone and I hope you will explain to me , why !!? why there is about 3 closed issues about this and why you have closed it and just decided to ignore those requests

huge resources consumption ? its just for a dock bar , not gonna heat up the cpu even tho .. you can make a simple checkbox to enable it with a warning about the resources consumption or disable it

but why everyone ignoring the UI part in linux , I just wanna know .. why ! ?

mathe30 commented 6 years ago

@micheleg I hope you will reply with something makes sense because closing 3 issues for the same case and saying "I don't think anyone working on it ( I am not ) " doesn't make sense at all

momoe commented 6 years ago

I can agree with @micheleg perhaps image magic wouldn't be most elegant solution. I'm currently on a Deepin community distribution and it looks like they're using blyr or something to actively generate blurry background on their dock and context menus. I would refer you to their github and see if there's anything useful that can be learned to help progress this. https://github.com/linuxdeepin/dde-dock

P.S. I do believe they use image magick or something of the like to generate a static blurry background for pulling up the launcher as a more efficient blur effect across a whole screen.

micheleg commented 6 years ago

@mathe30

I hope you will reply with something makes sense because closing 3 issues for the same case and saying "I don't think anyone working on it ( I am not ) " >doesn't make sense at all

Sense or no sense to you, I just stated the truth!

  1. Which issues have I closed?
  2. The reason nobody is working on this is... nobody seems to want to, and It's probably not as trivial as you think. And even if trivial it requires people's time. You are not entitle of time and (free) work of anybody. If such feature is so important to you, you are welcome to contribute..
spacekookie commented 6 years ago

@micheleg actually, if you see my comment here: https://github.com/micheleg/dash-to-dock/issues/429#issuecomment-385709702 you'll see that I was actually very interested in working on it, but not being familiar with gnome shell and lacking docs, I needed/ wanted some mentoring. But nobody replied.

Also, I get that this is all done in free time. But as a FOSS developer you still have a responsibility to keep a project in a certain shape. Telling people they should develop the feature themselves isn't very friendly 😏

micheleg commented 6 years ago

@spacekookie yes, I have somehow ignored your messages, sorry for that (I am catching up with a lot of old messages and issues I haven't had time process). As I'm sure you know, most FOSS projects are mainly driven by personal motivation. And while the motivation can come from polite requests, it's rarely the result of someone attacking your or other people work.

I don't know if you are still interested in looking into this -- motivations come and go -- but if it's still the case and you want to discuss how to proceed I can try to provide some guidance.

spacekookie commented 6 years ago

@micheleg hey there. Yes, I'm still interested in working on this.

The last time I tried to hack something together I started by adding a new option in the settings ui but then failed to find the code that actually checks and sets the settings in use. I never figured out where I would do something such as call imagemagick to find wallpaper colours, etc...

Are you on #freenode or #gnome irc for chatting about this some more?

micheleg commented 6 years ago

Sorry for the late reply, again. Here's some quick ideas:

Before looking into settings, I would explore the basic bulding blocks we need.

The first thing is being able to retieve the colours from the current wallpaper I don't think imageMagick is the right tool here. Instead, we can ether:

Load the file (note that "filename" above contains file:// which we don't want:

GdkPixbuf = imports.gi.GdkPixbuf
pb = GdkPixbuf.Pixbuf.new_from_file("/usr/share/backgrounds/gnome/Stones.jpg").get_pixels()

I believe this is an array of rgba values. Do someting with this (average? dominant colour like we do in https://github.com/micheleg/dash-to-dock/blob/master/appIconIndicators.js#L951?)

This is not necessarly the right route, and it could be quite slow (but we can cache the value...). once we have built the desired colour it should not be too difficult to assign it to the dash background (although wiring the settings and updates might be tedious). Something worth playing with

Jont828 commented 6 years ago

Hi, thanks for the detailed write up! I'm also interested in trying to implement this. I noticed that when you use Blyr and go into the overview, the blurred background image goes through on the dock.

spacekookie commented 6 years ago

I no longer use GNOME so consider myself unsubscribe :grimacing: