Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

RSSOwl and Growl

2005-04-09
2012-08-29
  • Hi all,

    There's a thread on Growl Forum - http://forums.cocoaforge.com/viewtopic.php?t=1846 - where an user want to see this elegant notification tool integrated with RSSOwl.
    So I jumped on RSSOwl source code, and start a GrowlShop to integrate Growl in RSSOwl easily.

    Are there some other users interested by this feature integration? What would you like to be notified by RSSOwl?

    Cheers,

    Alx

    Growl Description - www.growl.info :
    Growl is a global notification system for Mac OS X. Any application can send a notification to Growl, which will display an attractive message on your screen. Growl currently works with a growing number of applications.

     
    • Thanks for working on this feature! Someone already opened a feature request some time ago and I never had the time to work on it:

      https://sourceforge.net/tracker/index.php?func=detail&aid=1153051&group_id=86683&atid=580505

      As soon as you are ready with some results, please let me look at it.

      Ben

       
    • Ok, it wasn't really a challenge to display information with Growl from RSSOwl (Java binding is really well done).

      But now I've got a problem: I'd like to find the function that higlight a category or a newsfeed at the end of the refresh process to notify with Growl at this moment that news update are available.
      Could someone help me to find this bit of code?

      Then all should be nice and working ;-)

      Do you see other notifications that you could display with Growl?

       
      • After loading a Favorite, RSSOwl is calling Favorite#updateReadStatus() which is calling the tray popup in case new, unread news have made it in.

        Was it that you are asking for?

        If you could tell me what's possible with Growl, I may find other actions that could be usefull to be displayed out of RSSOwl.

        Ben

         
        • move the bit of code from Channel to Favorite as you explained, that give an update detail of each rss feed.

          Nice view, but I fear some people might not want to view as much details, should be configurable.

          Do you know a way to get feed icon? So it could be displayed in Growl notification.

           
          • I assume you are talking about the "favicon.ico" supplied by a newsfeed? RSSOwl is not loading this icon from the feed. Also not every feed is supplying such an icon.

            Ben

             
    • Here's a screenshot of RSSOwl + Growl under Bubble behavior:

      http://flickr.com/photos/alx/8915665/

      There's a new bubble for each feed update. Another way would be to display only one bubble with the total number of updates in RSSOwl.

      I'll try to clean GrowlShop to made it easier to use in different part of RSSOwl.

      Got some question now that I've got CVS version of RSSOwl:
      - When to your commit changes from RSSOwl to rssowl_mac?
      - Is there someone in charge of rssowl_mac that could include these changes in RSSOwl?

       
      • Cool shot!

        For the CVS, I am not committing to Mac and Linux in CVS until a release is made. Otherwise I would have to synchronize each change with Mac and Linux. BUT, the changes in CVS for Windows are usable for Mac and Linux too. I am keeping the Sourcecode platform independant, you can use the Win source for Mac and Linux, it is the same.

        Ben

         
    • Ok, RSSOwl display a nice Growl notification now to tell me that updates are available with its count.

      To add it to your code:

      1- Get Growl Java binding here:
      http://growl.info/files/Growl-0.6-Bindings.tar.gz

      2- Import Apple Cocoa Java binding in your project (I'm working with Eclipse). Classpath: /System/Library/Java/

      3- Modify your build.xml file:
      Add /System/Library/Java/ to libs property value
      Add this task after all unjar tasks in jar_mac target:

      <copy todir="${classes}">
      <fileset dir="/System/Library/Java/" includes="*/.class"/>
      </copy>

      4- Move Growl.java inside net.sourceforge.rssowl.util.shop
      and rename it GrowlShop.java

      5- In rssowl.model.Channel.java, add this bit of code at the end of Channel constructor that is used to aggregate a Vector of RSSChannels:

      if(getUnreadNewsCount() &gt; 0){
          /** Notify Growl */
          String [] allMyNotes = { &quot;RSSOwl Notification&quot; };
          GrowlShop theGrowl = new GrowlShop( &quot;RSSOwl&quot;, allMyNotes, allMyNotes );
          theGrowl.register();
          try {
              theGrowl.notifyGrowlOf( &quot;RSSOwl Notification&quot;, &quot;RSSOwl Update&quot;, 
                      getUnreadNewsCount() + &quot; new articles.&quot;);
          } catch ( Exception e ) {
              System.err.println( e );
          }
          /** The news table shall display the feed XML url */
          addAvailableNewsItemInfo(&quot;TABLE_HEADER_FEED&quot;);
      }
      

      6- Compile, and that should be it ;-)

      Now, let's improve it with some TBD tasks:
      - make a clean fileset for apple cocoa classes to import
      - display a detail of channels updated
      - make GrowlShop more static (I like your PaintShop class)

      That's it, tell me what you think of that ;-)

       
      • So, Growl Notification is not a pure Java thing is'nt it? That is kind of bad, because I am always trying to keep the sourcecode as platform-independant as possible.

        Thanks for the description, I am considering this feature for the next major release RSSOwl 1.2

        Ben

         
    • Unfortunatly, no windows port are planned for Growl :/

      So I though that you could use rssowl_mac module to include this feature only on Mac platform (as in Ecto software - ecto.kung-foo.tv).

      Thanks for considering this feature for the next major release RSSOwl 1.2 :-)

      Alx

       
      • So, when RSSOwl is bundled into an application bundle for Mac, where do the contents of Growl have to be placed. Did you tried that out? You can easyily create the bundle with calling "ant release" with the supplied build.xml.

        Ben

         
        • Ok, I looked deeper in Growl, and it seems possible to bundle it with its installer (useful in case user doesn't have it installed on his system).

          I'll look further to deploy this bundle on Mac platform with build.xml.

          Keep in touch,

          Alx