Menu

[Feature suggestion] Image Magick?

2004-01-24
2004-02-16
  • Marko Bozikovic

    Marko Bozikovic - 2004-01-24

    I know that users usually request features, but I have a feature idea...

    I could incorporate ImageMagick library (an excellent  image manipulation library - check it out on http://www.imagemagick.org\)

    It would allow not only support for a large number of image formats for backgrounds, but also a nice set of image manipulations. Example: fake transparency (i.e, using your wallpaper as background), decrease number of colors to 2 and add some contrast :-) Or, just blur your background image and add some noise...

    What do you think? Should I bother?

     
    • Strahimir Neshvat

      Maybe. In my opinion, it would be best used if you could provide some hooks to change parameters in-fly. So that you can noise the picture out if the Console gets out of focus, possibly even monitor the topmost program executing and make it possible to ie. darken and blur the image if the ssh is running etc. MAYBE even provide a sort of hook for external processes, used at least by another little proggie of your design, to change the params in scripts etc. Like cmd.exe's color, on big, bad steroids.

      Sounds feasible?

       
      • Marko Bozikovic

        Marko Bozikovic - 2004-02-02

        It would be difficult at best :)

        Support for monitoring stuff that happens in Win console is really bad... There's not much I can do here.

        If I add this, it will probably include simple effects (Console window comes to foreground, goes to background, etc) The problem is that I'd have to keep 'pre-rendered' images for each effect in order to keep performance up...

         
    • Rob Davenport

      Rob Davenport - 2004-02-03

      I think it sounds like a good idea (to use ImageMagick library).  Supporting more image formats would reduce the storage requirements (though that's not *that* big a deal with modern hard drives).  The changing of effects for foreground/background status sounds great.

      (What other events could be monitored?
      - Drag-and-drop? Paste?  You could specify a sound file to play ("plop" sound effect?) or some visual signal to indicate drop/paste successful/unsuccessful (add red filter to window to indicate data type on clipboard cannot be pasted, e.g.).
      - Move operations could use a motion-blurred version of the background image.
      - Resize operations could dim or brighten the window while resizing.
      - Different background for maximized windows. 
      - Define your own window message for "select background <n>" and programs that can be scripted to send user-defined window messages could be used as the user wants to change background in response to events of their choosing. (Keystrokes, being on a particular virtual desktop, etc.)

      You could also provide a "random background" feature that uses a random background from a given directory (or directories) when starting up or at intervals, or in response to user-define WM_ message.  

      OK, enough wild brainstorming... :)

      I'd say look at putting ImageMagick lib in - the support for multiple formats and other effects is worth it.

       
      • Marko Bozikovic

        Marko Bozikovic - 2004-02-04

        All your suggestions are nice ideas, but here's the problem: image manipulation is expensive operation (i.e. time consuming) There are two options:

        1. pre-render images for each effect. This would cause huge memory usage. All images are held in memory as bitmaps. Calculate how much memory a 1280x1024 true-color (that's 3 bytes per pixel) bitmap needs. Then multiply by number of effects you'd like to have :)

        2. apply effects on-the-fly. This is *slow*. We'll need much faster machines before using this solution :)

         
        • Rob Davenport

          Rob Davenport - 2004-02-12

          Sure they're expensive - that's why I said "wild brainstorming" :)   I didn't seriously expect you to implement them, at least until you get that 300GHz machine with 100GB RAM!  ;)

          But seriously now, do you think you'll use the ImageMagick library?  That sounded like a good idea, to provide support for more image formats at least.

           
          • Marko Bozikovic

            Marko Bozikovic - 2004-02-12

            I won't be using ImageMagic... It's a bit too big. Instead, I've decided to use FreeImage library. It's very nice, rather small, and I can patch in any image-manipulation routine I'd like.

            The new version of Console that uses FreeImage is already in the works. For now, it will be used only to support more image formats. I will not be adding any special effects at the moment... I'll try to fix multimonitor bug first.

             
            • Rob Davenport

              Rob Davenport - 2004-02-16

              That sounds good too - it doesn't matter to me which, the benefits are still there.  More image format support and ideally more potential for future features and more robust image handling.

               

Log in to post a comment.