Desktop Slush – A cool desktop enhancement

Ever find yourself glancing at your desktop looking for a shortcut for more than a few seconds ?

People will sometimes choose beautiful pictures that aren’t fit to be a wallpaper. The heart of the problem tends to be the lack of contrast between your icon/s and the wallpaper it’s sitting on. That’s why an Icon can lurk in some dark/bright corner of the screen and almost get swallowed by the beautiful wallpaper you chose to put there.

For once I had enough with that :-) I decided to write a small program that will find your icons and make sure they don’t blend in with your desktop, all this in an elegant way ofcourse as I’m a design/elegance freak.

I know I could have taken the icon-positions from the desktops Image-List, but that’s just too easy :-) I wanted to try out some image-processing, so here’s what I did :

  • Take a clear screen-shot of the desktop.
  • Calc the |difference| between this and the user’s wallpaper. (so logically the icons should stand out).
  • Remove all the noise, as in take only the big differences.
  • Run a Maximum-Filter, this will expand that area consumed by the icons.
  • Divide into a grid, then try to Flood-Fill each point in the grid to find the areas from the previous step, then bound these areas with nice rectangles.
  • Give these rectangles round-corners, a border, and make them semi-transparent.
  • Blend back with the Original Wallpaper, and there we go.

Use the navigation buttons at the lower-left corner of the slideshow

I used the Corona Library for loading/saving images.

And I decided to start using the GPL for source-code I release, so here we go.

Note: The program currently works with ‘Stretched Wallpapers‘ only, changes will be pleasantly accepted.

Download: Source, Binary.

2 thoughts on “Desktop Slush – A cool desktop enhancement

  1. Ohad, can you please tell me how you put the chart of visitors in your blog?

    Contact me at ce0trix [at] gmail.com

    Thanks.

    P.S.

    Very nice blog, and a very nice program as well…

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>